Ingest the raw footage
Transcribe and find the cuts
Clean the voice, lay the music
Assemble the formats
Review before publish
Context & problem
A health and e-learning company records its courses and content the way most experts do: hit record, talk for an hour, stop. What comes out is honest and useful, and completely unpublishable — full of restarts, dead air, and the ten seconds before the point actually lands.
Turning that into content means an editor sits down with the raw file and works through it by hand, then does it again for the mid-length version, then again for the shorts. Each recording costs editing rounds, so the number of recordings that ever get published is whatever the editor can get through this week. The bottleneck is not the expertise, it is the assembly.
So I built the assembly as a pipeline. Raw footage goes in, finished formats come out, and the human hours go into reviewing what publishes instead of scrubbing a timeline.
How it works
The diagram above shows the flow; here is what each step does. Deterministic stays deterministic, and an agent only shows up where judgement, language, or synthesis is actually needed.
- 01Deterministic
Ingest the raw footage
The unedited recording is picked up, normalized, and its audio extracted. Same intake every time, so the rest of the pipeline can assume a known shape rather than guessing at whatever came off the camera.
- 02Agent
Transcribe and find the cuts
The recording is transcribed, then a model reads the transcript and decides what stays: which takes land, where the point is made, what is a restart or a tangent. Deciding what is worth keeping is judgement in language, which is exactly where a model belongs.
- 03Deterministic
Clean the voice, lay the music
The selected cuts are assembled, the voice track is cleaned and levelled, and music is laid underneath. This is signal processing against fixed settings, so it stays deterministic — the same recording always sounds the same way out.
- 04Agent
Assemble the formats
The same source becomes a long-form edit, a mid-form cut, short-form clips, and a trailer. The lengths and packaging are rules; picking which moment carries a short or opens a trailer is judgement, so the two are split.
- 05Deterministic
Review before publish
Every finished format lands in a review set. Nothing reaches a channel until a person has watched it and released it.
Checkpoints & logging
The gate sits before publishing, deliberately. Content goes out under the company's name and speaks to people about their health, so the pipeline produces and a person releases. Nothing is published without human review.
Every output is traceable back to its source: which recording, which transcript segments, which cut selection produced it. When a clip lands wrong, you can see the moment it came from instead of re-watching the raw hour. When a step fails — a bad audio track, a transcript that comes back empty — the run logs it and holds that recording back rather than pushing a broken cut into the review set.
Stack — and why
Transcription plus a language model does the cut selection, because judging which take lands and where the point is made is a reading problem, not a waveform problem. Everything downstream of that decision — cutting, audio cleanup, music, rendering the formats — is an ffmpeg-based deterministic pipeline, so a recording processed twice comes out identical instead of subtly different. The orchestration is Python and FastAPI because the work is long-running and file-heavy, which wants a real job runner rather than a workflow tool waiting on an hour of video.
Results
One raw recording now produces several finished formats — long, mid, short, and a trailer — without a manual editing round in between.
The honest framing: the win is not a magic quality jump over a good human editor, it is that output volume stopped being capped by editor hours. The company can publish what it records, and the review step keeps a person in charge of what actually goes out.
Sitting on raw footage you never publish?
If you record more than you can edit, this is the pipeline that closes the gap. The audit maps where it would earn its keep in your setup, in 30 minutes.