Nodes/ComfyUI Assistant Node/FAL SeeDream4 Edit (fal.ai)
ComfyUI Node

FAL SeeDream4 Edit (fal.ai)

SeeDream 4 image editing, via fal and inside your graph

By pvlprk·Created about a year ago·Updated 8 months ago· 1
FAL SeeDream4 Edit (fal.ai)
  • image
  • images
  • description
prompt
image_sizesquare_hd
width1024
height1024
seed0
num_images1
sync_modefalse

SeeDream 4 is the previous ByteDance flagship, and while 4.5 gets the hype, v4 still does one thing many people care about: instruction-based image editing that actually listens. This node calls fal's fal-ai/bytedance/seedream/v4/edit endpoint - give it a source image and a sentence like "change the car to red, keep the lighting," and it re-renders the image to match.

It sits in a crowded lane. Nano Banana edits, Qwen-Image-Edit, Flux Kontext - the hosted edit space is packed. What SeeDream 4 brings to that party is ByteDance's consistency: the model tends to hold the parts of the frame you didn't mention more steady than some rivals. Whether that holds for your specific images is something you'll want to A/B test, because these models vary by subject matter more than by benchmark.

How it works

Mechanically it's the same pattern as the other fal nodes in this pack: your IMAGE batch gets split into frames, each base64-encoded as a data URI, and sent to the v4 edit endpoint with your prompt, size, seed, and output count. Results come back and are repacked into a ComfyUI IMAGE tensor.

Note the image_size selector is purely a UI convenience - the source is explicit that only width and height are actually passed to the API. So if you set image_size to square_hd but leave width/height at the default 1024×1024, you get 1024×1024. Set the numbers, not the label.

The inputs that matter

  • prompt - the edit instruction. Specific is better; "add a cup of coffee on the desk" beats "add a cup."
  • image - what to edit. Batch input works; each frame becomes its own edit request.
  • image_size, width, height - pick a preset if you like, but width/height are what actually ship. Range is 512 to 4096.
  • seed - defaults to 0 (fixed, not random). Set a value to reproduce a result; change it to explore variations.
  • num_images - 1 to 8 outputs per input.
  • sync_mode - false by default; leave it.

Outputs: images (IMAGE) and description (STRING) - the endpoint can return a text caption of what it did, same as the fal Nano Banana node.

Installing it

Everything in this pack installs together:

cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes

Restart ComfyUI and set FAL_KEY in the environment before launching. No model downloads - SeeDream 4 is closed and runs on fal's servers; you're renting it.

Common issues

The image_size-vs-width/height disconnect is the trap here - plenty of people set square_hd and wonder why they're getting 1024×1024 instead of a "better" size. It's not broken; the preset just doesn't propagate. Second, remember every generation costs money on fal's account, and num_images multiplies that; an 8-way batch is 8 billings. Third, the edit-node failure mode: if your source image already has baked-in JPEG artifacts or a watermark, SeeDream tends to amplify rather than fix them - feed it the cleanest source you have. And as with every node in this pack, the image leaves your machine, so don't send anything you need to keep private.

CategoryPVL_tools

Inputs (8)

NameTypeDefaultDescription
promptSTRING
imageIMAGE
image_sizeCOMBOsquare_hd7 options: square_hd, square, portrait_3_4, portrait_9_16, landscape_4_3, landscape_16_9, +1
widthINT1024512–4096
heightINT1024512–4096
seedINT00–2147483647
num_imagesINT11–8
sync_modeBOOLEANfalse

Outputs (2)

NameTypeDescription
imagesIMAGE
descriptionSTRING