Skip to content
+ JB/06VFX ⁄ GENERATIVEEST. 2025MUSIC VIDEO ⁄ 01
+ 01 ⁄ framebeat

Authoring tools for generative video that hold together past five seconds.

01 ⁄ Thesis

The coherence problem.

Generative models make gorgeous four-second clips. They do not make videos. Ask for a three-minute piece and you get a bag of beautiful, unrelated shots — the character drifts, the wardrobe changes, the room repaints itself, and nothing lands on the beat.

My read is that this isn't a model problem, it's a tooling problem. Continuity has always been something an editor holds — in a shot list, a lookbook, a timeline. So I'm building the thing that holds it. It's called framebeat: an authoring app where a human keeps identity, look, and timing pinned. A single authored bible — one recurring subject, a style, a world, a palette — rides every scene's prompt, so the world stops repainting itself between shots, and the model only fills the gaps it's good at.

Under it, local ComfyUI does the generation — Z-Image for stills, LTX for motion — orchestrated by a Python daemon, with an agent that writes the bible and every prompt; every operation is also an MCP tool, so the agent drives the app the way I do. It's all pointed at one problem worth solving end to end: music videos. A finished, immovable track is the strictest test of coherence there is, and the shortest path to something an artist can release.

framebeat — The agent drafts the visual bible from your track
01 · BrainstormThe agent drafts the visual bible from your track
framebeat — A still per scene, laid along the beat grid
02 · ImagesA still per scene, laid along the beat grid
framebeat — Candidates per scene — retake, reprompt, select
02 · ImagesCandidates per scene — retake, reprompt, select
framebeat — Selected stills animate — one motion prompt per clip
03 · VideoSelected stills animate — one motion prompt per clip
framebeat — Beat-reactive effects mapped from the mix
04 · MojoBeat-reactive effects mapped from the mix
framebeat — Kick, snare, hats — each band drives its own FX
04 · MojoKick, snare, hats — each band drives its own FX
framebeat — Lyrics aligned to the audio and burned in
05 · SubtitlesLyrics aligned to the audio and burned in
framebeat — Caption styling — font, fill, position
05 · SubtitlesCaption styling — font, fill, position
fig. 00 — featured cutShe says she's floatingTNMG
02 ⁄ Pipeline

From a track to a cut.

01
Plan the timeline

The song's tempo is the source of truth. BPM, bars, and a scatter setting compile to a beat-synced scene list, and the planner locks every cut point to the musical grid so the edit doesn't drift over three minutes.

Python · BPM → bars
grid-locked cuts
02
Author the bible

An agent writes the visual bible — one recurring subject, a photography style, a world, a palette — then a prompt for every scene. A compact anchor drawn from the bible rides every prompt, so the look carries from shot one to shot ninety.

local Claude agent
bible + anchor
03
Render the stills

One image per scene on local ComfyUI. The still gets judged before any video is spent on it — long jobs stream live per-node progress, and any render can be paused, resumed, or cancelled mid-flight.

ComfyUI · Z-Image
SSE progress
04
Review and iterate

The reason the tool exists. Per scene: flip through takes, retake on a new seed, reprompt to have the agent rewrite the shot, and select the one you keep — fast and visual, without touching its neighbours.

takes · retake
reprompt · select
05
Animate and merge

Approved stills animate with LTX. Preview an animatic first, then merge frame-accurately against the master audio — trimmed so picture and song end together. Output is a deliverable, not a folder of MP4s.

LTX · PyAV
preview · merge
06
Post and caption

Beat-reactive effects mapped from the mix, vintage film-stock looks, and lyric subtitles aligned and burned in. Every pass writes a new version and never clobbers the last, so nothing you liked is lost.

beat FX · film stock
lyric burn-in
fig. 01 — selected cutBarriosTNMG
03 ⁄ Integrations

Bring your own models.

framebeat doesn't ship a model — it's the authoring surface around whichever one you trust. Reach for a hosted service when you want speed, or run the entire pipeline on your own machine. The timeline, the visual bible, and the retake-and-select loop stay identical underneath.

I 1Language & agentsThe agent that writes the visual bible and every scene prompt is a provider you choose — set it per project.
ClaudeClaude
ChatGPT
Google GeminiGemini
Mistral AIMistral
MetaLlama
Hugging FaceHugging Face
OllamaOllamalocal
I 2Video & image generationPoint a scene at a hosted renderer or at your own GPU — the beat-synced timeline and the review loop never change.
RwRunway
LuLuma
PkPika
KlKling
ReplicateReplicate
ComfyUIlocal

Local-first. Run it fully offline — ComfyUI (LTX · Z-Image · SVD) on your GPU for video, and Ollama or any llama.cpp model for the agent. No keys, no cloud, nothing leaves the machine.

04 ⁄ Coherence

What keeps it together.

C 1
Hold the look in a bible, not a prompt.
One authored bible — subject, style, world, palette — and its anchor rides every scene's prompt. The words stay fixed, so the world stops repainting itself between shots.
C 2
Cut to the music, always.
Durations snap to bars and the beat grid, and the planner locks cut points so rounding never drifts. Half of what reads as "coherent" is really just landing on the beat.
C 3
Make the retake cheap and local.
Every scene keeps its takes. Reroll one shot on a new seed, or have the agent reprompt it, without touching its neighbours — cheap revision is what makes taste possible at ninety shots.
C 4
Approve stills before you spend video.
Images render in minutes and get judged first; only the shots you selected get animated. The slow, expensive step only ever runs on frames that already work.
C 5
Keep the human on the select.
The model proposes takes; you choose the one that stays. Authoring is the selecting, not the generating — automate that and generative video stops feeling authored.
C 6
Treat the daemon as the instrument.
One local process owns the state — jobs you can pause, resume, and cancel, progress you watch node by node. Creative tools only feel good when the slow parts are honest about what they are doing.
fig. 03 — selected cutBlurTNMG
05 ⁄ Focus

Right now: music videos.

A music video is the ideal constraint. The audio is finished and immovable, the length is known, the audience is unforgiving about drift — and the budget gap between what an independent artist can pay and what a shoot costs is enormous.

So the tool is being built against real tracks, end to end: drop the master, get a beat-locked scene list, let the agent author the bible, render, review, deliver. The goal isn't a novelty clip — it's a release-grade video an artist owns.

It sits directly on top of two things I already do: twenty years of building interfaces that behave, and years of mixing and mastering records. Same instinct in both — listen closely, remove what shouldn't be there.

Target length2–4 min
Timelinebeat-synced, per bar
Per-scene stillsjudged before video
Coherence unitbible + anchor
Generationlocal ComfyUI · one GPU
ModelsZ-Image · LTX · Gemma
OrchestrationPython daemon · SSE
Agent surfaceMCP tools

Let’s build something new.