Nodes/SpicyAPI/Seedream 4.0 · Image Editing
ComfyUI Node

Seedream 4.0 · Image Editing

Pick the exact pixels before you describe the change

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Seedream 4.0 · Image Editing
  • image_urls
  • images
  • task id
◄prompt►
◄size2048*2048►
◄seed0►

Most editing nodes give you a prompt box and hope. This one gives you a dropdown of sixteen exact output sizes - 2048*2048 by default, up to 4096*2304 - and charges the same money whichever you pick. If you're restyling a character sheet and frame 12 has to be the same dimensions as frame 11, that dropdown is the whole reason to reach for it.

Seedream 4.0 arrived in September 2025 and immediately became the closed image model people argued about, usually against Google's Nano Banana. It never shipped weights. That's ByteDance's pattern: every flagship it sells stays on an API, while the components underneath (SDXL-Lightning, PuLID, Depth Anything) go out free. An API node is the only door into this model, and this is the editing door.

What the node actually does

It's an HTTP client wearing a node costume. When you hit Run, the node encodes each connected image to PNG (JPEG, quality 95 down to 85, if it would blow past the 10 MiB upload ceiling), uploads it, asks SpicyAPI for a price quote, and if the quote is inside your limit it submits the job and polls until the result comes back. The returned picture lands on the images output as a normal ComfyUI IMAGE tensor, indistinguishable from something your local sampler made. Your GPU does nothing here.

The inputs that matter

  • prompt - the instruction. Say what to produce, not just what to remove, and say what must survive.
  • image_urls - one to ten sources, each one its own socket, and order matters because your prompt refers to them in that order. A batch wired into a single socket counts as several images.
  • size - the sixteen width*height presets. This is the field that makes the node worth using, and the one to set first when you're building a consistent set.

That's the whole node. Two things it deliberately doesn't have: no seed and no strength dial. You cannot lock a variation, and every run is a fresh draw - so save the one you like rather than re-queueing hoping to rediscover it. If repeatability matters more than size control, the Seedream 5.0 nodes carry a seed field and this one doesn't.

Wiring the output

images goes to Save Image, to a preview, or into any local stage you want - an upscaler, a matte, an IPAdapter chain. The second output, task id, is a plain STRING with the SpicyAPI task id; you only touch it when something went wrong and you need support to look up the exact request.

Installing it

One git clone, no dependencies, no weights, no GPU requirement.

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart ComfyUI, then open Settings > SpicyAPI and paste a key from spicyapi.ai/console/keys; on a headless server set SPICY_API_KEY instead. Restart once more so the node list is rebuilt from your account. ComfyUI Manager works too - search the pack title, SpicyAPI.

The money part

$0.03 per image here, which is a flat rate: a 4096×2304 edit costs the same as a 1024×1024 one, so use the big preset when the shot deserves it. The node shows its rate, and every run is quoted before it starts. Set Settings > SpicyAPI > Max cost per run and a run quoted above it stops before anything is charged - that's the only hard brake you get, so set it. Note the default seed behaviour is fixed: queueing the same graph twice reuses the first result instead of billing you again.

When it goes wrong

The common ones aren't mysterious. No SpicyAPI key is set means exactly that. An error naming 40004 means no deployment serves the combination you picked - change the option the message names, the request never went out. A model you saw on the site but not in your node menu needs a ComfyUI restart, since the list is built from your account at startup. And cancelling a run only stops you waiting: the job keeps going on SpicyAPI and is charged if it succeeds.

CategorySpicyAPI/Image/ByteDance

Inputs (4)

NameTypeDefaultDescription
promptSTRINGDescribe the image to produce from the source: subject, composition, style, and lighting.
image_urlsCOMFY_AUTOGROW_V3Source images that you are authorised to process.
sizeCOMBO2048*2048Output image size in pixels, written as width*height.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.

Outputs (2)

NameTypeDescription
imagesIMAGE—
task idSTRINGThe SpicyAPI task id, for the console logs or support.