Storyboard · Wire Graph Showcase

龙舟小波 — via Wire Graph

The same 6-beat 端午 dragon-boat reel as the manual playbook — but authored as a condition-graph: one Bo node, wired into every shot. Draw a line, the line carries the character. This is the VibePaper-moat workflow, reproduced — and it caught a real identity-drift bug that only showed up when we rendered it.

Authoring
One graph
Nodes / wires
13 · 12
Bo consistency
6/6 (after fix)
Surfaces
CLI·MCP·Web
Output
9:16 · ~51s

Same reel, declared once not hand-passed per shot

In the manual version, Bo's sheet is fed into each beat by hand. Here it's declared once on the graph: a single character wire from the Bo node into all six beats, then each keyframe wired as the first_frame of its video. Re-run one beat and only its wires re-pull — the rest stay frozen. Add a second character? One more node, one more line.

The graph one submit produced the whole reel

[bo] ──character──▶ kf1 kf2 kf3 kf4 kf5 kf6 (6 keyframes, Bo locked into each)
kf1 ──first_frame──▶ v1 · kf2 ──first_frame──▶ v2 · … · kf6 ──first_frame──▶ v6
// submit_graph runs keyframes (character wire applied), then animates each from its keyframe, in dependency order.

The 6 beats Bo, wire-locked, scene to scene

Beat 1
BEAT 01
Dawn on the prow
Beat 2
BEAT 02
Lighting the drum
Beat 3
BEAT 03
The start
Beat 4
BEAT 04
Falling behind
Beat 5
BEAT 05
The rainbow climax
Beat 6
BEAT 06
Fireworks victory

The bug rendering caught a wire is only as good as its prompt

The first wired render came out broken in an instructive way — and unit tests + a "URL returned" smoke test both passed while it happened. Only looking at the frames revealed it.

✗ First cut — 0/6 held

  • The character wire composed a generic "keep the same character" prompt and the edit model ignored the reference.
  • Each beat invented a different hero — a human woman, a cartoon cat, a raccoon, a dreadlocked rower, a boy.
  • Tests were green the whole time. Identity drift is invisible to a non-visual gate.

✓ After the fix — 6/6 held

  • Routed character/subject through the same buildSubjectTransferPrompt wrapper place_subject uses.
  • Names the wired subject (from the node's label) + defaults to the nano-banana edit model.
  • Bo holds across all six beats — see the grid above. One fix; every surface (MCP + browser) benefits.

Manual vs Wire Graph which fits what

This reel and the manual one are the same output — the difference is authoring. Manual is the better one-off; Wire Graph is the better system (series, multi-character, heavy iteration, cross-surface). Full measured breakdown:

⇄ Read the full comparison → ▶ The manual showcase Manual playbook