Module 5. The face changes in shot 9. The coat is a different blue in shot 14. This is the thing that makes AI video look like AI video, and it is a file problem before it is a prompt problem.
You have forty shots back. Thirty-four are beautiful. Then:
Nothing is broken. Each generated correctly from the prompt it was given. The prompts drifted, one edit at a time, over an afternoon.
It is one file that the prompts are built from rather than typed into.
A character does not live in your head or in shot 1's prompt. It lives in bible/characters/elena.md, and every prompt that features her is assembled from it.
Then shot 40 and shot 1 cannot disagree, because neither was written by hand.
One folder, plain text, readable by you and by it:
bible/
characters/elena.md face, build, hair, wardrobe, the non-negotiables
characters/marcus.md
locations/apartment.md the room, its light, its era, its mess
look.md lens, grade, grain, aspect, the whole film's rules
refs/elena-01.png the approved reference frames themselves
Text, not screenshots of text. A file it can read is a file it can apply.
Specific, physical, and short enough that it survives being pasted into every prompt:
Elena. Late thirties. Dark brown hair, shoulder length, always slightly unkempt, never styled. Heavy navy wool coat, three buttons, collar up. Small vertical scar through the left eyebrow. Tired around the eyes in every shot, including the happy ones.
Every clause is a thing a model can execute. Compare "a beautiful mysterious woman," which it has to invent, differently, forty times.
Characters are obvious. The film's own rules are the ones that drift silently:
Locked in look.md | Because otherwise |
|---|---|
| 35mm anamorphic, shallow | shot 12 arrives on a wide lens |
| single practical source, warm, low | half the film is daylight |
| desaturated, crushed blacks, grain | the grade wanders per shot |
| 2.39:1 | you get three aspect ratios |
Nobody notices a consistent look. Everybody notices an inconsistent one.
Now the prompt for any shot is not written. It is built:
"For every shot inshots.json, assemble the image prompt from three pieces: the shot's own action line, plus the character file for anyone incast, pluslook.md. Write the assembled prompt back to apromptfield on the shot. Do not paraphrase the bible, use its words."
Do not paraphrase the bible, use its words. That clause is the module. A model that is allowed to rephrase her coat will rephrase her coat.
The client wants the coat grey.
"Change the coat in bible/characters/elena.md to heavy grey wool. Rebuild every prompt that features her, then list the shots that need regenerating."
One edit, forty correct prompts, and a list of exactly what has to be re-run. Not a search and replace across forty prompt strings, which is the version where you miss three.
A locked prompt narrows the drift. It does not close it. Two mechanisms actually hold a face:
Both are per-tool and both change. Ask: "read the current docs for my model and tell me exactly how it takes a character reference and whether it honours a fixed seed." File the answer in bible/how-this-tool-works.md, dated.
Any course that hands you a vendor's parameter is wrong by the time you watch it. The durable skill is making it go and check.
It cannot tell you her face drifted. It has no eyes. Anyone selling you automated per-frame consistency checking is selling you something you should test before you believe.
What it can do is everything around the looking:
cast but is missing the reference imageThis is the thing to run before you commit to a cut:
"Audit consistency: list every shot whose stored prompt does not match what the bible would generate today, every shot missing a seed or a reference, and every shot generated before elena.md was last edited. Sort by shot number. Do not regenerate anything."
End it with "do not regenerate anything." An audit that fixes things while it looks is not an audit, and you have lost the ability to see how bad it was.
Thirty-four shots are fine. You do not have a forty-shot problem, you have a six-shot problem.
"Regenerate only shots 9, 14, 22 and 31, from the current bible, keeping every existing take. File the new ones as the next version and leave v1 alone."
Six regenerations, nothing overwritten, and the good shots never at risk.
"Just rebuild everything, it is cleaner" is how you lose a shot you loved, because its seed was in the take you replaced.
Your shots from Module 4, and about twenty minutes.
shots.json and draft me a character file for everyone in cast, from how they aredescribed across all the prompts. Mark anywhere the descriptions already contradict each other."*
look.md from the prompts too, same way, and flag the disagreements."change."*
Step 2 is the one that pays for the module. Most people have never seen their own drift listed.
bible/ holding every character, location and the look, in words a model can executeYour film looks like one film, and the next one starts from this folder instead of from nothing.
Sound. Voice, music and the effects pass, built off the same shot file, and why the market puts this after motion and not before it.
Verified against Claude Code 2.1.220 · 2026-07-30.