Back to Playlist · VidFarm Walkthrough Tutorial
Part 24 of 33Edit Demo — AI Drama Series11 min read
Edit demo #6 — an AI drama series

Direct a multi-scene AI drama with a storyboard and a recurring cast

The heaviest, most cinematic workflow. Break the story into beats on a storyboard first — cast, action, setting, shot, line — lock it with cheap images, then buy motion only once the sequence reads, keeping every character on-model from hook to payoff.

Copies the whole guide — prompts, next steps & all — for your AI agent
Watch this chapter
Cast two characters, storyboard six beats as images, generate motion from each locked frame, layer per-character dialogue, and post a cohesive short drama.

Key takeaways

  • A storyboard is a grid: one row per scene, with cast, action, setting, shot, and dialogue.
  • Storyboard cheap first — generate one image per beat before spending anything on video.
  • Every scene re-feeds the same sprite card so the cast never drifts between shots.
  • Generate video from the locked frames, chaining first-frame / last-frame continuity where shots must flow.
  • AI video is the $10+ cost band — the copilot confirms budget before it generates.

Storyboard cheap, then buy motion

A drama series is just a sequence of scenes where the same people recur — and generating those scenes one prompt at a time, with no map, is how a story wanders: the tone shifts, characters drift, and the payoff doesn't land because the setup was never planned. The fix is order. The expensive part is the video generation, so lock everything you can with cheap images first — composition, characters, framing — and only pay for motion once the storyboard is right. Character consistency is the prerequisite; the storyboard is the sequencing layer on top.

You direct the whole thing by chatting in the Trackpad Editor . Before you start, make sure each recurring character has a sprite card saved — that's the guide right here:

Character consistency across shots

What goes in the storyboard

A storyboard fixes the whole sequence before you spend a cent on video. It's cheap to write and cheap to revise, and it becomes the spec every generation follows. Each row is one scene — note five things:

Illustration
1HookStop the scroll
2SetupWho & where
3TurnThe twist
4PayoffThe reveal
5ButtonCTA / loop
Storyboard each beat before you buy motion — hook, build, turn, payoff.
A hand-painted six-panel storyboard on cream paper, tightly packed in two columns by three rows, each panel a distinct scene. Panel 1 HOOK: Mara in a mustard jacket pushes open a rain-streaked tavern door at night. Panel 2 SETUP: Mara and Dev (green shirt, glasses) talk across a candlelit table. Panel 3 TURN: a sealed envelope marked with an X slides into frame, pushed by a hand. Panel 4 RISE: Mara reads the note, alarmed, as Dev leans in. Panel 5 PAYOFF: the two burst out into the pouring rain together. Panel 6 BUTTON: both silhouetted, walking away under a streetlamp. The same two characters stay on-model across every panel.
A real six-beat storyboard for a short drama. The same cast — Mara and Dev — recurs on-model in every panel; each beat is labelled hook → setup → turn → rise → payoff → button. Revising it here is free; revising generated video later is not.

Manual walkthroughDo it yourself (the web UI)

  1. Fork a short-drama template and cast the series

    Fork a short-drama or story format on Discover — it carries the pacing, cut rhythm, and caption cadence you want. Then set up your cast: "Create characters Mara and Dev with these looks; save both sprite cards." Each becomes a trio under /files/characters/<slug>/. If you're remixing an existing video, the decompose 2nd pass already wrote a cast array — recurring people with a reference_url (isolated on transparent background) and a still_url.

  2. Storyboard every beat as an image (cheap)

    Chat: "Storyboard this 6-beat drama with AI images first so we lock composition and the cast before any video." The copilot fires generate_layer with media_type: image for each beat, passing each character's sprite card as the reference. Image generation is cheap, so iterate freely until the sequence reads. Tip: make one clean base still per character first — with prompt_attachments set to their sprite card — so every scene starts from an identical anchor and the look can't drift as the sequence progresses.

  3. Generate motion video from the locked frames

    Once the storyboard is locked: "Now generate motion video from those storyboard frames, 9:16, keeping the cast consistent." The copilot runs generate_layer media_type=video (use intent:'replace_layer' to swap a still for its motion, 'fill_gap' for a timeline gap, or 'add' for a new scene), using each storyboard still as the conditioning frame and the character's sprite card as the identity reference. Restate their appearance plus the scene's action, setting, and shot in every prompt. This is the expensive band, so it confirms the cost first.

  4. Chain continuity where shots must flow

    When one shot must flow directly into the next, pass the previous clip's last frame as the next generation's first frame — frame_images:[{image_url, frame_type:"first_frame"}]. Use this only where the cut needs to be seamless; most beats are fine anchored to the sprite card alone.

  5. Layer dialogue, a music bed, and captions

    Add per-scene dialogue via /audio/speech, giving each character a distinct voice and persona through the instructions. Drop a music bed underneath at ~0.1–0.2 volume, and add captions with set_captions. Voices are preset approximations, not clones — present "the same voice" as best-effort.

  6. Render, approve, and branch variations

    Review the full timeline, then say "render it." The finished MP4 becomes a shareable post on its approved page and appears in your approved library . Want an alternate ending? Branch a copy with fork_composition fork_from:current and regenerate just that beat.

The editor chat dock showing the prompt 'generate motion video from those storyboard frames' with the copilot's cost-confirmation reply asking permission before running several AI video generations, and pending_generations placeholders on the timeline.
Buying motion. AI video is the $10+ band, so the copilot confirms the budget before generating from the locked frames.
Illustration
🧑‍🎤MayaLead · the seeker
🧔DevFoil · the skeptic
👩‍🦰RenMentor · the guide
Give each recurring character its own card — the AI keeps them on-model across scenes.
What it costs This is the most expensive workflow in VidFarm. The discipline that keeps it affordable: storyboard with cheap images, confirm budget, then generate video only from locked frames. AI video generation runs in the $10+ band; images are cents.
Heads up Anchor every scene to the canonical sprite card — not to the last frame you generated. If you let earlier generated frames become the new reference, identity compounds off-model across the series. And because video conditioning is single-reference on OpenAI/Gemini, you get one image per shot: use it for identity (the sprite card) or for continuity (a first-frame), not both. OpenRouter/Seedance takes the full array if you need both. On a free NVIDIA "lite" key all of the generation here is blocked — you need a BYOK image/video key.
Note Multi-character scenes are genuinely hard — one reference conditions one identity. For two people in a frame, describe the second character heavily in text, or composite them with transparent overlays. Keep the music bed low (~0.1–0.2) under the dialogue. The web editor is CSS-motion only (no JS animation adapters), so scripted motion needs local vidfarm serve.

Where to go next

The storyboard is the plan; character consistency is the guarantee each shot honors it. Lock your cast first, then take the same discipline into a product promo.

Direct your first series now

Write the grid before you generate — cast, action, setting, shot, line, per beat — lock it with cheap images, and only buy motion once the sequence reads. Open the editor and start with beat one.

Open the editor