A fresh comic system for Ben's Library — deliberately not the Nifty/manga pipeline. This defines how any of the 50 prose books becomes a comic, from art generation to the finished page, in a way that is consistent across all 50 books and cheap to run.
Every panel is built in two independent layers:
bytedance/seedream-v4-edit, 2K). The art prompt contains no words at all ("NO text, letters, numbers or signage"). Seedream is bad at text and text baked into art can't be edited, translated, or fixed.Why: guaranteed legibility, trivial edits, free translation for INTL editions, and no re-billing Seedream to fix a typo. This is the single most important rule.
| Nifty series | Ben's Library | |
|---|---|---|
| Style | manga / anime | painterly literary picture-book realism |
| Feel | pop, kinetic | illustrated-encyclopedia × Pixar lighting; luminous, dignified |
| Palette | bright | series palette = the site's: cream #faf8f4, ink #1f2430, vermilion #b23b2e, gold #c99a2e |
Accuracy must satisfy an engineer; faces are gentle and human (no rubber/cartoon faces); every panel a distinct emotion; always a luminous readable value range so captions sit cleanly — even in night/undersea scenes.
Full art rules live in series.json → art.
Characters must look identical across all 50 books. The mechanism:
series.json → cast/locations, anchor: fields).image_urls, so the model edits from the canonical look rather than reinventing it.comic.json → meta.guest_cast, generated once at the start of that book.Cast is original, inspired-by the named figures (Ben/Charlie/Warren), not photoreal likenesses — cleaner and avoids impersonation. Historical scientists are period-accurate educational illustration.
comics/
series.json ← series bible: cast, style, palette, roster, tiers, pipeline
schema/book.schema.json ← JSON Schema every book file validates against
books/<NN-slug>/comic.json ← one book mapped: pages → panels
books/<NN-slug>/refs/ ← generated anchor images (bootstrap output)
Hierarchy: book → pages → panels. A panel is the atomic unit (one Seedream image + its overlay text). A page arranges panels via a named layout template.
Panel fields (see schema): id, beat, setting, shot (establishing/wide/medium/close_up/insert/splash), cast[] (key + distinct expression), refs[] (anchors to feed), art_prompt (no text), aspect, overlay{captions[], bubbles[]}, credit_est.
Page layouts: cover, splash, full_bleed, two_row, three_tier, grid_2x2, big_top_two_bottom, text_plate.
books/01-apple/comic.json is the worked exemplar — cover, front matter and Chapters 1–2 are fully specced panels; Chapters 3–12 carry a page_note beat-sheet plus one hero panel each, ready to expand to full panels the same way.
The prose can't all fit, so each chapter compresses to a beat sheet of key visual beats (one panel each). Standard density = ~4 beats/chapter. The manuscript's set-pieces map almost 1:1 to hero panels (hilltop fires → telegraph → Faraday → 1947 transistor → cleanroom → undersea fibre → garage → 2007 stage → globe → mine → Silicon Key). Dialogue becomes bubbles; narration becomes captions.
| Tier | Panels/ch | Body | +Matter | Total panels | ~Pages | Seedream credits* |
|---|---|---|---|---|---|---|
| Lean | 2 | 24 | 6 | 30 | ~34 | ~155 |
| Standard ✅ | 4 | 48 | 7 | 55 | ~46 | ~285 |
| Full | 6 | 72 | 8 | 80 | ~66 | ~415 |
* total_panels × 4 credits × 1.3 retry-buffer. Confirm the live rate by logging kie.ai credit before/after the first bootstrap panel. Recommended: Standard — rich enough for the literary voice, ~$1.50–2.50 of art per book. Animation (Seedance) is separate and much pricier (~14 cr/5s clip) if added later.
bootstrap — generate cast + location anchors (once for the series) and this book's guest anchors → refs/.gen — for each panel: compose [global style] + [art_prompt] + [cast expressions], feed refs[] as image_urls, call Seedream 2K, save art/<panel_id>.jpg. Credit-floor guard (stop < 30, fall back). Skip already-done panels (resumable).compose — lay panels onto pages per layout, overlay caption plates + speech bubbles (text layer).build — emit a web reader (like the prose reader, under /comics/<slug>/) and a print PDF.qa — render pages and check legibility (no text-on-text, captions on light plates) before shipping.Steps 1–2 are the only ones that cost credits and are fully resumable.
bootstrap on Book 1's anchors as the pilot.