Custom Story · prototype

Turn your story into illustrations

A transparent six-stage pipeline you can stop anywhere — every stage's prompt and output copy for free; only image generation costs quota.

Seed first · two inputsStory: paste text / give a theme → auto T1·Style: pick a library Style / upload 3–5 refs
01

Input

Free · no login
Active

Story + style in hand; emit one normalized creative brief.

Story input

No story material entered yet

Style input

Loading Style library…

  • No story material entered yet
  • Pick from the Style library

Input incomplete · add story and style first

Engine recipe (raw .md) · 00-pipeline.md + 06-story-writer.md
# Lean Story-Illustration Pipeline v1
2026-06-12 由 spike(`../story-pipeline-prompts/`,14 文件 ~250KB)瘦身而来。spike 验证了配方但流程不适合批量:单故事 14 次 LLM 调用、最终产物 87% 是包装层、35%+ 跨场景逐字重复。本版把 LLM 轮次压到 **4 次**、文件压到 **6 个 ~25KB**,配方不变。
## 已验证的生图配方(不变)
```
Pick a library Style or upload refs to preview the style here
02

Style-lock

Free · no login
Pending

Multimodal read of images / library → a copyable plain-text style description.

Run "Input" first

Run the button above to produce this stage

Engine recipe (raw .md) · 01-style-lock.md
# 01 — Style Lock (multimodal, one-time per style)
Run once per visual style with a multimodal LLM. Input: 3–5 style reference images sharing one art direction. Output: one `style-lock.json` + a short review digest. Reusable across stories.
## Prompt
You are a senior visual development director. You will receive 3–5 style reference images. Extract a reusable **Style Lock**: the rules that make every future image feel like the same illustrated world.
Pick a library Style or upload refs to preview the style here
03

Scene selection

Free · no login
Pending

The story is segmented and scored; you pick which scenes to illustrate.

Run "Style-lock" first

Run the button above to produce this stage

Engine recipe (raw .md) · 02-story-scenes.md
# 02 — Story Text → Sections → Scenes (text-first, all provenance tiers)
One pipeline stage, four sub-steps. **Every story is text-first**: scenes are picked from real paragraphs, never invented free-floating — this is what makes every image slot land on a `story_sections` anchor (`section_id`) with zero fuzzy matching at render time.
```
(A) story text          T1: 1 LLM call writes it | T2/T3: provided rights-cleared text
04

Boards

Free · no login
Pending

Each scene gets a free text brief; board images regenerate on demand (credits).

Run "Scene selection" first

Run the button above to produce this stage

Engine recipe (raw .md) · 03-boards.md + 04-board-qa.md
# 03 — Production Boards (4 image-gen calls per story)
Four 16:9 boards form the production bible; their images are the **image references for every final scene generation**. Each template below is a fill-slot generation prompt: fill `{…}` from `style-lock.json` / `story.json`, send to the image model. Foundation boards (character, world) first, from style ref images; secondary boards (composition, lighting) after, attaching the character + world board images as additional references.
## Common rules (apply to all four boards)
**Produce the board image directly. Do NOT ask clarifying questions, do NOT request more detail, do NOT reply with text — generate the image from the specification given.** (gpt-image is chat-capable and will stall an unattended run by asking follow-ups otherwise — gap-bucket ② / story-v1/014.)
Generate imagesLogin to generateFree path reaches per-scene prompts directly — board images optional
05

Per-scene final prompt

Free · no login
Pending

Compose each scene into a generation-ready final prompt — free to copy.

Run "Scene selection" first

Run the button above to produce this stage

Engine recipe (raw .md) · 05-final-prompts.md
# 05 — Compact Scene Prompts (one LLM call per story, all scenes)
Replaces spike's master-scene + per-scene final-builder + platform exporter. One call writes the compact prompt for **every** scene. Input: `story.json` + `style-lock.json` + `board-qa.json` `patch_instructions`. Output: `final-prompts.json` — each `prompt` string is what gets stored in `story_image_slots.prompt` and sent to the image model with the 4 boards attached.
## Prompt
You are a senior image-generation prompt writer. Using the story data, style lock, and QA patch instructions provided, write one **compact, self-contained** image-generation prompt per scene.
06

Image generation

Costs 1 credit
Pending

The only credit-costing step — turn final prompts into scene images. It stops here.

Engine recipe (raw .md) · 05-final-prompts.md
# 05 — Compact Scene Prompts (one LLM call per story, all scenes)
Replaces spike's master-scene + per-scene final-builder + platform exporter. One call writes the compact prompt for **every** scene. Input: `story.json` + `style-lock.json` + `board-qa.json` `patch_instructions`. Output: `final-prompts.json` — each `prompt` string is what gets stored in `story_image_slots.prompt` and sent to the image model with the 4 boards attached.
## Prompt
You are a senior image-generation prompt writer. Using the story data, style lock, and QA patch instructions provided, write one **compact, self-contained** image-generation prompt per scene.

Run "Per-scene final prompt" in 05 first

N scene images + copyable prompts · This is the end — no book render, no page-flip, no publish.

Generated scene images will appear here
Custom Story · imaread