Nodes/ComfyUI-fal-API/Seedream 4.0 Edit (fal)
ComfyUI Node

Seedream 4.0 Edit (fal)

ByteDance's multi-image 4K editor in ComfyUI

By gokayfem·Created 2 years ago·Updated a day ago· 203
Seedream 4.0 Edit (fal)
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • image_10
  • IMAGE
prompt
image_sizesquare_hd
width3840
height2160
num_images1
max_images1
enable_safety_checkertrue
sync_modefalse
seed-1

Seedream is ByteDance's image line, and like everything ByteDance actually charges for, it's API-only - no weights, no local checkpoint, no chance of loading it with a normal Load Checkpoint node. ByteDance runs a strict two-track posture: the components (SDXL-Lightning, PuLID, Depth Anything) ship open and become load-bearing infrastructure, while the products - Seedream for image, Seedance for video - stay closed on the API. If you want Seedream 4.0's editor in a ComfyUI graph, a bridge like this is the only route.

What makes the "Edit" endpoint interesting is that it eats up to ten input images and outputs up to 4K. That's a compositor as much as an editor: pull a subject from one shot, a background from another, a style reference from a third, and describe how they combine. It's the reach-for-it node when you're merging several real images into one clean, high-res result rather than editing a single picture.

What it actually does

Your images and prompt go to fal.ai, fal runs Seedream 4.0 Edit, and you get a native IMAGE back - no VRAM, no downloads, billed per generation. The multi-image conditioning is the point: the model reasons across all the references you feed it, which is where the high-resolution compositing quality comes from.

The inputs that matter

  • prompt (required): describe the composite/edit - what comes from where, and the final scene.
  • image_1 (required): your primary/anchor image.
  • image_2 … image_10 (optional): additional references. Wire in as many as the job needs.
  • image_size: a preset or custom; on custom, the width/height fields drive it - and note the defaults are big (3840×2160), which is the whole selling point.
  • num_images: 1–6 outputs per run, each billed.

There's a seed (-1 random), max_images, and safety/sync_mode toggles; defaults are fine. The single output is a native IMAGE - straight into Save Image, a preview, or downstream nodes.

Installing it

ComfyUI Manager → search ComfyUI-fal-API → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
cd ComfyUI-fal-API
pip install -r requirements.txt

Restart ComfyUI. No model file in models/; you need fal-client and a fal API key - config.ini under [API], or the FAL_KEY env var.

Where people get burned

Two Seedream-specific things. First, resolution drives cost hard - a 4K, six-image output is at the top of the bill, so prototype the composition at a smaller image_size and only crank it once the layout's right. Second, more input images isn't automatically better: feed it ten conflicting references and you get mush. Give it the two or three that actually matter and describe the relationship clearly.

The rest is standard: no FAL_KEY, no output; and if a run errors, read fal's real message - content-policy refusals and validation issues both come through as readable text rather than a silent blank. Identical calls are served free from the pack's cache, so any change is a fresh charge.

CategoryFAL/Image

Inputs (19)

NameTypeDefaultDescription
promptSTRING
image_1IMAGE
image_sizeCOMBOsquare_hd7 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, +1
widthINT38401024–4096
heightINT21601024–4096
image_2optIMAGE
image_3optIMAGE
image_4optIMAGE
image_5optIMAGE
image_6optIMAGE
image_7optIMAGE
image_8optIMAGE
image_9optIMAGE
image_10optIMAGE
num_imagesoptINT11–6
max_imagesoptINT11–6
enable_safety_checkeroptBOOLEANtrue
sync_modeoptBOOLEANfalse
seedoptINT-1-1–4294967295

Outputs (1)

NameTypeDescription
IMAGEIMAGE