The Director & the Storyboard
The cinema planning nodes: they read your stills and pass a plan document (a plan, passed along a text wire) toward Film Shots. Planning runs on the LLM you choose — Gemini, GPT or Claude — on your own key; on models with a reasoning dial (GPT-5.6 and GPT-6 Sol / Luna, details; Claude Sonnet 5.5 / Sonnet 5 / Opus 4.8 / Opus 5 / Opus 5.5, details) a Reasoning select appears — deeper thinking for harder plans, billed as part of the answer. For the end-to-end story, see the Cinema Sessions walkthrough.
The chain is: stills → Director → Storyboard → Film Shots. (The original four-agent crew — Scenarist, Artistic Director, DoP, Script Supervisor — is legacy, kept at the bottom of this page.)
The Director — the whole crew in one node
One agent that plans the whole film: it analyzes your stills, writes the concept, the look and the executable shot plan, and wires straight into the Storyboard. The anchors it writes use the numbers you see on the Reference Board. The plan comes out varied: an arc across the film, framing, lens, camera height and movement changing shot to shot, and no still overused.
Its dials: a Brief (what film) and a Style (what look) from the same libraries the crew uses, the shot count and runtime, a People dial (none / subtle / lively), and an Audio switch that has every clip carry a one-line ambient sound note (used only by video models that produce sound). The plan it writes also carries a concept paragraph: the film's emotional tone, arc, lighting mood and pacing, readable and editable in 📖 Review like everything else.
Advanced dials — locked production choices. The Advanced disclosure exposes six craft dials: Camera (RED digital / ARRI / Sony Venice / Blackmagic / IMAX / 35mm / 16mm film), Lenses (clean primes / anamorphic / vintage / long-lens compression), Lighting, Composition, Emphasis and Movement (contemplative → kinetic). Each pick is binding and wins over the style where they disagree; every dial defaults to Director's choice, which adds nothing.
The proof sheet is always ONE image, and it renders in the run. Running the Director renders the sheet right after the plan (the whole film as a single contact sheet, at the price on the bar) and opens the review: the sheet large, the frame chips, and your call — Take this sheet (the run goes on; a later run whose sheet is unchanged never asks again), ↻ New take (a fresh render of the same plan, paying again), ✎ Reinvent the ✗ frames (the sheet re-renders for the new plan, the review stays open), or Stop (nothing downstream runs, nothing more is spent). An unchanged plan replays its sheet, free; a render that fails offers to go on without a sheet. The sheet's shape follows its grid: ten 16:9 frames render as two columns of five on a 3:4 sheet, so every frame keeps the film's shape instead of stretching wide (an aspect you set on the bar wins). 🎬 Proof on the face still renders by hand, ⤢ Review reopens the review, 🕘 opens every sheet the film ever rendered, from the project ledger, and 📌 pins one — a pinned sheet stays the film's validated sheet (and keyframe reference) through plan edits and new takes, until unpinned, and a run never asks about a pinned sheet. Inside a closed card (the Stills → Film workflow) the same review opens over the canvas, the card carries a 🎬 Proof sheet button to reopen it and a 📖 Plan button that opens this same document review for the Director inside; the image model of the sheet and of the keyframes is pinned on the card (GPT Image 2.5 Flare, xhigh at 2K) and changed by opening it. The node's Setup, plan and Proof sheet sections all collapse to keep the card compact.
Your own brief and style are wires, not notes. The node has two labeled text inlets — brief (optional) and style (optional) — made for a Prompt node (whose text is saveable as a preset, or refined through a Refine). A wired brief composes with the select: the canned entry sets the genre, your wire carries the project's specifics, and where they conflict the wire wins — the node says "⇄ wired in" under the select so the precedence is never invisible. For a fully custom film, set the select to None and let the wire direct alone. The Notes box is just notes: extra guidance, always honored, never secretly the brief.
The proof sheet — see the whole film for cents. Below the plan, the Director carries the sheet's bar (pick the image model, size and quality; cheap settings are fine, this is for your eyes): ONE image generation renders the entire film as a numbered contact sheet — every frame, one shared grade — from your stills and the plan's prompts. Judge it, then ✗ the frames that fail (the chips match the sheet's number badges) and hit ✎ Reinvent — one planning call rewrites only the rejected clips with genuinely new compositions; every kept clip stays exactly as it was. The sheet re-renders for cents; loop until the film reads right. The spend ladder is the point: ~1¢ of plan → ~6¢ of proof → keyframes → clips, and you never pay the next tier until the previous one convinced you — which is why the run itself stops on the sheet and waits for your call.
The validated sheet then guides the keyframes. When a Storyboard downstream generates an invented shot's keyframe, that shot's frame on the sheet guides it, while your stills keep the building true. A new sheet means the unpinned keyframes render again: what you validated is what gets produced. Frames generated separately read as one film, sheet or no sheet. (The sheet itself is never cropped into a frame: its resolution is for your eyes only.)
It emits the exact same plan document as the legacy DoP chain, so everything downstream is identical: the Storyboard, keyframes, end frames, Film Shots, Review and Revise.
The legacy crew — Scenarist, Artistic Director, DoP, Script Supervisor
Legacy since 1.1.1. The Director plans better films than the four-agent chain. The crew nodes are therefore hidden from the node browser — but they remain fully functional: every saved graph that uses them keeps loading and running, Review/Revise included. New films should start from the Director (or the Cinema Director library template).
Scenarist
Writes the treatment — the story and beat structure — from your stills. You pick a brief (or Custom, where your notes are the brief). Each shot stays on one still, so every shot stays anchored to a real still.
It may also invent shots — compositions no still contains (detail close-ups, reveals, human presence, pull-back endings; the Cinematic Reel (flourish) brief leans into this). An invented shot names the stills that anchor it and carries a written keyframe prompt; Brut generates that missing frame from your stills on the Storyboard before any video runs, so the identity never drifts. No still is overused, and the "Invent every shot" switch goes all the way: stills become references only, every start frame generated.
Artistic Director
Sets the look: a style bible and per-shot art direction — palette, lighting, mood. Choose a style (or Custom). It builds on the Scenarist's treatment. On invented shots it also styles the keyframe prompt (palette, light, lens character) — composing the frame is exactly its job.
DoP (Director of Photography)
Turns the treatment into an executable shot plan — the camera language, motion, and which still grounds each shot, as a concrete list of clips with durations. This is the plan Film Shots executes.
Script Supervisor
The continuity pass: harmonizes speed, light and palette across all the clips so the sequence feels like one film, not a pile of clips. It never changes which still a shot stands on.
Storyboard — the edit bay
Not an agent but the crew's review surface. The Storyboard turns the plan into an editable board of shot cards: per-clip start/end frame swaps with thumbnails, editable and lockable prompts, add/reorder shots, dynamic position badges. It passes the actual frames along with the plan, so Film Shots needs only one wire.
✕ mutes, it never deletes. A muted card stays on the board, greyed and badged muted, out of the film: its keyframes, pins and prompts are kept, the position badges renumber around it, and ↺ on the card (or ↺ N muted in the header) brings it back in place. Only a hand-added shot can be deleted for good (🗑, once muted). The same discipline as the Shot Board's ✗: a clip you cut is a clip you can still see.
Wrong still numbers never pass silently. When Brut can fix a plan's still numbers, it does and says so in the Activity panel; any other number the board can't serve stops with a clear message on its card.
Invented shots arrive frameless with a 🎨 Generate keyframe button: a render from the shot's anchor stills at the film's aspect (cents, priced on the board next to the image-model picker). A keyframe is kept as long as its prompt and anchor stills don't change, ↻ re-rolls, 📌 pins, 🕘 opens the card's history — every keyframe it ever generated, from the project ledger, any past take re-pinnable as the start frame for free — a wired image overrides, and the start selector can still ground the shot on a real still instead (🎨 generate in the same selector brings the keyframe back). The 🎨 entry is on every card: a grounded shot, or a shot you added with +, switches to a generated keyframe of its own. Write its keyframe prompt (✏, the 🎨 line), check its anchor stills (the still the card was on, by default; empty = every still on the board), 🎨. An invented shot with no keyframe blocks that clip in Film Shots — it is never silently sent as text-to-video; a card whose keyframe prompt is still to write says so and stays blocked the same way.
▶ on the board batch-renders every pending keyframe behind one itemized confirmation (count, per-frame price, total); the per-card 🎨 stays for one-offs. Its companion ↻ New takes re-rolls every generated keyframe at once — fresh takes on the current model, each paying again, one itemized confirm — for a model switch or a general do-over; 📌 pinned, wired and grounded cards are kept, and old takes stay pinnable in each card's 🕘 history. A prompts on/off switch declutters the cards, and the whole pre-wired chain ships as the Cinema Crew library template (File ▾ → Browse library…).
End frames, on demand. Each card's end selector is none · a still · 🎨 generate. Pick 🎨 and the card grows a second frame block to the right — same image box, own in-socket and out-plug, own tools — for a generated end frame that continues the start frame, at the film's aspect. Its prompt is drafted for you, with up to three reference stills picked to show what the move reveals (one text call on the planning model of the node feeding the plan); ✎ / 🎨 open a review — start frame beside the editable draft, ✎ re-drafts, the still picks as toggleable thumbnails, Generate renders — so nothing renders from a prompt you haven't read. ↻ re-rolls, 📌 pins (surviving prompt edits and a re-rolled start; otherwise a new start frame needs a new end frame), 🕘 = the end frame's history. ▶ on the board reviews every armed card in one modal after the start keyframes. An armed end frame still pending blocks its clip downstream; a video model without an end-frame input runs the clip from the start alone and the Film Shots table says so on that row.
Every frame block is also a source: the plug on its image edge carries that frame — the start frame (keyframe, wired image or grounded still) or the end frame — and a pending frame delivers nothing; the labeled plug bar at the card's bottom carries the clip's final prompt (overrides and wired prompts applied; in on the left, out on the right), an invented shot's keyframe prompt (its own in pin on the left too: wire a Refine output or a Text Board tile and it becomes the generated frame's prompt, a new keyframe) and the validated end prompt, for reuse or refinement anywhere. Card images can be dragged straight onto the canvas to detach into a ready-filled Image In.
📖 Review — read it like a document, direct it like a director
The plan text on the node is written for the next node, not for reading. Every crew node has a 📖 Review button that opens the document as a document: the title as a headline, the analysis as prose, the style bible as labeled sections, every shot a numbered card with its prompt, camera, duration and grounding badges.
Two verbs live in that modal, with two costs:
- Edit — free. Every text field is editable in place. Save writes each field back into the same place in the document, so the structure the downstream chain depends on can never drift; it behaves exactly like hand-editing the node's text, just humane.
- Anchors are editable too. An invented shot's card shows its anchor stills (their numbers on the Reference Board) as a small list you can rewrite:
0, 3. The field knows how many stills the node is wired to and flags any number the board can't serve, so a stray anchor is a two-second fix instead of a re-plan. - 💬 Comment → Revise — one planning call (cents, in the ledger). Every section and shot card takes a margin note ("shot 4 slower", "the whole film should feel like dusk"), plus an overall-notes box. Revise with comments hands the agent its own document and your notes; it returns the same document revised — same shot ids, same structure, only what your notes require changed — and the comments clear once addressed. A revision that would break the document's structure is rejected and your document stays untouched. Comments survive closing the modal, and the node's Review button shows how many are waiting.
How the plan flows
Agent output is editable text. Hand-edit a plan and your changes flow downstream while inputs are unchanged; change an input or roll again (🎲) and the agent regenerates over your edits — deliberately. The planner sees your stills (downscaled for the model's request cap; generation always gets full resolution), and its analysis shows in the Activity panel.
The plan you approve is the film you get. Every clip starts from a frame you have seen (a still of yours, or a keyframe generated from your stills), a shot without its frame never rolls, and every clip asks for a steady camera.
Next
→ Video — shoot the plan, review the clips, cut the sequence.