Seedream Text to Image
Seedream text-to-image without a 15GB checkpoint
- generated_image
Seedream is ByteDance's flagship image line, and it is API-only - ByteDance's posture is that anything they sell stays on the API, so you will never download these weights to run locally (the KB's ByteDance panel is blunt about this two-track strategy). This node is the ComfyUI end of that deal: you type a prompt, it phones BytePlus's Ark cloud, and a Seedream 3.0 image comes back as a normal IMAGE tensor. Your GPU does none of the work, which is exactly the point when you want Seedream quality inside a ComfyUI workflow without babysitting a huge checkpoint.
Why would you reach for this instead of a local model? Two reasons, honestly. First, Seedream is genuinely good at photorealistic scenes and detailed prompts - it's a competitive flagship, not a gimmick. Second, sometimes you just want the result wired into the rest of your graph (upscale it, feed it to an image-to-video node) rather than saved from a web page. The trade is that it costs money per image and you're trusting a cloud API.
How it works
The node builds a payload with your prompt, a size preset, and an optional seed, then POSTs it to /images/generations with model seedream-3-0-t2i-250415. The response is a URL; the node downloads that image and converts it into a standard IMAGE tensor so everything downstream just works. It's synchronous - one request, one image, no task polling like the video nodes.
Inputs and outputs that matter
- prompt - your whole prompt, multiline. Be specific; Seedream rewards detail the way the flagship image models do.
- size - nine fixed aspect presets (
1024x1024,1152x896,896x1152, the 1216/1344/1536 variants, and their portrait flips). Pick the one closest to your target; there's no arbitrary width/height here. - seed - set a number for reproducible results, leave
-1for random.
That's it. The output generated_image (IMAGE) plugs into Save Image, a preview node, an upscaler, or straight into an image-to-video node.
Install
Clone the pack, install requirements, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/FloyoAI/ComfyUI-Seed-API
cd ComfyUI-Seed-API
pip install -r requirements.txt
Or use ComfyUI Manager and search for "ComfyUI Seed API Integration". The real dependency is the API key, not packages: grab one at byteplus.com and put it in config.ini under [API] (or set BYTEPLUS_API_KEY as an environment variable), then restart. All image requests fail without it.
Where people get burned
The classic failure is a clean-looking black 512×512 image - that's the pack's error fallback, not a legit output. The node swallows exceptions and hands back a blank tensor, so if you see black, read the ComfyUI console for the actual error. Usual causes: no/placeholder API key, or a model your BytePlus account hasn't been granted (Seedream 3.0 needs to be enabled for your key). One more wrinkle: this class name also exists in a different pack (ComfyUI-NanoSeed), and some registry listings show that node's inputs - a fal_key, a model dropdown, image_size presets - instead of this BytePlus one. If you installed this pack, the node you get is exactly the prompt/size/seed version described here. Budget a few cents per image and you're set.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | A beautiful cinematic image | — |
| model | COMBO | 2 options: seedream_5_lite, seedream_4.5 | |
| fal_key | STRING | your_fal_key_here | — |
| image_sizeopt | COMBO | auto_2K | 10 options: auto_2K, auto_3K, auto_4K, square_hd, square, portrait_4_3, +4 |
| widthopt | INT | 00–4096 | — |
| heightopt | INT | 00–4096 | — |
| num_imagesopt | INT | 11–6 | — |
| max_imagesopt | INT | 11–6 | — |
| seedopt | INT | 00–4294967295 | — |
| enable_safety_checkeropt | BOOLEAN | true | — |
| return_byteplus_urlsopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| generated_image | IMAGE | — |