Nodes/Comfyui-zhenzhen/Zhenzhen Doubao Seedream4.5
ComfyUI Node

Zhenzhen Doubao Seedream4.5

The fast ByteDance image model that punches above Nano Banana

By T8mars·Created about a year ago·Updated 2 days ago· 740
Zhenzhen Doubao Seedream4.5
  • image1
  • image2
  • image3
  • image4
  • image5
  • image
  • response
  • image_url
prompt
modeldoubao-seedream-4-5-251128
response_formatb64_json
resolution2K
aspect_ratio16:9
width1024
height1024
apikey
sequential_image_generationdisabled
max_images1
seed-1
watermarkfalse
streamfalse
skip_errorfalse

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-251128 by default; leave it.
  • response_format - url or b64_json. url is lighter on memory if you're cranking out batches; b64_json is what the node decodes into the IMAGE output. Either way you get the image.
  • resolution - 2K or 4K. 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.

Categoryzhenzhen/Doubao

Inputs (19)

NameTypeDefaultDescription
promptSTRING
modelSTRINGdoubao-seedream-4-5-251128
response_formatCOMBOb64_json2 options: url, b64_json
resolutionCOMBO2K2 options: 2K, 4K
aspect_ratiooptCOMBO16:910 options: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, +4
widthoptINT102464–8192
heightoptINT102464–8192
apikeyoptSTRING
image1optIMAGE
image2optIMAGE
image3optIMAGE
image4optIMAGE
image5optIMAGE
sequential_image_generationoptCOMBOdisabled2 options: disabled, auto
max_imagesoptINT11–15
seedoptINT-1-1–2147483647
watermarkoptBOOLEANfalse
streamoptBOOLEANfalse
skip_erroroptBOOLEANfalse开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。

Outputs (3)

NameTypeDescription
imageIMAGE
responseSTRING
image_urlSTRING