Qwen Image 2 · Image Editing
One image, one instruction, and a shape you have to choose yourself
- image_urls
- images
- task id
This is the stripped-down editor: exactly one source image, one instruction of up to 800 characters, a shape you pick yourself, one image out. No masks, no multiple references, no LoRA slot, no aspect-ratio inheritance. If you want the family's full toolkit, use the 2.1 or 2512 edit nodes. If you want "change this one thing, cheaply, without a hundred options to get wrong", this is the shortest path in the pack.
It's also the node to reach for when you're learning the workflow pattern, because instruction editing is the thing that quietly ate a large chunk of the old stack. Removal, garment swaps, relighting, re-posing - all of that used to be mask plus ControlNet plus an adapter, and now it's a sentence. Starting on the simple version makes the failure modes easier to see.
The inputs
prompt- describe the image to produce from the source: subject, composition, style, lighting. 800 characters is the ceiling, so spend them on the change, not on re-describing what's already in the picture.image_urls- exactly one source image. It's an autogrow socket, which is a little misleading since the schema allows precisely one; if you connect more, expect a rejected run rather than a smarter edit. The tooltip also reads "Source image that you are authorised to process" - vendor compliance language, but a fair reminder that this node uploads whatever you give it to a server you don't own.aspect_ratio- default 1:1, from a set of eight shapes. Read the tooltip twice: the output does not follow the source image. Feed it a landscape photo and you'll get a square edit unless you say otherwise, which is the single most common surprise here.seed- optional, fixed by default so re-queueing reuses the result instead of paying for a new one.
Outputs
images and task id. Straight IMAGE, so Save Image next.
Install and key
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Then restart ComfyUI. This pack installs nothing else - no weights, no extra Python packages, no GPU requirement, because the model runs on SpicyAPI's servers. Add a key from spicyapi.ai/console/keys under Settings > SpicyAPI and restart once so the node list comes from your account; on a server, set SPICY_API_KEY in the environment instead. The key never lives in a node widget, so it doesn't end up in shared workflows or in the metadata of your saved images.
Traps, from experience with the family
Set the aspect ratio deliberately, every time. Since it ignores your input, a batch of edits at the wrong shape is a batch you redo - at $0.035 an image.
Don't chain edits on the same face without expecting drift. That's the family's known weakness, and it's why the 2026 workflows add a mask back around the editor: crop to the region, edit, stitch, so the untouched pixels survive exactly. This node can't do that part for you.
Cancelling doesn't cancel. Interrupt in ComfyUI and the job keeps running on SpicyAPI, charged if it succeeds, with the result in your console for up to 14 days.
Put a ceiling on it. Settings > SpicyAPI > Max cost per run makes the node quote each run and refuse anything above your limit before charging. Errors you might see: No SpicyAPI key is set, 40310 for an unverified email, 40004 when no deployment serves your parameter combination, and an error ending in a task id when something upstream failed - send that id to support.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the image to produce from the source: subject, composition, style, and lighting. | |
| image_urls | COMFY_AUTOGROW_V3 | Source image that you are authorised to process. Exactly one. | |
| aspect_ratio | COMBO | 1:1 | Aspect ratio of the edited image. It does not follow the source image. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |