AI video models
Making AI storyboard sheets reliable: five rounds of experiments with Seedream 4.5
How we took one-canvas AI storyboard sheets from 70% to 97% reliable on landscape, why vertical sheets fail on every model, and the detection trick that recovers them. Every result measured.
- AI storyboarding
- Seedream 4.5
- Seedance 2.0
- image generation reliability
- AI filmmaking

Before anything expensive renders, a film needs its storyboard: six angles on a scene that agree with each other on faces, light, and geography. We are building a flow where one generated image, a 2×3 storyboard sheet, is cropped into six panels, and the user clicks the panels they want as exact visual references for video generation with Seedance 2.0.
That only works if the sheets are reliable: a correct grid, no sub-images inside a panel, six genuinely different setups, and one consistent cast across all six. So before wiring it into the product we ran five rounds of controlled experiments, roughly a hundred generations and under $10 of image spend, to find out what actually holds up. Sheets were generated with ByteDance's Seedream 4.5, with Google's Nano Banana Pro as a challenger in one round. This post reports everything we measured.
The results, up front
| Question | Verdict | Key evidence |
|---|---|---|
| One-canvas grid vs. separate images | Grid wins. Panels generated in one canvas share one attention context, which is what preserves identity | Character consistency 8.3–9.7/10 across every grid round |
| Best prompt register | "Photographer's contact sheet" + strict-uniform-lattice language | 97% pass on landscape (29/30) after iteration |
| Seedream's native sequential mode | Rejected. Perfect geometry, but shots collapse into near-duplicates | 1/5 distinct; 6.4× slower; ~5× cost |
| Repeating character traits in every panel ("trait-locking") | Hurts. Describe the cast once, globally | Crop usability fell 4/5 → 2/5 with no consistency gain |
| Asking for drawn divider lines | Hurts | Pass rate fell across every gate |
| 2×2 instead of 2×3 | No reliability edge worth two fewer shots on landscape | 2×2: 5/5 crops usable vs. 2×3: 4–5/5 |
| Vertical (9:16) sheets | Cross-model failure ~50%. Portrait canvases trigger comic-page layouts in both Seedream and Nano Banana Pro | Seedream 2/6, NB Pro 1/6 with identical prompts |
| Panel-boundary detection | The vertical fix. Crop the panels the model actually drew, accept whatever count came back | 73% of vertical sheets yielded 4+ usable panels, from ~30% fully usable under blind cropping |
| User-directed per-panel descriptions | Works. Written shot direction lands in its assigned panel | 6/6 slot adherence, every repeat |
| Panel aspect ratio | Must equal the film's output ratio, with grid orientation following cell orientation | Mis-oriented grids measurably degrade layout discipline |
The rest of this post is how we got those numbers.
What good looks like: one generation, six camera setups, one consistent performer. Crowd scenario, contact-sheet register, Seedream 4.5, about 25 seconds.
How we tested
Every round used the same harness. We generated sheets across deliberately hard scenarios (night-rain lighting, crowds, macro product shots, creatures, vertical formats, scenes with character reference images attached), cropped them exactly the way production would, and graded the crops with a vision-language-model judge. The judge checked explicit gates (every crop is one complete, coherent shot; no annotation text; six distinct camera setups) and scored character, location/lighting, and style consistency from 0 to 10.
Two lessons about method, learned the hard way:
- Look at the pixels before trusting the judge. Our first reliability run scored 55%. Visual verification put the true rate near 70%. The judge was failing sheets for diegetic text (a clipboard reading "FAILED INSPECTION" in a scene about a failed inspection, a painted "B3" in a parking garage set on level B3) and for cosmetic gutters that never touch a crop. The rubric needed an explicit exemption for in-world text, and needed it stated twice.
- Repeats are the point. Grid failures are probabilistic. A scenario that passes once can fail the next run, so a single-sample comparison measures luck.
Round 1: six approaches, head to head
We screened four prompt variants, a 2×2 board, and Seedream's native
sequential mode (sequential_image_generation, which returns a set of
separate images instead of a grid) across five hard scenarios.
Content quality was not the problem anywhere. With character reference images attached, both test characters stayed on-model in every panel of every sheet. The differences were all in layout discipline and shot diversity:
- The contact-sheet register ("a photographer's contact sheet of 6 cinematic film stills…") beat the word "storyboard," which drags in borders, panel numbers, and caption bars from the model's training prior.
- Trait-locking, the popular community technique of repeating each character's full description inside every panel line, hurt crop usability and bought nothing on consistency. The One-Prompt-One-Story literature predicted this: identity lives in the shared prompt context, and re-description invites drift.
- Sequential mode produced flawless full-frame geometry and collapsed creatively. Four of five runs returned near-duplicate framings: six similar medium shots of the same subject instead of wide/medium/close coverage. At 160s versus 25s per board and about 5× the cost, it lost on every axis we care about except geometry, which round 5 solves more cheaply.
Sequential mode's failure, laid flat. Same scenario as the sheet above, but the six separately generated images collapse toward one framing. Consistency and shot diversity pull in opposite directions, and the set generator gives up the diversity.
Reference images carry hardest. Both characters here are generated from attached identity plates and hold across all six panels, down to the diegetic prop text on the inspection report that our first judge rubric wrongly penalized.
The register generalizes beyond characters. Product scenarios keep the same object, lighting, and grade across the coverage ladder. Macro-only scenes remained the hardest distinctness case through every round.
Rounds 2–3: from 70% to 97% on landscape
We locked the winning register and measured it properly: twelve scenarios, three repeats each. The verified first pass sat around 70%, with three real failure modes. Comic-page layouts, where the model draws merged and irregular panels: beautiful manga pages, useless for fixed-grid cropping. Near-duplicate panels. And the occasional sub-composite, two little images inside one cell.
The fix was to name the failure modes in the prompt (every still identical in size, a perfectly regular lattice, NOT a comic page, NOT a manga page, no merged or spanning panels) and add an explicit distinctness ladder (at least one wide, one medium, one close-up). One iteration took the overall pass rate to 89%, and landscape, the dominant film format, to 29/30 (97%), our ship bar. Square held at 2/3, and its one failure was a single weak panel rather than a layout collapse.
Vertical did not follow. That became its own investigation.
Round 4: vertical is a model problem, not a prompt problem
On portrait canvases, both models fit panels to the canvas rather than to the request. Seedream drew full-width webtoon-style rows. Nano Banana Pro drew immaculate grids with the wrong count, a clean 4×2 when asked for 3×2. With the identical anti-comic prompt, Seedream passed 2/6 vertical sheets and Nano Banana Pro 1/6. The tall-canvas layout prior is trained in across vendors. You cannot prompt your way out of it, and switching between these two models does not help either.
Vertical failure shape one, Seedream's comic-page prior: a gorgeous manga layout that fixed-grid cropping slices to pieces.
Vertical failure shape two, Nano Banana Pro: flawless discipline, wrong count. A clean 4×2 when 3×2 was requested. Both sheets are full of good panels; only the grid assumption failed. That is what pointed us at round 5.
Round 5: stop asking, start detecting
The reframe that solved it: in almost every "failed" vertical sheet, the panels themselves were good. Only our assumption about where they sat was wrong. So instead of demanding a rigid grid, we detect the gutter lines the model actually drew and crop the cells that exist, accepting whatever regular count comes back. A sheet with eight good panels instead of six is not a failure. It is two free extra angles.
We re-processed every vertical sheet from the earlier rounds with a prototype detector. The wrong-count Nano Banana Pro sheets were fully recovered (8/8 usable panels each), and 73% of all vertical sheets yielded four or more usable, distinct panels, from a format that scored about 30% under blind cropping. The production version adds plausibility guardrails, falls back to the uniform grid for flush sheets, and doubles as a safety net for the rare landscape sheet with drawn gutters.
What shipped
The measured recipe is now our production configuration:
- the contact-sheet register with uniform-lattice and anti-comic-page language, numbered per-panel lines (which users can override with their own shot descriptions: the 6/6 adherence result), and one global cast description;
- sheet dimensions computed so each cell is exactly the film's aspect ratio, with grid orientation matched to cell orientation;
- crops with a small inner margin, because every working grid pipeline we found, ours included, needs one to absorb boundary bleed;
- gutter detection with variable panel counts, so the flow keeps every good panel the model draws;
- and the panels feed Seedance 2.0 as ordered reference images, which honors their composition shot by shot.
Every number
For readers who want the full picture, the round-by-round results. "Crops usable" = every cropped panel is one complete coherent shot; "distinct" = six clearly different camera setups; "char" = judged character consistency (0–10). All generations Seedream 4.5 unless noted.
Round 1 — approach screen (5 hard scenarios × 1 repeat per arm):
| Arm | Crops usable | Distinct | Char | Mean latency |
|---|---|---|---|---|
| 2×3 · contact-sheet register | 4/5 | 5/5 | 9.0 | ~25s |
| 2×3 · baseline "storyboard" prompt | 5/5 | 3/5 | 7.8 | ~25s |
| 2×3 · trait-locking | 2/5 | 4/5 | 9.0 | ~24s |
| 2×3 · requested divider lines | 3/5 | 3/5 | 8.8 | ~23s |
| 2×2 · contact-sheet register | 5/5 | 4/5 | 9.0 | ~24s |
| Sequential mode (6 images) | 5/5 | 1/5 | 8.2 | ~160s |
Rounds 2–3 — reliability runs (12 scenarios × 3 repeats; pass = all product gates):
| Scenario | Format | First prompt | After lattice iteration |
|---|---|---|---|
| Two-hander w/ character refs (diner) | 16:9 | 1/1¹ | 3/3 |
| Concert crowd | 16:9 | 2/2¹ | 3/3 |
| Creature exterior | 16:9 | 3/3 | 3/3 |
| Macro product | 16:9 | 0/3 | 2/3 |
| Neon chase | 9:16 | 0/3 | 3/6² |
| Café two-hander | 1:1 | 1/3 | 2/3 |
| Directed shot list | 16:9 | 1/3³ | 3/3 |
| Period ballroom | 16:9 | 3/3 | 3/3 |
| Nature documentary | 16:9 | 2/3 | 3/3 |
| Two-character comedy w/ refs | 16:9 | 1/3³ | 3/3 |
| Kitchen drama | 16:9 | 1/3 | 3/3 |
| Desert western | 16:9 | 3/3 | 3/3 |
| Overall | 55% raw / ~70% verified | 89% (97% on 16:9) |
¹ Remaining repeats lost to transient network errors, not generation failures. ² Across both grid orientations tested. ³ Raw judge failures later verified as diegetic-text false positives.
Round 4 — vertical showdown (identical prompt, 2 scenarios × 3 repeats):
| Model | Anime chase | Photoreal busker | Overall | Mean latency |
|---|---|---|---|---|
| Seedream 4.5 | 1/3 | 1/3 | 2/6 | ~16s |
| Nano Banana Pro | 1/3 | 0/3 | 1/6 | ~44s |
Round 5 — panel detection on the vertical sheets (15 sheets from rounds 3–4):
| Metric | Blind grid cropping | Detected-panel cropping |
|---|---|---|
| Sheets with every panel usable | ~30% | 27%⁴ |
| Sheets yielding ≥4 usable panels | — | 73% |
| Wrong-count sheets recovered | 0 | 100% (8/8 panels each) |
⁴ Strict all-panels bar with the unguarded prototype; the production detector adds plausibility checks and a uniform-grid fallback. The product-relevant bar is the 4+ row: users select panels, so a sheet with four strong options and two rejects is a working sheet.
A 2×2 vertical probe (6 sheets) mostly held geometry (4 clean cells in 4/6) but lost shot diversity, consistent with the round-1 finding that fewer panels invite repetition.
The through-line of all five rounds: current image models are already excellent cinematographers and inconsistent typesetters. Give them one canvas and one cast, name the layout priors you don't want, verify with your own eyes before trusting a judge, and when the model insists on drawing the grid its own way, measure where it drew the lines instead of insisting on yours.