Repository navigation
proofcut is an AI video editor that proves its cuts. It is an MCP server
over ffmpeg, whisper, MLT and OpenTimelineIO. An agent, the proofcut
command line, or the browser window takes your recordings and returns a
finished, mastered film: cut by transcript, with b-roll hung off the words,
cards, captions, and a score under the voice. It renders on your own machine,
then transcribes the render and checks that it says what the edit says.
It is source-available under PolyForm Shield 1.0.0: any use is allowed except
building a product that competes with it.
Since v0.44.0: any model in the panel, and video inside graphics.
- The agent panel runs on any OpenRouter model. Type a model id with a
/in it, likeopenai/gpt-5.5, and the panel drives the edit through
that model with yourOPENROUTER_API_KEY. It keeps multi-turn
conversations, a Stop button, pictures for models that can see, and a
budget cap. Claude stays the default. No OpenRouter model has been scored
on a full edit yet, so treat this as a way to try them, not a
recommendation. - A graphic can show your footage.
graphic_newandgraphic_edittake
spans of project clips and cut them into the graphic's folder, so a page's
<video>can be a picture-in-picture of your own recording. proofcut
serves each frame itself, so every captured frame is the exact frame
ffmpeg decodes at that time, and nothing drifts or plays on the wall
clock. - That video keeps playing through the hold. A graphic placed longer
than its animation used to freeze its video at the hold. Now the video
plays on through the hold and the outro picks up where it left off, so
you place the graphic over the span you want and never size it by hand. - A page can make a frame wait until it is ready. Hand a promise to
window.proofcutWaitFor(promise, label)and each frame waits for it. A
page that loads data or does slow setup is no longer captured blank for
its first frames. A font that fails partway through is caught and the
capture refused, instead of being drawn in a fallback. - Mac renders stop crashing. melt crashed now and then on Apple Silicon
and Intel Macs, from a locale race inside MLT. proofcut now renders in a
way that never triggers it: 0 crashes in 60 soak runs, against 9 in 69
before. A fix for the race is merged upstream in MLT. - Whisper falls back to the CPU when the GPU runs out of memory,
instead of failing the transcription. proofcut websays when its port is taken and exits cleanly instead
of tracing, on Windows as well.