WhatBroke

Video agent use cases

Can an AI agent assemble an edit, not just generate clips?

Partly Automatable, with a human reviewing the result. Last checked 2026-10-14

Partly. An agent can build a competent assembly edit — correct order, trimmed to the narration, transitions, music bed — because that is a planning task. It cannot make the judgement calls that separate an assembly from a finished edit: rhythm, when to hold, when to cut early.

What you are actually trying to do

You have assets — generated shots, stock, screen recordings, a voiceover — and you want them cut together in the right order and the right lengths without opening an NLE.

The practical goal is to skip the tedious 80% of an edit and arrive at a timeline a human can refine, rather than to replace the editor.

What works today

Assembly by edit decision list works well. The agent emits a JSON timeline — source, in-point, out-point, track, transition — and a deterministic renderer builds it. Repeatable, inspectable, diffable.

Cutting picture to a measured voiceover works well, and is the thing that makes automated edits watchable.

Transitions, lower thirds, music beds and ducking are all mechanical and safe to automate.

Exporting a real NLE project — an EDL, or an XML a Resolve or Premiere timeline can open — is the most useful output, because it hands a human an editable starting point rather than a flat file.

Rhythm is not automated. Models cut on content boundaries, not on feel, and the result reads mechanically even when every cut is technically defensible.

Where it breaks

The agent improvises shell commands and produces an unreproducible render, or worse, overwrites a source. Have it emit the EDL only; let code own ffmpeg.

Source mismatch breaks concatenation. Different resolutions, frame rates or pixel formats between clips produce a hard failure or a silent corruption — normalise everything first.

Timeline drift. Clips coming back shorter than requested push everything after them out of sync: the clip is shorter than I asked for.

Shots do not match visually even when they cut correctly: colour and exposure jump between AI clips.

A clean exit code is not a good render. Probe the output; see the pipeline produced a black or 0-byte file.

How to wire it up

  1. Define an EDL schema and make it the contract. The agent only ever writes this; nothing else.

    {"timeline": [
      {"src":"shots/03.mp4","in":0.0,"out":4.2,"track":"v","at":12.8},
      {"src":"vo/line04.wav","in":0.0,"out":5.1,"track":"a","at":12.8}
    ]}
  2. Validate the EDL before rendering: every source exists, no out-point beyond the real duration, no gap or overlap on the video track you did not intend.

  3. Normalise every source to one spec — resolution, fps, pixel format, sample rate — before assembly. Most concat failures die here.

  4. Render from the EDL deterministically, so the same JSON always produces the same file.

  5. Also emit an EDL or FCPXML so a human can open the same cut in Resolve or Premiere and fix the rhythm without rebuilding it.

  6. QC the render, then stop. Deliver a draft for review rather than a published video.

What to use

Related questions

Can an agent drive Premiere or Resolve directly?

Resolve has a Python API and both read exchange formats, so yes in principle. In practice, generating a project file an editor opens is more robust than scripting a GUI application.

How close to finished is the output?

Assembly quality — right shots, right order, roughly right lengths. Expect a human pass for pacing. That pass is usually minutes instead of hours, which is the actual win.

Why an EDL instead of just rendering?

Because an EDL is inspectable, diffable and reproducible. When an edit comes out wrong you can see which decision was wrong instead of re-running a black box.

Other video agent jobs

What Broke This Week

One email, most Thursdays. New symptoms, tool updates that quietly break things, and one fix worth stealing. Unsubscribe in one click.