references/script_conversion.md by
python tools/make_prompts.py.)
The source
What the series config absorbs first
Before any shots, the character introductions leave the script entirely.FILBERT (9), wiry, lost in his own imaginary world. Dressed as a Knight. becomes a series
config entry, and note what survives the translation and what doesn’t:
voice: she is heard and never seen, so she needs no
sheet and never occupies a reference slot.
Two locations, both at night:
The breakdown
The first paragraph reads as one continuous move, so it’s one shot: the push in is the shot, and cutting mid-push would throw away the thing the writer asked for. The kitchen scene is four shots, and the reasoning for each split is what matters:Why the cuts fall there
sh020 is its own shot because the screenplay gives the ball its own sentence before
revealing whose hand it is. That reveal only works if the ball is alone in frame first. It’s
also the cheapest shot in the scene: 2.33s, one prop, no characters.
sh030 cuts rather than pulling out from sh020, because the subject genuinely changes:
ball to boy. A pull-out would work too, but then the ball snatch and the reveal share a shot
and the joke lands softer.
sh040 cuts because a new person enters and speaks. Becky gets a wide, not a medium: the
width is the joke, since the point is how much room there is between her and what Filbert
thinks is happening.
sh050 cuts back to Filbert even though Tracy is the one talking. Tracy is (V.O.), a
phone voice from another house. She is never drawn and costs no reference slot. Cutting to
Filbert’s face under the line is what makes it funny; cutting to Becky would just be
watching someone listen.
Nothing became a camera move that should have been a cut, and vice versa. The push-in in
sh010 stays a move because the framing changes but the subject doesn’t. The ball-to-boy
transition stays a cut because the subject does.
Targets and keyframes
The script names notarget:. Every shot here works on the default (H3 Ref2VA, with
Filbert’s and Becky’s sheets as reference pictures), and leaving it out means the episode
can be moved to another model from the editor without touching the script.
first: generate under # sq02 matters only on a target that reads keyframes (H3 FL2VA,
LTX-2, Wan, and the hosted models that take a first frame): each shot opens on a still drawn from its own description (the default anyway).
None of these shots says continuous: first, because every cut in this kitchen changes the
subject or the size: sh030 must not open on the previous shot’s close-up of a counter.
Continuity (continuous: first, or continuous: latent on H3 Ref2VA) is for a shot that
picks up the previous one’s picture; this scene has none.
sh010 is a good candidate for dur: model on LTX if you don’t care exactly how long the
push-in runs; the dialogue shots keep their dur:, because the lines need their room.
What got dropped, deliberately
CUT TO: disappears: every ## is already a cut.
FADE IN: / FADE OUT. disappear entirely. A fade is an edit decision. If it were in
the prompt, the video model would render the fade into the clip and you could never change
your mind in the timeline. Generate clean handles; dissolve at conform.
The parenthetical (into phone) survives, but inline: BECKY (into phone):. Spec format puts
it on its own line; this format doesn’t.
WE OPEN on and We push in closer move from the action prose into the camera: line,
where they belong. Anything phrased as a camera instruction in the source should end up
there, not in the action.
Shot IDs
sh010, sh020, sh030: tens, so sh035 can be inserted later without renumbering anything.
This matters more than it looks: seeds are derived from episode, sequence and shot ID, so
renumbering a shot changes its seed and invalidates every render of it.