← All posts

A trailer for Cadence, made by an agent for $6.13

Gjorge Karakabakov

Seven loose clip cards lying at angles on cream paper, thin lines gathering from each of them into a single upright film strip holding one frame and a play triangle

Cadence shipped with screenshots and a screen recording of the app running. Both show what the app does. Neither shows what it is for, and what it is for happens before you open it: the habit chart on the wall with a fortnight missing out of the middle, receipts fanned across the table, the gym bag by the door that has been there since Tuesday.

Filming that means a crew and a location, or a week of licensing stock and cutting it together. I had neither going spare, so I handed the brief to an agent and watched what it did with it.

What OpenMontage is

OpenMontage is a video production system where the model does the directing. The Python in it is tools and storage: call Seedance, call ElevenLabs, search Pexels, run FFmpeg, write a checkpoint. Everything that looks like a decision lives in Markdown and YAML that the agent reads before it acts. A pipeline manifest lists the stages. Each stage has a director skill telling the agent how to do that stage well and what to check before moving on.

The cinematic pipeline runs research, proposal, script, scene plan, assets, edit, compose, publish. Four of those stages stop and wait for a human. The agent writes a JSON artifact at each one, validates it against a schema, and cannot mark a gated stage complete without my approval recorded on it.

That sounds like ceremony until you watch it stop something. My brief said realistic footage of a busy life. The proposal stage recorded motion_required: true, and the guide that governs it says a still-image fallback is forbidden for that promise. When the agent later hit a wall, it had already written down what it was not allowed to turn into without asking me first.

The preflight I did not enjoy

First thing it did was query its own tool registry and report back:

Video Generation:  0/26 configured
Image Generation:  0/16 configured
Text-to-Speech:    0/10 configured
Music Generation:  0/5  configured
Composition:       3/3  (FFmpeg, Remotion, HyperFrames)

My .env was still a byte-for-byte copy of .env.example. Rather than improvise around that, it stopped and said the thing I needed to hear: with no footage source, this brief cannot be made without turning into a slideshow, and it would not do that without asking.

Four keys fixed it. Pexels and Pixabay are free. ElevenLabs charges for what you use. Only fal.ai, for the generated shots, has real money attached.

Thirty

The idea it came back with uses the product’s own line. Cadence says “thirty ways to keep track, all in one app.” The trailer counts them: thirty short pieces of real life, one per module, cut faster and faster, with a small monospaced counter ticking 01 to 30 in the corner. At nineteen and a half seconds the montage stops and the counter rolls back to 1.

The counter does the whole argument without a word of copy, and it only works for a product whose tagline happens to be a number. That is the bit I would not have got from a template.

What it cost

Line
fal.ai, Seedance 2.0 generations$6.10
ElevenLabs, six lines of narration$0.03
Pexels and Pixabay, thirty-two clips$0.00
Pixabay music$0.00
Remotion render, colour grade, mix$0.00
Total$6.13

Generated video is the only thing here with a meter running, at about thirty cents a second, so the agent held it to three shots and spent the rest of the film on footage of actual people. Everything after the last download runs on my own machine.

Where the machine beat me

It measured the clips rather than eyeballing them. Thirty-two stock clips, each needing a cut as short as a third of a second. Picking a moment out of each one by hand is an afternoon. It decoded every clip at eight frames a second, computed the difference between consecutive frames, and took the window with the most movement in it, skipping the first and last half second. At that cut length a still frame reads as a mistake, and it never picked one.

It scored the music by listening to the numbers. Three candidate tracks came back from Pixabay. Nobody was around to play them, so it decoded each one and measured: tempo, energy across ten segments, and how much the sub-bass modulated. The winner sat at 120 BPM with a sub-band modulation of 1.96, meaning a real kick rather than a sustained pad, and its energy climbed across the first seven segments. The one with the most promising title was flat all the way through and lost.

It reviewed its own footage. Thirty-two downloads, one frame pulled from each, tiled into a contact sheet, and read back. Six were wrong: a hallway with no gym bag in it, a kitchen shelf with no sticky notes, a cyclist in a forest where I wanted a repair kit on a hall floor. It re-queried those six and looked again.

The notes are the job

The parts I expected to do myself, the agent did better: choosing frames, grading two halves of a film against each other, writing a Remotion composition from scratch instead of assembling stock scene types. It hand-wrote a counter component, a grain plate, an end card and a two-zone colour grade. The compose tool scans that project for imports from the shipped creative components and fails the render if it finds one, so none of it is borrowed.

What it could not do was watch the film as a person who has never seen it. That is the seat I kept: run it, say where it drags, say what the cut is promising and not paying off, send it back. The $6.13 bought me a film. The watching is what made it good.

The trailer is on the Cadence home page. Thirty seconds, with sound. Not a screenshot in it.