Nodes/ComfyUI fal.ai Nodes/Qwen Image Edit (fal.ai)
ComfyUI Node

Qwen Image Edit (fal.ai)

The instruction editor that made masks optional

By elle-trudgett·Created 5 months ago·Updated 5 months ago· 0
Qwen Image Edit (fal.ai)
  • image
  • image2
  • image3
  • image
prompt
num_images1
image_sizelandscape_4_3
custom_width1024
custom_height768
num_inference_steps28
guidance_scale4.5
seed-1
negative_prompt
output_formatpng
accelerationregular
enable_safety_checkertrue
private_modefalse

Hand it a picture and a sentence. "Change her dress to blue." "Remove the watermark." "Relight this for golden hour." FAL_QwenImageEdit is the API wrapper for Qwen-Image-Edit-2511 - the model that made a large chunk of image editing stop needing a mask, a ControlNet, or an IP-Adapter. It re-emits the whole frame from your instruction, which is exactly why it took over: you describe the change, it happens, and the pixels you didn't mention are supposed to hold still.

It ships in the same pack as the rest of the fal.ai nodes, so the story is the same: nothing local, your GPU idles, you pay fal per edit. The editor itself is Apache 2.0 and its weights are public - you're just choosing the hosted route because a 20B model with a Qwen2.5-VL encoder isn't something your 12GB card wants to host.

How it works

Your image tensor gets uploaded to fal, the node calls the fal-ai/qwen-image-edit-2511 endpoint with image_urls, and the result downloads back as an IMAGE. The 2511 revision is the one that matters - it's the build that explicitly targeted the image drift that made the earlier 2509 line annoying for chains of edits. You can feed up to three images (image, plus image2 and image3) for multi-image editing jobs, like merging reference material into the frame.

The inputs that matter:

  • image (required) + prompt (required) - everything else is optional.
  • image2 / image3 - optional reference images for multi-image edits.
  • num_inference_steps (default 28) and guidance_scale (default 4.5) - the edit endpoint runs hotter on guidance than the T2I node, and that's a fine default; don't feel the need to match other models' settings.
  • acceleration defaults to regular here (unlike the T2I node's none) - an indicator that this endpoint is expected to be a bit slower and benefits from the speed tier.
  • enable_safety_checker (default on), seed (-1 random), optional negative_prompt, png/jpeg/webp output_format, num_images (1–4).

One IMAGE output, wired straight into a Preview or Save.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/elle-trudgett/fal-ai-comfyui-nodes
pip install -r fal-ai-comfyui-nodes/requirements.txt

or grab it via ComfyUI Manager as ComfyUI fal.ai Nodes. Then set your key - export FAL_KEY="..." on the command line, or a config.ini with [API] / FAL_KEY in the node folder for ComfyUI Desktop. Get keys at fal.ai/dashboard/keys. Restart.

Where it bites

  • "FAL_KEY not set" is the universal first-run error here; env var or config.ini, restart, move on.
  • The honest limit: the whole frame is re-emitted. Pixels you never mentioned will still move a little, and identity drifts if you chain several edits. 2511 is much better than the first edits were, but the model's architecture doesn't pin unedited pixels. Bolt a mask on around it if you need pixel-exactness.
  • Safety checker defaults on, and fal's filter can hand you a flagged/black image. You can flip it off; their account policy still applies.
  • It costs per edit. Rapid A/B of prompts on the same image is a good way to discover fal pricing.
  • Errors come back as fal.ai error: <detail> - the pack unwraps the API's message, so read it before you re-run.

For the "change one thing and keep everything else" workflow that demands precision, consider masking + inpainting with an open model. For everything else - object removal, garment swaps, restyling, re-posing - this is the node people actually reach for.

Categoryfal.ai/Image

Inputs (16)

NameTypeDefaultDescription
imageIMAGE
promptSTRING
image2optIMAGE
image3optIMAGE
num_imagesoptINT11–4
image_sizeoptCOMBOlandscape_4_37 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, +1
custom_widthoptINT102464–14142
custom_heightoptINT76864–14142
num_inference_stepsoptINT281–50
guidance_scaleoptFLOAT4.51–20
seedoptINT-1-1–2147483647
negative_promptoptSTRING
output_formatoptCOMBOpng3 options: png, jpeg, webp
accelerationoptCOMBOregular3 options: none, regular, high
enable_safety_checkeroptBOOLEANtrue
private_modeoptBOOLEANfalse

Outputs (1)

NameTypeDescription
imageIMAGE