CatsAPI Seedream 5 Pro
The flagship ByteDance image, on tap
- reference_image
- images
- file_paths
- cost_coins
- task_id
- metadata
Seedream 5 Pro is the flagship tier of ByteDance's image line, and this node is the door into it from ComfyUI. If you've read the Lite article, here's the short version: it's the same node in every way that matters - same inputs, same outputs, same wrapper, one different model key under the hood. Pro is the version you pay up for when the render has to be the good one: a client shot, a hero image, a portfolio piece. Lite is for drafts and experiments.
Why you'd reach for it
Seedream has no open weights, and Pro is the strongest member of a family you can't download. For anything that needs that closed-model quality inside a workflow - then composited, upscaled, or masked by your local nodes - this is how it gets there. The whole trade is on the table: no GPU, no VRAM dance, but every run costs coins, and your prompt leaves the machine to a server whose content policy is ByteDance's, not yours.
How it works
Identical machinery to the rest of the CatsAPI pack: the node asks the server what a run will cost, checks your balance and the max_coins cap, submits the prompt, polls until the job completes, downloads the PNGs into ComfyUI/output/catsapi/, and converts them to an IMAGE tensor. The code-level difference between Pro and Lite is literally one line - the model key seedream5Pro instead of seedream5Lite. Everything downstream is shared.
The inputs that matter
prompt- multiline; the whole job.image_size- square (default) or portrait/landscape 4:3 / 16:9. There's noresolutionorqualityinput;imageSizeis all Seedream 5 accepts.num_images- 1 to 4 per run.seed--1leaves it to the API; set a non-negative value to reproduce a result.max_coins- the spending gate.reference_image- up to 4 images; a hard error beyond that.api_key_override- leave empty on your own box.
Outputs
images (the IMAGE tensor), file_paths (the downloaded PNG paths as JSON), cost_coins, task_id, metadata. Wire images straight into Preview Image or the next stage of your graph.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/maodeyu180/ComfyUI_Catsapi.git
Restart, then:
export CATSAPI_API_KEY=cats-your-key
python main.py
(~/.catsapi.env is an alternative.) No pip install needed - the client is pure stdlib.
Common issues
- Pro costs more than Lite - that's the whole point of the tiering, and
cost_coinstells you the difference per run. Prototype on Lite, then switch this node in once the prompt is right. - No reproduction -
seedat -1 randomizes; set it. - Reference batch too big - more than 4 into
reference_imageis a deliberate hard error. - Key problems - the key must start with
cats-, and any key with...in it is rejected before sending.
As with the rest of this pack, the honest note: it's a young first-party integration with zero Reddit footprint. Inspect the small source if you're the paranoid sort, keep the key in an env var, and never share a workflow with api_key_override filled in, because it's baked into the JSON.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image_size | COMBO | square | 5 options: square, portrait_4_3, landscape_4_3, portrait_16_9, landscape_16_9 |
| num_images | INT | 11–4 | — |
| max_coins | INT | 00–100000 | — |
| reference_imageopt | IMAGE | — | |
| api_key_overrideopt | STRING | — | |
| seedopt | INT | -1-1–2147483647 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| file_paths | STRING | — |
| cost_coins | INT | — |
| task_id | STRING | — |
| metadata | STRING | — |