Nodes/Quality of Life Nodes for ComfyUI/FAL Seedream v4.5 Edit (Soze)
ComfyUI Node

FAL Seedream v4.5 Edit (Soze)

ByteDance's frontier editor, as a graph node

By SozeInc·Created 2 years ago·Updated 8 days ago· 10
FAL Seedream v4.5 Edit (Soze)
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • image_10
  • image_batch
  • images
  • image_urls
  • image_count
  • seed
  • status
prompt
image_sizeauto_2K
num_images1
max_images1
enable_safety_checkertrue
seed0
sync_modefalse

Seedream is ByteDance's image generation family, and v4.5 is the version that made the hosted frontier models feel genuinely strong at editing - re-render an input image with a prompt, keep what should stay, change what shouldn't. FAL Seedream v4.5 Edit wraps fal-ai/bytedance/seedream/v4.5/edit in a single node: up to ten input images, a prompt, and the edited results come back into your graph as a real IMAGE batch.

Paid hosted API, like every FAL node in this pack. No local model, no VRAM pressure on your machine - the trade is that every run costs money and every run depends on fal's network being up.

How it works

The required inputs:

  • prompt - the edit instruction. Multiline.
  • image_size - the notable option here is auto_2K and auto_4K alongside the usual square, portrait_16_9, etc. Auto sizes infer from your input images; 4K is the "I want the big one" pick and bills accordingly.
  • num_images (1–8) - how many results to generate for the same edit.
  • max_images (1–8) - set above 1 to enable multi-image generation (the API can produce several variant outputs in one call).
  • enable_safety_checker - on by default. This is a hosted model with ByteDance's content filter in the loop; turn it off only if you're confident about what you're generating and you've read fal's terms.
  • seed - 0 lets fal choose (and the node reports back the seed it used); any other value pins the result for reproducibility.

Reference inputs: ten image_N slots or an image_batch (capped at ten frames, individual slots winning). sync_mode makes fal return images as data URIs instead of public URLs.

Outputs: images (the IMAGE batch, aligned so ComfyUI handles them), image_urls (newline-joined), image_count, seed (the seed actually used - wire it into your logs), and status, with live progress on the node body.

When it's worth it

Seedream 4.5's edit quality is genuinely top-tier - this is the node you reach for when a local SDXL edit pipeline keeps mangling the thing you're trying to preserve, or when you want the "frontier model did it" look without renting your own A100. Text-in-image edits, coherent restyles, and multi-image variants are its strengths. If your edit is trivial (a small region inpaint), local models are cheaper and faster - this node earns its cost on the jobs where quality is the point.

Getting it running and gotchas

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt

Then configure FAL_KEY - environment variable, .env in the pack root, or config.ini under [API]. Missing key = "FAL_KEY is not configured" on the node body.

The gotchas that actually bite: a blank prompt makes the node skip cleanly (returns a placeholder, no crash - but also no image, so don't mistake "ran fine" for "did something"), reference uploads can fail per-slot and show in status, and the max_images/num_images pair is easy to confuse - num_images is how many to render, max_images is the cap that unlocks multi-image mode. Set max_images back to 1 when you want a single result, or you'll keep getting variants you didn't ask for.

CategoryFAL/ImageGeneration

Inputs (18)

NameTypeDefaultDescription
promptSTRING
image_sizeCOMBOauto_2K8 options: auto_2K, auto_4K, square_hd, square, portrait_4_3, portrait_16_9, +2
num_imagesINT11–8
max_imagesINT11–8If >1, enables multi-image generation.
enable_safety_checkerBOOLEANtrue
seedINT00–184467440737095500000 = let FAL choose.
image_1optIMAGEInput image slot 1. Overrides image_batch when connected.
image_2optIMAGEInput image slot 2. Overrides image_batch when connected.
image_3optIMAGEInput image slot 3. Overrides image_batch when connected.
image_4optIMAGEInput image slot 4. Overrides image_batch when connected.
image_5optIMAGEInput image slot 5. Overrides image_batch when connected.
image_6optIMAGEInput image slot 6. Overrides image_batch when connected.
image_7optIMAGEInput image slot 7. Overrides image_batch when connected.
image_8optIMAGEInput image slot 8. Overrides image_batch when connected.
image_9optIMAGEInput image slot 9. Overrides image_batch when connected.
image_10optIMAGEInput image slot 10. Overrides image_batch when connected.
image_batchoptIMAGEOptional IMAGE batch (capped at 10 frames). Ignored if any image_N slot is connected.
sync_modeoptBOOLEANfalseIf True, FAL returns images as data URIs instead of public URLs.

Outputs (5)

NameTypeDescription
imagesIMAGE
image_urlsSTRING
image_countINT
seedINT
statusSTRING