Qwen Image 2.0 Edit
The next-gen Qwen editor with Standard and Pro tiers
- client
- image
Qwen Image 2.0 Edit is the WaveSpeed-hosted version of the Qwen image editor, and it's the node you reach for when you want sentence-driven image edits without running a local model. It's the successor to the Qwen-Image-Edit line - the KB panel describes that family as the instruction editor that took the work masks and adapters used to do - and this 2.0 generation folds editing into a 7B unified model that shipped API-only. So this node is the practical way to use it: images in, a bilingual prompt, edited image out.
If you've read the pack's other Qwen edit nodes, the shape is familiar: up to three reference images, a prompt in Chinese or English, output size you control, and a choice between Standard and Pro quality. What's genuinely worth noting is the Pro tier - the model dropdown offers "Qwen Image 2.0" (standard) and "Qwen Image 2.0 Pro" (higher quality), which is the same two-tier choice you see across the Qwen 2.0 API line. Standard for iterating, Pro for the final pass.
The inputs that matter
model- Qwen Image 2.0 (standard) or 2.0 Proprompt- the modification, in Chinese or Englishimages- up to 3 reference images, comma-separated URLs or pathswidth/height- output size, 256 to 1536 (step 8)output_format- output image format (default jpeg)enable_sync_mode- wait for completion before returningenable_base64_output- return base64 instead of a URLseed- reproducibility, -1 for randomclient- optional WaveSpeed client
The output is a single image IMAGE tensor - the node downloads the result for you, so unlike the video nodes it hands you something the rest of your graph can use directly.
The honest limits
Qwen editors re-emit the whole frame. The KB's inpainting essay makes the point with receipts: an edit model takes the whole image into context and emits a whole new image, so pixels you never asked about shift, and drift compounds across a chain of edits. "With QWEN and Kontext it tends to shift other details not asked for" is a real, repeated community complaint. The fix, when you need surgical edits, is to bolt a mask back on - which is exactly what the pack's Regional Prompt Builder + Region Mask pair is for. But for one-shot changes - swap the background, change the lighting, restyle the outfit - this node is the whole job in a single call.
Install and setup
cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk && pip install -r requirements.txt
Or "ERPK Custom Nodes" from ComfyUI Manager, restart, and set a WaveSpeed API key in ERPK Settings (right-click canvas).
Troubleshooting
The images field is a string, not an IMAGE tensor - a recurring gotcha across this pack's WaveSpeed image nodes. If you're generating the source image inside ComfyUI, you'll need to save it and reference the file path, or host it. The 3-image cap is enforced server-side; the tooltip says max 3, and more gets truncated. And remember the aspect ratio is locked by your width/height inputs - set them to match your source image's shape or you'll get the edit at an unintended aspect. For clean multi-step changes, do them one at a time rather than stacking a dozen instructions into one prompt.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | Qwen Image 2.0 | Model variant: Qwen Image 2.0 (standard) or Qwen Image 2.0 Pro (higher quality) |
| prompt | STRING | Text description of the desired image modifications (Chinese or English) | |
| images | STRING | Reference images to edit. Maximum of 3 images can be provided (comma-separated URLs or paths) | |
| clientopt | WAVESPEED_AI_API_CLIENT | WaveSpeed API client (optional if API key is configured in Settings) | |
| widthopt | INT | 1024256–1536 | Image width (256 to 1536) |
| heightopt | INT | 1024256–1536 | Image height (256 to 1536) |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducibility (-1 for random) |
| output_formatopt | COMBO | jpeg | Output image format |
| enable_sync_modeopt | BOOLEAN | false | Wait for completion before returning response |
| enable_base64_outputopt | BOOLEAN | false | Return BASE64-encoded output instead of URL |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |