Back to Learn

AI Film Camp · How the app thinks

Narrative to sequences to prompts

A story is not a shot list, and a prompt is not a scene. This is the layer we built in between, and why each piece is there.

Two translations, not one

Most advice for AI filmmaking lives at one of two ends. Screenwriting guides tell you how to write a script a model can picture. Prompt guides give you camera vocabulary. Almost nothing describes the step where a page of prose becomes a list of things a video model can actually generate.

We treat that as two separate translations. The first turns narrative into sequences: what happens, in what order, for how long, drawn from which lines of the source. The second turns each sequence into a prompt for a specific model. The AI Film Camp app makes these two different model calls with different instructions, because asking one call to invent story structure and obey prompt format at the same time produces worse results at both. A 2026 paper from Alibaba on decomposed screenwriting reached the same conclusion for scripts, with professional screenwriters as judges.

A sequence is one generation

The unit of the app is not the scene and not the shot. It is the sequence: one video generation, between 4 and 30 seconds for Seedance 2.5. A scene from a story is usually too long for one generation. A shot is too small to be the unit of planning, because current models can carry several shots inside one generation when the prompt stages them.

So shots live inside the prompt as prose, and the sequence carries everything the prompt writer needs: a brief, a duration, the source lines it adapts, the facts it must keep, the additions someone proposed, the exact dialogue assigned to it, and a starting and ending state so its neighbors line up.

The pipeline, with its review gates

Each stage is proposed by a local model and approved by you. Nothing moves to the next stage on the model's word alone.

  1. 1. Story

    Import or paste prose, an outline, a treatment, or screenplay text. The original is locked. A working copy is split into sections you can cite by line.

    Gate: You edit the working copy. Every save keeps a revision.

  2. 2. Questions

    If an essential is missing, such as the ending or the runtime, the model asks up to three questions instead of guessing.

    Gate: You answer, or tell it to propose a choice and mark it for review.

  3. 3. Outline

    For a film that needs more than 25 generations, the model proposes story groups. Each group names the source sections it covers.

    Gate: You approve the outline before any group is expanded.

  4. 4. Subject bible

    The model reads the whole story and returns the cast, places, props, and looks. Each one gets a description, a visual anchor, and exact source evidence.

    Gate: You approve the bible. Reused subjects are updated in place.

  5. 5. Sequences

    Up to 25 proposals per batch. Each is one generation of 4 to 30 seconds, linked to exact lines, with source facts, proposed additions, and assigned dialogue.

    Gate: You review coverage, edit, split, merge, or exclude with a reason, then approve.

  6. 6. Prompts

    One model call per sequence writes a Seedance prompt from the approved brief, the anchors, the excerpts, neighboring continuity, and subject conditions.

    Gate: You accept or edit. Edited text passes the same checks as generated text.

A short film that fits in 25 generations skips the outline and goes straight to sequence proposals. The other gates stay.

The original text never changes

When you import a story, the app keeps the original bytes and gives you a working copy to edit. Every saved edit becomes a new revision, split into sections by headings, scene lines, chapters, and paragraph breaks. The split is mechanical. It does not interpret the story.

Every proposed sequence must cite exact lines from a specific revision, and the app checks the quoted text byte for byte. Any dialogue assigned to a sequence must appear verbatim inside its excerpts. A quote the model paraphrased or invented is rejected before you see it.

Those links add up to coverage: which nonblank lines of the story are adapted by an approved or proposed sequence, and which are not. Uncovered passages stay visible until you either adapt them or omit them with a written reason. Coverage means a link exists. It does not mean the adaptation is faithful. That judgment is still yours, and the review asks you to confirm you made it.

Build the cast before the scenes

Long stories are planned in groups, and each group's expansion reads only its own passages. If the cast were invented during the first group, it would be described from chapter one alone. A detail the story reveals in chapter six, like the watch a character always wears, would be missing from every earlier prompt and from the reference images generated from that description.

So the app has a separate pass that reads the whole story, in bounded windows, and returns one canonical list of characters, locations, props, and shared looks. Each entry carries a stable description, the exact passages that support it, and a visual anchor. Invented traits belong in the description, not the evidence, so you can tell what the story said from what the model added.

This is the character bible idea from drama production, with one difference: the evidence is checked, not just cited.

Every generation has no memory

A video model sees one prompt at a time. Nothing carries over from the last clip. Two consequences follow, and the app enforces both.

First, every subject gets a visual anchor: one sentence naming only what the camera can see. Every prompt that shows the subject must contain that sentence word for word. A generated prompt that paraphrases it is rejected. A prompt you wrote yourself that lacks it shows a readiness warning naming the missing sentence. Several published guides give the same advice, describe once and reuse verbatim. The difference here is that the rule is checked rather than suggested.

Second, subjects change during a film. A character bandages a hand in sequence 12, and sequences 13 through 30 need the bandage. The anchor cannot carry that, because the anchor must stay fixed. So a sequence can record a subject's condition at its end, and every later sequence inherits that condition until another note replaces it. The prompt writer receives both what the subject looked like entering the sequence and what changes inside it. Where a condition contradicts the anchor, the anchor stays verbatim and the condition is stated beside it.

Treat the model as untrusted

Every result from the model is checked twice: once structurally, against a schema, and once semantically, against the project. Excerpts must match the source. Dialogue and anchors must appear verbatim. Stage timings must run from zero to the sequence duration without gaps. Image references must use exactly the numbers of the approved images you selected, no more and no fewer. Generation settings cannot be changed by the prompt.

What the checks cannot do is judge the story. Whether a proposed addition is a good idea, whether the emotional beat lands, whether a stunt is achievable in one generation: those are still yours to decide, which is why every stage has a gate.

A worked example

Here are four lines of an original story written for this guide, the sequence card the planning stage would produce for them, and the opening of the prompt the second stage would write.

Mara kept the boathouse key on the same cord her father had used, a strip of sail twine gone grey. She let herself in at dusk. The tide clock above the workbench still ran; she could hear it.

"You're late," she said to the clock, and laughed once, because he used to say it to her.
Title
Mara opens the boathouse
Duration
14 seconds, one generation
Source
Chapter 1, lines 12 to 15, quoted exactly
Source facts to preserve
Key on a grey sail-twine cord. Dusk. A tide clock above the workbench, audibly running. She speaks to the clock and laughs once.
Proposed additions
A single bulb, unlit. Blue water light through the door. The clock's tick is the only sound before she speaks.
Assigned dialogue
“You're late.”
Subjects
Mara, the boathouse, the tide clock
Mara's condition at the end
Jacket hung on the door hook. Grey cord still at her neck.

The prompt below reuses Mara's anchor word for word, keeps the assigned line exactly, and stages the action across the 14 seconds. The jacket comes off inside the sequence, so the condition note tells the next sequence she is no longer wearing it, while the anchor sentence stays unchanged.

Mara: a woman with cropped white hair, a weathered navy work jacket, and a grey twine cord at her neck. The boathouse: a timber shed with a workbench under the window and a brass tide clock on the wall above it.

[Stage 1 | 0-5 seconds] Dusk. Mara fits a key on its grey twine cord into the boathouse door and pushes it open. Blue light off the water behind her. A single bulb inside stays dark. Sound: small waves, the swollen door.

[Stage 2 | 5-10 seconds] She steps in and shrugs the navy jacket onto a hook by the door. The camera follows at her shoulder to the workbench. The tide clock ticks above it, now the only sound.

[Stage 3 | 10-14 seconds] She looks up at the clock. Dialogue, English: Mara says {You're late.} She laughs once. Hold on the clock face.

This is an illustration, not a transcript of a model run. In the app, the prompt is generated by a local model against the bundled Seedance 2.5 skill, and you edit it before it is accepted.

What this does not solve

Coverage is a link, not fidelity. A sequence can cite the right lines and still miss their point. Anchors keep wording stable, not faces; consistent faces still need reference images, which the app plans as briefs and never invents. Subject conditions are only as good as the notes you and the model record.

The app prepares prompts and references. Submitting them to a video API, keeping takes, and editing are future work. And the models change quickly. The layer described here is meant to outlast any one of them: exact source, one generation per sequence, a checked cast, and a human at every gate.

Explore more guides on production workflow