豆包连环画创作
The Doubao Comic Book generator
- reference_images
- reference_image_2
- reference_image_3
- reference_image_4
- reference_image_5
- reference_image_6
- reference_image_7
- reference_image_8
- reference_image_9
- reference_image_10
- reference_image_11
- reference_image_12
- reference_image_13
- reference_image_14
- comic_images
- story_text
- story_structure
- generation_info
This is the node the whole pack exists for. 豆包连环画创作 ("Doubao Comic Book Creation") takes a one-line story idea and turns it into a finished comic: it writes the script, plans the scenes, and draws every panel, then hands you a batch of images plus the text so the rest of the pack can export it. If you've ever built a "story → images" workflow by chaining an LLM into a t2i prompt and re-rolling until the character stops morphing, this is that, but with the assembly done for you.
Don't let the demo framing fool you. Under the hood it's two of ByteDance's closed API models working in sequence: the doubao-seed-1-6 text model writes the story, then doubao-seedream-4-0 draws each scene. Nothing runs locally - no checkpoint, no VRAM, just a paid API key (see the pack-level setup below). That's the deal with everything in this pack: ByteDance keeps Seedream and Seedance API-only, so a wrapper is the only way to drive them from a ComfyUI canvas. It also means every generation costs money, and this node spends like a kid in a candy store: one text call plus one image call per scene.
What actually happens when you run it
The pipeline is: story_prompt goes to the text model, which returns a structured scene list - each scene gets its narration and an image prompt. Then each scene is rendered with the image model, and the panels come back as a single IMAGE batch in page order. The story_length knob controls how many scenes: short is 3–5, medium is 6–8 (the sweet spot), long is 9–12. Your wallet is the real limit here.
The clever bit is reference handling. reference_images and the reference_image_2 through reference_image_14 inputs accept up to 14 reference images, and the node cycles them across scenes so the character stays recognizable from page to page. reference_mode chooses between single_per_scene (one ref per scene) and multi_fusion (fuse several). Pair that with character_description and background_style text fields and you can get decent consistency without a local IPAdapter - worth trying before you assume you need one.
Inputs you'll actually touch
- story_prompt - the seed idea, e.g. "a bunny's warm adventure." Default is exactly that.
- mirror_site - comfly / t8_mirror / volcengine. This picks which API reseller serves you, and each needs its own key in
SeedReam4_config.json. - image_style - cartoon, realistic, anime, watercolor, sketch. Default cartoon.
- resolution - 1K / 2K / 4K. 2K is the default and a good balance. Note the 4.5 image model (
doubao-seedream-4-5-251128) does not support 1K, so pick 2K+ if you switch to it. - watermark - defaults off here (good; the plain image node defaults it on).
- max_tokens and temperature - shape the story writing.
Outputs: comic_images (IMAGE batch, page order), story_text (formatted story), story_structure (the JSON scene breakdown - feed this to the HTML viewer/export nodes), and generation_info.
Install & setup (shared with the whole pack)
Install via ComfyUI Manager (search "Doubao") or:
cd ComfyUI/custom_nodes
git clone https://github.com/xuchenxu168/ComfyUI_doubao_seed
cd ComfyUI_doubao_seed
pip install -r requirements.txt
Then restart ComfyUI and create a SeedReam4_config.json in the pack folder with the key for whatever mirror you chose - the README walks through comfly, t8, and the official volcengine endpoint. The node's api_key field and the DOUBAO_API_KEY env var also work. No model downloads, no heavy deps beyond requests/Pillow.
Gotchas
This is an API-wrapper pack, so the standard cautions apply: your prompt and reference images leave the machine to ByteDance's servers, and their content policy applies no matter which mirror you use. The README's own troubleshooting warns that image generation fails on filtered prompts and empty API balances. And since each scene is a paid call, a long comic at 4K is a pricey queue - start with short/medium at 2K. Wire comic_images and story_structure into the pack's HTML viewer or batch exporter to actually see the thing, and it all clicks together.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| story_prompt | STRING | 一个关于小兔子冒险的温馨故事 | — |
| mirror_site | COMBO | comfly | 3 options: comfly, t8_mirror, volcengine |
| text_model | COMBO | doubao-seed-1-6-250615 | 3 options: doubao-seed-1-6-250615, doubao-seed-1-6-flash-250615, doubao-seed-1-6-flash-250828 |
| image_model | COMBO | doubao-seedream-4-0-250828 | 2 options: doubao-seedream-4-0-250828, doubao-seedream-4-5-251128 (不支持1K) |
| story_length | COMBO | medium | 3 options: short, medium, long |
| image_style | COMBO | cartoon | 5 options: realistic, cartoon, anime, watercolor, sketch |
| resolution | COMBO | 2K | 3 options: 1K, 2K, 4K |
| aspect_ratio | COMBO | 4:3 | 5 options: 1:1, 4:3, 3:4, 16:9, 9:16 |
| watermark | BOOLEAN | false | — |
| api_key | STRING | — | |
| max_tokens | INT | 2000500–4000 | — |
| temperature | FLOAT | 0.80–2 | — |
| reference_imagesopt | IMAGE | — | |
| reference_image_2opt | IMAGE | — | |
| reference_image_3opt | IMAGE | — | |
| reference_image_4opt | IMAGE | — | |
| reference_image_5opt | IMAGE | — | |
| reference_image_6opt | IMAGE | — | |
| reference_image_7opt | IMAGE | — | |
| reference_image_8opt | IMAGE | — | |
| reference_image_9opt | IMAGE | — | |
| reference_image_10opt | IMAGE | — | |
| reference_image_11opt | IMAGE | — | |
| reference_image_12opt | IMAGE | — | |
| reference_image_13opt | IMAGE | — | |
| reference_image_14opt | IMAGE | — | |
| character_descriptionopt | STRING | — | |
| background_styleopt | STRING | — | |
| story_themeopt | STRING | — | |
| sequential_generationopt | COMBO | auto | 2 options: disabled, auto |
| reference_modeopt | COMBO | single_per_scene | 2 options: single_per_scene, multi_fusion |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| comic_images | IMAGE | — |
| story_text | STRING | — |
| story_structure | STRING | — |
| generation_info | STRING | — |