Multi-Shot & boards
Where Brut stops being a one-image-at-a-time tool. Multi-Shot explores a scene from many angles at once; the boards are the surfaces where you review, curate and route the results.
Every board shares one review gesture: hover a tile and click its 🔍 to open the lightbox — the image fitted to your screen, wheel-zoom into the pixels, and ←/→ (or the on-screen arrows) paging through the whole board like a classical gallery. Clicking the image itself does nothing (no accidental tabs while panning the canvas); the full-resolution files live in the project's output folder.
Multi-Shot
A POV/composition explorer. Wire your base image(s) into a Multi-Shot node, pick an exploration scenario and a shot count, and a planner (Gemini, seeing all your base images) writes N distinct shot prompts. Then N image-to-image jobs fill a contact sheet on a resizable node — a worker pool runs several at a time.
- Scenarios ship as data — Editorial, Ballsy, Morning → Evening, Four Seasons, Dutch Masters, and a
customscenario that takes its brief from the node's Notes field. (Older climate scenarios — Cold North, Mediterranean, Desert — are retired: their weather registers now live as V2 deck cards. A saved graph that used one keeps working and shows it honestly as retired.) - Notes live on the node — a text box right under the scenario picker steers the planner on any scenario, and for
customit is the brief. Wired text (a Prompt or Refine node into the notes input) still works and both flow to the planner — wire when the text has a life of its own, type when it's a one-off. Paircustomwith the Scenario maker Refine preset for a strong brief. - 💾 Save as preset appears under non-empty notes — it saves the text as a prompt preset in the global library, loadable from any Prompt node in any project.
- Plan caching — the shot list is cached on its own hash, so stable prompts keep per-shot caches working. 🎲 rolls a new shot list.
- Per-tile controls — ↻ re-rolls one tile (only that tile re-pays), ✓ / ✗ mark keepers and misses, 🕘 re-pins a past result for that specific tile.
- Curation flows downstream — ✓ shots flow out the main port (or all non-✗ if none are ticked), taking effect on the next cached run.
The contact sheet uses a tidy, deterministic column count from the shot count (≤4 → 2×2, ≤9 → 3-wide, else 4-wide), so it stays neat at any node size.
V2 — the surprise machinery
New Multi-Shot nodes plan with V2; a small V1/V2 rollout next to the title switches generations (existing graphs stay on V1, the original planner frozen for honest comparison). V2 exists because static briefs make models repeat their favorite gags across projects — the same prop, the same weather trick, job after job. It answers with four pieces:
- Grammar briefs. Each scenario's V2 brief describes categories of moves instead of listing example shots, tells the planner its examples are calibration rather than a menu, and carries a small banned list of motifs this studio has worn out. The lists are data (
multishot.json) — extend them whenever a gag gets tired. - The card deck. Every plan draws a hand of ingredients from the scenario's pools (a light register, a life event, a prop domain, …) and must weave them through the set. The hand is shown as chips on the node before you ever run — visible surprise — and the little 🎲 beside the chips redraws it without starting a run. Draws are deterministic, so caching stays honest.
- Pick your hand. Random is the default, but the ✎ beside the chips opens the picker: one row per pool, each set to random or a card of your choice. Pinned cards always ride the hand (shown as accent chips; wild cards are pickable at any dial level), the Surprise dial fills the remaining slots randomly, and 🎲 redraws only those. Pin everything — or pin on Classic, which draws nothing on its own — and the hand is fully yours. Picks belong to their scenario's deck, so switching scenario clears them.
- The Surprise dial. Classic (no cards — the calm grammar brief alone) · Fresh (the default hand) · Crazy (a bigger hand including each pool's wild cards, plus a push toward the never-published).
- Avoid recent motifs (off by default). Every V2 plan reports the distinctive ideas it used, and the engine remembers the last ~20 per scenario across all projects. Tick the box and the planner is told what the studio already did recently — the direct cure for "the same idea on every job". The memory ages out, so retired classics eventually return.
V2 also makes the planner model selectable — the text model that writes the shot list (the node's Provider/Model picks stay the image model that renders them). Different planners have different instincts, which is itself a variety lever; models with a reasoning dial expose it here too.
Shot Board
The review surface for a Multi-Shot node. Wire the Multi-Shot shots output into a Shot Board and get a large captioned grid — the prompt under each image, ✓ / ✗ / ↻ proxied to the source. Each tile has its own output plug (shot-<i>) so you can route one chosen shot into Compose or Image→Video. The board re-emits the curated pool from its bottom port.
Reference Board
Makes the crew's stills pool visible. Every image you wire in becomes a numbered tile — and the tile number is the global still number the cinema agents refer to, which kills the invisible wire-order problem.
- ↑ / ↓ reorder (the number is the contract, so reordering changes what a wire carries — WYSIWYG).
- ✕ hide a tile / ↺ restore it in place.
- Per-tile
ref-<i>output plugs address one still by its board number.
Free and local — it's just a lens on the images you already have.