Nodes/arkennemasis - ChatGPT / Codex / fal AI nodes/arkennemasis fal · Qwen Image 3 Edit · $0.04-0.075/image
ComfyUI Node

arkennemasis fal · Qwen Image 3 Edit · $0.04-0.075/image

Three references, one sentence, four cents

By Hishamahmer·Created 3 months ago·Updated 9 days ago· 11
arkennemasis fal · Qwen Image 3 Edit · $0.04-0.075/image
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • images
  • image_paths
  • seed
  • info
◄prompt►
◄negative_prompt►
◄image_sizesquare_hd►
◄image_size_width1024►
◄image_size_height1024►
◄enable_prompt_expansiontrue►
◄seed-1►
◄enable_safety_checkertrue►
◄num_images1►
◄output_formatpng►
◄max_cost_usd20.0►
◄reuse_identical_runtrue►
◄extra_json►
◄max_concurrent1►

Here's the annoying part of the local editing stack: Qwen-Image-Edit is the open instruction editor everyone actually uses, and it's frozen at 2511 - qwen.md is blunt about it, "the successor went closed", with Qwen-Image-2.0 shipping API-only. So the newest Qwen editing capability exists, and it's a call, not a download. This node is that call.

ArkFal_alibaba_qwen_image_3_edit edits an image from one to three reference pictures plus a natural-language instruction, preserving identity and detail while applying the change. It's $0.04 per image at 1K, $0.075 at 2K, and it lives in the fal branch of the pack.

When it beats doing it locally

Locally, Qwen-Image-Edit 2511 remains the pick for anything where a face has to survive the edit - the KB calls that its clearest remaining advantage. So this node isn't a replacement; it's the escape hatch. You reach for it when the GPU is tied up, when you want six variants without a six-minute render each, or when you're on a laptop and it's the difference between editing the picture and not.

You should also know what you're buying into, and that's the honest frame from external-api-nodes.md: your reference images and prompt leave the machine, the provider's moderation applies and can't be patched out, and in this specific pack's category a node that holds a key and calls the network by design is exactly the shape of thing you should look at once before its first run. This is a new pack with a large surface - that's a reason to read it, not a reason to avoid it.

What you actually set

  • prompt - the instruction. Up to 5,000 characters, Chinese or English. You refer to the references as "image 1", "image 2", "image 3", so ordering is meaningful.
  • image_1 - required. The model takes one to three references, so image_2 and image_3 are the ones you'll actually use; the extra optional sockets exist because each socket can carry a whole batch, sent through in socket order. Keep it at three references. Files want to be 384–2048px per side, max 10MB each, and JPEG/PNG/WebP with no alpha - transparency is flattened to RGB before upload.
  • image_size - square_hd by default. Pick one of fal's presets, or custom and use image_size_width / image_size_height (16–14142 in steps of 16, total pixels between 512² and 2048²).
  • num_images - 1 to 6, so you can generate a set of takes in one call. Cost scales with it.
  • enable_prompt_expansion - on by default, and it runs your prompt through an LLM first. That's usually a win for vague prompts and a loss for surgical ones. If you wrote "change the jacket to red, keep everything else", turn it off; the rewriter loves to add detail you didn't ask for.
  • negative_prompt, seed (-1 lets the model pick), enable_safety_checker (on; disabling needs account authorization and unauthorized requests are checked anyway), output_format.

Plus the shared fal controls: max_cost_usd (a $20 default cap that stops the run before anything is uploaded), reuse_identical_run (on - the same inputs return the already-paid result, even after a restart), extra_json and max_concurrent.

Outputs are images (an IMAGE batch), image_paths, the seed fal used, and info with the request id, cost estimate and fal's full answer.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis

Restart ComfyUI (or use Manager and search arkennemasis), then:

FAL_KEY=your-key-from-fal.ai/dashboard/keys

into the .env next to run_nvidia_gpu.bat. No key widget on the node, by design. No models to download either - fal holds the weights, which is the whole point.

Small print worth reading

The cost estimate this node shows is computed at the 2K rate, so a 1K run gets quoted at nearly double what fal will actually charge. Don't panic at the badge, and don't set max_cost_usd so tight that it blocks an honest run.

Results go to output/fal/alibaba_qwen-image-3_edit/. If a batch comes back at mixed sizes, the IMAGE output carries only the pictures matching the first one - all of them are still saved to disk, which is the pack quietly doing the right thing.

Last thing: the request is legal, and the outcome isn't guaranteed. Instruction editors drift identity, lighting and colour a little on every pass; if the face matters, that's still Qwen-Image-Edit 2511's home turf.

Categoryarkennemasis/fal/Image/Qwen

Inputs (20)

NameTypeDefaultDescription
promptSTRINGText prompt describing the desired edit. Supports Chinese and English. Max 5000 characters.
negative_promptSTRINGContent to avoid in the generated image. Max 500 characters. Empty leaves it out.
image_sizeCOMBOsquare_hdThe size of the generated image. If not provided, the model determines the resolution automatically. Total number of pixels must be between 512x512 and 2048x2048. 'custom' uses the width and height below.
image_size_widthINT102416–14142Width in pixels when image_size is 'custom'.
image_size_heightINT102416–14142Height in pixels when image_size is 'custom'.
enable_prompt_expansionBOOLEANtrueEnable automatic LLM prompt rewriting for better results.
seedINT-1-1–2147483647Random seed for reproducibility (0-2147483647). -1 leaves it to the model.
enable_safety_checkerBOOLEANtrueEnable content moderation for input and output. Disabling it requires account authorization; unauthorized requests are always checked.
num_imagesINT11–6The number of images to generate.
output_formatCOMBOpngThe format of the generated image.
image_1IMAGEReference images for editing (1-3 images required). Order matters: reference as 'image 1', 'image 2', 'image 3' in prompt. Resolution: 384-2048px each dimension. Max size: 10MB each. Formats: JPEG, JPG, PNG (no alpha), WEBP. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_2optIMAGEReference images for editing (1-3 images required). Order matters: reference as 'image 1', 'image 2', 'image 3' in prompt. Resolution: 384-2048px each dimension. Max size: 10MB each. Formats: JPEG, JPG, PNG (no alpha), WEBP. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_3optIMAGEReference images for editing (1-3 images required). Order matters: reference as 'image 1', 'image 2', 'image 3' in prompt. Resolution: 384-2048px each dimension. Max size: 10MB each. Formats: JPEG, JPG, PNG (no alpha), WEBP. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_4optIMAGEReference images for editing (1-3 images required). Order matters: reference as 'image 1', 'image 2', 'image 3' in prompt. Resolution: 384-2048px each dimension. Max size: 10MB each. Formats: JPEG, JPG, PNG (no alpha), WEBP. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_5optIMAGEReference images for editing (1-3 images required). Order matters: reference as 'image 1', 'image 2', 'image 3' in prompt. Resolution: 384-2048px each dimension. Max size: 10MB each. Formats: JPEG, JPG, PNG (no alpha), WEBP. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
image_6optIMAGEReference images for editing (1-3 images required). Order matters: reference as 'image 1', 'image 2', 'image 3' in prompt. Resolution: 384-2048px each dimension. Max size: 10MB each. Formats: JPEG, JPG, PNG (no alpha), WEBP. Each socket may carry a batch; they are sent in socket order (the first picture of socket 1 is number 1).
max_cost_usdoptFLOAT20.00–100000Safety cap. If the estimated cost of this run is above this many US dollars the node stops BEFORE sending anything to fal. 0 = no cap.
reuse_identical_runoptBOOLEANtrueIf these exact inputs (the settings AND the same pictures/clips/audio) were already paid for and the files are still in output/fal, return them instead of paying again - also after a ComfyUI restart. Turn off for a fresh take with the same settings.
extra_jsonoptSTRINGAdvanced: a JSON object merged into the request last, for any fal field this node has no box for. Example: {"seed": 7}. Leave empty normally.
max_concurrentoptINT11–32How many paid fal calls may run at the same time in one run, across every fal node. 1 (default) = one after another. This node starts its paid part only while fewer than this many fal calls are running. Once any fal node fails, the ones still waiting are not started, so nothing more is billed.

Outputs (4)

NameTypeDescription
imagesIMAGE—
image_pathsSTRING—
seedINT—
infoSTRINGJSON: request id, cost estimate, saved files and fal's full answer.