FAL Seedream 5.0 Pro Edit
Seedream 5.0 Pro edits, inside ComfyUI — ByteDance's closed image editor over FAL
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- images
- image_paths
- generation_info
- generation_time
ByteDance's Seedream line has never shipped open weights - the entire thing is API-only - so if you want Seedream 5.0 Pro editing a picture inside ComfyUI, you go through a wrapper like this one. FAL Seedream 5.0 Pro Edit (class FalAPI_SeedreamV5ProEdit) uploads your images to fal.ai, waits for the ByteDance model to do its thing, and hands you back a tensor. No local GPU, no giant model file, no sampler settings to chase. You pay per call, and it's billed through FAL.
How it works
The node uploads up to 10 images to FAL, calls the bytedance/seedream/v5/pro/edit endpoint through fal-client, polls until the job finishes, downloads the results, and saves them to output/API/FAL/seedream-v5-pro-edit/ as numbered files with a JSON metadata sidecar per image. Empty (near-black) inputs on the optional slots are auto-skipped, so you can leave image2–10 disconnected without error. Seedream 5.0 launched as a preview around February 2026 and built a reputation for strong prompt adherence and unusually reliable text/clock rendering - one of the current-gen closed models people compare open ones against.
Inputs that matter
- prompt - a multiline text field, and it's doing the real work. Say what to change ("replace the background with a beach at sunset"). The default is the unhelpful "Edit the image according to the prompt," so change it.
- image1 - the required source image. The other nine are optional.
- size_preset - 13 one- and two-K presets across 1:1, 3:4, 4:3, 16:9, 9:16, 2:3, 3:2 and 21:9. Pick Custom and the
width/heightsliders kick in (1024–3136 × 1024–2496, default 2048×2048). - num_images - 1 to 6, so you can roll multiple edits in one call.
- output_format (jpeg/png), enable_safety_checker (on by default), and api_key, which defaults from the
FAL_KEYenvironment variable.
Outputs
- images - the result as an
IMAGEtensor; it's batched if you asked for more than one. - image_paths - semicolon-joined paths of the saved files.
- generation_info - the raw API result as JSON.
- generation_time - a string like
12-34, seconds and centiseconds.
Gotchas - the real ones
- It fails silently. On an API error the node doesn't throw; it returns a 1×64×64 black image and buries the error in
generation_info. Check the console ([SeedreamV5ProEdit] Error: ...) or that output before you assume a black image is the model's creative choice. - Every queue run is a new billable call. The node marks itself always-changed, so re-running the queue re-bills even with identical inputs. Don't leave this wired into a big batch loop.
- No key, no go. With an empty key and no
FAL_KEYset, you get a hardValueError. Prefer the environment variable over pasting the key into every workflow - pasted keys end up embedded in saved workflow JSON.
Install
ComfyUI Manager → search Node_Fun_ComfyUI, or:
cd ComfyUI/custom_nodes
git clone https://github.com/nofunstudio/Node_Fun_ComfyUI
pip install -r requirements.txt
Restart, then set FAL_KEY. The requirements are just replicate and fal-client - nothing heavy. One caveat worth saying plainly: the author of this pack is essentially unknown in the community, and custom nodes run with full OS access, so give the repo a skim before you hand it a live API key and a billing account. For the convenience of poking at a state-of-the-art closed editor from your normal graph, that's a fair trade for most people - just go in with eyes open.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| prompt | STRING | Edit the image according to the prompt. | — |
| image1 | IMAGE | — | |
| size_preset | COMBO | Custom | 14 options: Custom, (1K) 1024x1024 (1:1), (1K) 864x1152 (3:4), (1K) 1152x864 (4:3), (1K) 1312x736 (16:9), (1K) 736x1312 (9:16), +8 |
| width | INT | 20481024–3136 | — |
| height | INT | 20481024–2496 | — |
| num_images | INT | 11–6 | — |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| image9opt | IMAGE | — | |
| image10opt | IMAGE | — | |
| output_formatopt | COMBO | png | 2 options: jpeg, png |
| enable_safety_checkeropt | BOOLEAN | true | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| image_paths | STRING | — |
| generation_info | STRING | — |
| generation_time | STRING | — |