Storyboarding for AI video when the model can't hold a storyboard
This update was drafted on a schedule by the AI I build with, from real project notes — part of the vibecoding experiment this blog documents.
So here's the thing I keep running into. A normal storyboard assumes the camera is pointing at a world that exists. Frame one, frame two, frame three — same room, same product, same person, just different angles. You draw it, and then production goes and shoots the thing you drew.
An AI video model doesn't work like that. I've written about why continuity is the wall and about the patches you can bolt on to fake it. This is the step before either of those. If you know the model can't hold a storyboard, how do you plan one anyway?
Short answer: you stop storyboarding a world and start storyboarding the cuts. Every shot is its own independent draw, so the plan has to decide up front where matching matters and where it doesn't — and push as much of the spot as possible into the "doesn't" pile.
Why a normal storyboard breaks with AI video
A traditional board quietly promises that everything persists between panels. The model breaks that promise every single generation. It isn't showing you a new angle of your scene. It's painting a new scene that resembles the description. So a board full of "same can, now from the side" panels is a board full of continuity problems you've scheduled for yourself.
That's the mindset shift. The storyboard for an AI spot is less "what does the camera see" and more "what does each shot have to share with its neighbors, and how little can I get away with."
Step 1: treat every cut as a feature, not a join
The cheapest continuity is none. If two shots are meant to feel different — a hard cut to a new location, a new color world, a graphic card, a totally different scale — the viewer doesn't expect them to match, so the model's drift costs you nothing.
So when I board something for Cadence, the first pass is basically: how many of these cuts can be disjoint on purpose? Hyper-kinetic edits help. Cuts on a flash frame help. Moving from a product close-up to an abstract texture to a type card helps. That's also, honestly, why the four demo reels on the project page are single 8-second generations. One shot has no join to break.
The rule I use: a cut should either be clearly continuous or clearly not. The middle ground — "kind of the same room, kind of the same light" — is where audiences notice the seams.
Step 2: pick the two or three shots that must match
Then comes the honest part. Almost every real spot has a handful of moments where continuity isn't optional. The product has to be the product. The hero shot and the end card have to show the same label. If there's a person, their face can't change.
I circle those shots on the board. Two or three, not ten. That's roughly the ceiling I found when I was working through the continuity toolkit — past that, the drift wins. If the circled list is longer, the concept is too ambitious for the model today and I rework the concept rather than hoping the generations cooperate.
Those circled shots get the expensive treatment: a reference image, last-frame conditioning at the join, sometimes video-to-video if the camera move has to survive. Everything else gets generated loose.
Step 3: anchor identity to something the model doesn't draw
Here's a trick that saves a lot of pain. If the thing that has to stay consistent is a logo, a label, or a price, don't ask the model to render it. Board it as an overlay — composited in the edit on top of a shot where the model only has to get the shape and the light right.
Text is exactly the kind of fine detail that re-hallucinates between generations. A real logo laid on in post is identical in every shot, by definition. So on the board I mark which elements are "generated" and which are "applied," and the applied list is where anything with letters goes.
Step 4: board the motion, not just the frames
A still storyboard hides the thing that actually breaks: movement across a cut. A hand reaching at the end of shot A and still reaching at the start of shot B needs two independent generations to agree about a motion neither one knows about.
So I write the motion into each panel — direction, speed, where the subject exits frame. Then I use that to avoid match-on-action cuts wherever I can, and cut on stillness instead. A shot that ends on a held frame joins cleanly to almost anything. A shot that ends mid-gesture is a promise the next generation won't keep.
Same goes for screen direction. If the board has someone on the left looking right, I either keep that constraint to one circled shot or flip the plan so it doesn't matter.
Step 5: budget re-rolls per shot, not per spot
The last thing on the board is a number of attempts per shot — a budget, not a metric. Loose shots get a small allowance: if none of a few tries is right, the shot changes, not the prompt. Circled shots get more, because they're carrying the continuity.
That's what keeps a multi-shot AI spot from turning into an endless re-roll loop. Without a per-shot budget, the one shot that won't match eats the whole afternoon. With one, you hit the limit, and you redesign the shot around the drift instead of fighting it.
What the board looks like when you're done
When it's done, it's a strange-looking document. Most panels are marked "loose." A couple are circled with the anchors they'll use. Text and logos are flagged as applied in post. Every cut is labeled either continuous or disjoint, with nothing in between. And each shot has a budget.
It's less a picture of the ad and more a map of where the model is allowed to be itself. Which, I think, is the right way to storyboard for any tool with a known weakness — you don't pretend the weakness away, you route the plan around it.
I want to be straight about where this comes from. The studio's live, the reels are demos, and nobody's hired me for a paid multi-shot spot yet. So this is the method I've landed on from the build, not a delivery. The day a model can hold a persistent scene, most of this becomes unnecessary and boards go back to being boards. Until then, plan the cuts, not the world.
This one's auto-drafted from my notes on a schedule. If a number isn't in the notes, it doesn't show up here — I'd rather leave a blank than make something up.