Zhenzhen Doubao Seedream4.5
The fast ByteDance image model that punches above Nano Banana
- image1
- image2
- image3
- image4
- image5
- image
- response
- image_url
If you've been paying per-call for Google's Nano Banana and wincing at both the bill and the wait, this is the node that makes you question the habit. Comfly_Doubao_Seedream_4_5 is a Zhenzhen-pack wrapper around ByteDance's Doubao Seedream 4.5 image model, and the pack author's own framing is the whole pitch: it renders noticeably faster than Nano Banana 2, holds character consistency better, and starts at a base of 0.15 credits per image with 2K and 4K output on tap. For a reseller relay, that's a genuinely good value claim - and it's the one I'd reach for when I need a clean 4K hero shot without babysitting a job queue.
ByteDance is the two-track company in this space: everything flagship (the entire Seedream and Seedance line) is API-only, while it quietly open-sources the infrastructure the local ecosystem runs on. Seedream is very much the API product, which is exactly what this node is - it phones home to the Zhenzhen relay, which passes the request to ByteDance, then the node downloads the finished image back into your graph. No weights, no VRAM, no model download. Your machine is just the client.
The inputs that matter
The required set is small and self-explanatory:
- prompt - the thing you're making.
- model -
doubao-seedream-4-5-251128by default; leave it. - response_format -
urlorb64_json.urlis lighter on memory if you're cranking out batches;b64_jsonis what the node decodes into the IMAGE output. Either way you get the image. - resolution -
2Kor4K. Both are supported; 4K costs more.
Where it gets interesting is the optional side. image1 through image5 turn the node from text-to-image into an image editor - reference up to five inputs and the model will edit them per your prompt. That's the character-consistency trick: feed it a face or a style frame and it stays on-model across generations. aspect_ratio offers ten presets from 1:1 to 21:9, plus Custom, where width and height take over (anywhere from 64 to 8192). max_images lets you batch up to 15 at once - mind the credits, each one bills - and sequential_image_generation decides whether the batch runs in lockstep. seed is there for reproducibility, and watermark toggles the model's marker if the relay passes it through.
Outputs: image (a real IMAGE tensor, so wire it straight into a preview or a save node), response (the raw JSON, useful for debugging), and image_url (the hosted URL if you need it elsewhere).
Installing and getting a key
This is an API pack, so installation is about the code, not a multi-gigabyte download. Two ways:
# ComfyUI Manager: search "Comfyui-zhenzhen", install, restart
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
Then restart ComfyUI. The pack's requirements (aiohttp, requests, opencv-python, Pillow, numpy, torch) are handled by the Manager. What you actually need is a Zhenzhen account and an API key from ai.t8star.org (overseas) or api.seedance.nz (the China-facing site, which prices ByteDance models at a discount). Paste the key into the apikey field - it lives in the workflow widget, not a config file, so don't go hunting for one.
Where people get burned
The standard Zhenzhen-pack failure modes apply. If the node throws a 500, that's usually the upstream provider choking, not your setup - re-run and it typically sails through. If you're outside the regions the overseas site likes, you may hit 443 connection errors until you route through a VPN. And the usual API-wrapper caveat from the community still holds: your prompt and reference images leave your machine, per-call cost adds up faster than a local model, and Seedream's content filter is ByteDance's, not yours. Keep skip_error off while you're learning - when it's on, a failed job silently hands you an empty image and you'll spend an hour wondering why.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | STRING | doubao-seedream-4-5-251128 | — |
| response_format | COMBO | b64_json | 2 options: url, b64_json |
| resolution | COMBO | 2K | 2 options: 2K, 4K |
| aspect_ratioopt | COMBO | 16:9 | 10 options: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, +4 |
| widthopt | INT | 102464–8192 | — |
| heightopt | INT | 102464–8192 | — |
| apikeyopt | STRING | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| sequential_image_generationopt | COMBO | disabled | 2 options: disabled, auto |
| max_imagesopt | INT | 11–15 | — |
| seedopt | INT | -1-1–2147483647 | — |
| watermarkopt | BOOLEAN | false | — |
| streamopt | BOOLEAN | false | — |
| skip_erroropt | BOOLEAN | false | 开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| response | STRING | — |
| image_url | STRING | — |