Nodes/ComfyUI-fal-API/Qwen Image Edit (fal)
ComfyUI Node

Qwen Image Edit (fal)

The open instruction editor, run on someone else's GPU

By gokayfem·Created 2 years ago·Updated a day ago· 203
Qwen Image Edit (fal)
  • image
  • IMAGE
prompt
image_sizesquare_hd
width512
height512
num_inference_steps30
guidance_scale4.0
num_images1
enable_safety_checkertrue
output_formatpng
accelerationnone
sync_modefalse
negative_prompt
seed-1

Qwen-Image-Edit is the model that killed a whole class of masking work: hand it a picture and a sentence - "change her dress to blue," "remove the watermark," "make him lie down" - and the change just happens, no mask, no ControlNet, no IP-Adapter. It won its category over Flux Kontext largely on licensing (Apache 2.0, so the community could build freely on it) and it's become the default open instruction editor. This node runs it through fal instead of on your own card.

What it actually does - and the honest catch

Nothing runs locally. Your image and prompt go to fal.ai, fal runs Qwen-Image-Edit, and you get an edited IMAGE back - no 20B checkpoint download, no VRAM, billed per call.

Here's the thing worth saying out loud, because it's the whole decision: Qwen-Image-Edit is open weights, so you can run it locally, and the model's real superpower is its enormous LoRA library - AnyPose, Multiple-Angles, Next Scene, Clothing Transfer, all trained specifically on this editor. You don't get any of that through the API. This node gives you the base model's editing, conveniently and without hardware, but if you're chasing pose control or camera-angle sliders, the local GGUF path plus those LoRAs is where the magic lives. Use this node when you want quick, clean instruction edits without setting up a 20B model; reach for local when you want the ecosystem.

The inputs that matter

  • image (required): the picture you're editing.
  • prompt (required): the instruction, in plain language. Describe the change, not the whole scene.
  • image_size: presets like square_hd, portrait_16_9, landscape_4_3, or custom. This model is sensitive to input resolution (it's the root of its offset/drift problem), so it matters - set custom and use width/height when you need to match the source exactly.
  • num_inference_steps (default 30) and guidance_scale (default 4): more steps for quality, guidance for how hard it follows the prompt. The defaults are sane; leave them until you have a reason.

num_images rolls options (billed each), acceleration (none/regular/high) trades a little quality for speed, and there's an optional negative_prompt and seed. The output is a native IMAGE - straight into Save Image, an upscaler, or another edit pass.

Installing it

Easiest: 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/; the dependencies are fal-client and a fal API key (copy config.ini.example to config.ini, set it under [API], or export FAL_KEY). No key, no edits.

Where people get burned

The defining limitation of Qwen-Image-Edit is that it re-emits the whole frame, not just the region you asked about - so pixels nobody touched come back slightly different, and on a chain of edits that drift compounds, worst on faces. Two practical defenses: control your input resolution (that's what image_size/width/height are for, and it's the same trick that fixes proportion skew), and if a specific face has to stay identical, plan to inpaint it back afterward. Don't expect pixel-perfect preservation from an instruction editor; that's a masking job.

Beyond that: enable_safety_checker is on by default and can block outputs, errors surface fal's real text, and Windows Portable import errors are fixed with .\python_embeded\python.exe -m pip install fal-client.

CategoryFAL/Image

Inputs (14)

NameTypeDefaultDescription
promptSTRING
imageIMAGE
image_sizeCOMBOsquare_hd7 options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, +1
widthINT512128–2048
heightINT512128–2048
num_inference_stepsINT301–50
guidance_scaleFLOAT4.01–20
num_imagesINT11–4
enable_safety_checkerBOOLEANtrue
output_formatCOMBOpng2 options: png, jpeg
accelerationCOMBOnone3 options: none, regular, high
sync_modeBOOLEANfalse
negative_promptoptSTRING
seedoptINT-1

Outputs (1)

NameTypeDescription
IMAGEIMAGE