- The full pipelines this page comes from
- The Lab — members' canvas rooms
- Studio Canvas — pre / prod / post boards
ONCE一回
1:1 · two hours
AI Video line · stop 09 of 14 · 22 min · members
Translating a storyboard into prompts without losing continuity between frames.
Free with an account
Membership is free: an account opens all 86 script pages. The Lab, Studio Canvas and the paid guides need the $99 pass, paid once. Already signed in on this browser? The page opens by itself.
The difference
So a conventional shot list, handed over one line at a time, produces a sequence with no continuity.
A shot list for a crew works because everyone shares context: the same location, the same actors, the same lighting setup carried between setups. A single line of description is enough.
A generator has none of that. Each shot is produced from nothing, so anything not restated is regenerated from scratch — different jacket, different room, different light.
The list therefore has to carry the shared context explicitly, in a form that cannot vary between entries. That is the whole adaptation.
Structure
Write the shared context once and reference it, never retype it.
Above the list, two blocks:
Sequence constants — the treatment, the optics, the grain, the palette, the character description, the global exclusions. True of every shot.
Scene constants — the location, the light, the time of day. True of a group of shots.
Then the table holds only what differs per shot: framing, action, camera move. Each row's full prompt is assembled from the constants plus its own cells.
The discipline is that constants are referenced rather than copied into rows. A retyped constant is a constant that will drift.
The columns
Anything else is either a constant or a second shot.
id | scene | framing | action | camera
01 | S1 | wide | still | static
02 | S1 | medium | turns head | slow push
03 | S1 | close | looks down | staticOne action per row, always. A row containing two actions is two shots and should be split — the generator cannot do both and will do neither well.
Keep the vocabulary constrained. If framing is 'wide' in one row it is not 'establishing' in another; consistent terms mean the assembled prompts are consistent.
Ordering
Not shot one — the shot that best represents the sequence.
Identify the row that carries the most of the look, usually a medium shot in the main scene, and produce it to a finished standard before anything else.
That frame then attaches as a style reference to every other generation, alongside the shared text blocks. Two independent forces hold the sequence together: identical language and a common visual anchor.
Producing in script order instead lets the look evolve as you go, and the first and last shots end up belonging to different pieces.
Coverage
A list containing three impossible shots is a list that will not finish.
Before committing, check each row against what the tools reliably do. Rotations, hand interactions, readable text and multiple interacting figures all belong in a different column of the plan.
Mark those rows early and decide how they will actually be made — composited, photographed, or redesigned. Discovering them during production is what turns a two-day job into a week.
A generatable list plus three shots handled another way is a working plan. An aspirational list is a source of surprises.
The output
If it is structured properly, generating the sequence is a loop over it.
Once every row assembles into a complete prompt from constants plus cells, running the sequence is mechanical: iterate the rows, generate, save with the row id as the filename.
Changes then land in exactly one place. A note about the lighting is a change to a scene constant, and every affected shot regenerates with it. A note about one framing is a single cell.
That property — a change landing once rather than in twenty prompts — is the entire reason for building the list this way, and it arrives during revisions rather than during the first pass.
1:1 · two hours