{
  "id": 4737312,
  "title": "Building FrameMill: Turning Hours of Gameplay Into an Editable First Cut",
  "url": "https://urgent.news/2026/08/31/building-framemill-turning-hours-of-gameplay-into-an-editable-first",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-31T23:07:51.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/prof2k/building-framemill-turning-hours-of-gameplay-into-an-editable-first-cut-4gb2"
  },
  "original_language": "en",
  "account": "FrameMill is an AI-powered tool designed to convert lengthy game streams into editable video projects. The process begins with the detection of gameplay activities and timestamps using a deterministic Go processor. This information is then passed to Google ADK agents, which employ Gemini to map the game and plan an edit. The Editor agent constructs a validated Timeline with provenance, which is then rendered as a preview by FrameMill. The creator can modify the Timeline and initiate a new render if needed. The backend is built with Go, utilizing the local server, processing core, and agent runtime, while the frontend is constructed using Vue, TypeScript, Vite, Tailwind CSS, and Pinia. FrameMill operates on the MediaMTX, Cloud Storage, Eventarc, Cloud Run, and Firestore architecture. It processes footage by performing sparse checks and refining denser segments of interest, utilizing persistent decoder contexts to avoid repeatedly opening the same media. The Timeline is the canonical result, not the generated video, ensuring a high degree of editability and trust in the AI-driven editing process.",
  "summary": "Written for the Gemini All Agentic AI Hackathon. A game stream can last four hours. The moments worth turning into a video might last only a few minutes. Finding those moments usually means rewatching the recording, marking timestamps, cutting clips, and rebuilding the story manually. Existing AI clipping tools can reduce that work, but they often return disconnected clips or a finished video…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}