WaveSpeedAI Qwen Image Edit Plus
Three reference images, one edit, exact output size
- client
- output_image
The plain Qwen Image Edit node takes one image and a prompt. This is the version for when one image isn't the question: Qwen-Image-Edit Plus accepts up to three reference images, gives you explicit output sizing, and even offers a base64 output mode. It's the pack's multi-image Qwen editor without the LoRA slots - the LoRA version is its sibling if you need adapters too.
What it is
A hosted Qwen-Image-Edit node with multi-image input. Everything except the client is technically optional, but the intended flow is: a prompt describing the edit, image_url_1 as the primary reference (with image_url_2 / 3 optional, max three), a size from seven pixel presets (1328x1328 1:1 up to 1536x864 16:9) or a custom_size override, and the edited image returns as an IMAGE tensor. Chinese and English prompts both supported, per the tooltip.
How it works
client from the WaveSpeedAI Client node, then a POST to the Qwen image edit endpoint with the prompt, up to three image URLs, and the chosen size. The result downloads back as an IMAGE tensor. Two extras distinguish it: enable_base64_output (return a base64 string instead of fetching a tensor, useful if you're handing the result to a custom script) and the fact that size is enforced on output - set the canvas here and you don't crop afterward.
The inputs that matter
- prompt - the edit instruction; specific beats vague, and the multi-image version rewards describing how the references relate.
- image_url_1 / 2 / 3 - references. The three-image cap is a real limit; if the tooltip says max 3, don't fight it with more.
- size - preset ratios with real pixels, or custom_size (
1920*1080) to override. - seed, output_format (jpeg/png/webp), enable_base64_output, enable_sync_mode (default on).
Output name is output_image, type IMAGE.
Install & setup
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed.git
cd razv-wavespeed
pip install -r requirements.txt
or ComfyUI Manager → "razv-wavespeed" → Install, restart. API key from wavespeed.ai in config.ini (from config.ini.tmp), the Client node, or WAVESPEED_API_KEY. Deps: requests, pillow, numpy<2.0.0, torch.
Common issues
- Multi-image edits get confused - the more references, the more the model has to reconcile. If output looks like a blend of all three, drop to one or two and describe the relationship explicitly.
- "No output received" - unreachable image URLs (check the optional ones too) or timeout.
- Base64 output surprises - with enable_base64_output on, you don't get an IMAGE tensor; you get a string. Wire accordingly.
- 401 - key issue.
Where this fits: any edit that's really a composition - a character whose outfit you're assembling from multiple references, a scene you're rebuilding from several angles. If you also want style LoRAs in the mix, the Plus-LoRA variant of this same node is the one to reach for; this plain Plus version is the multi-image editor without the adapter baggage.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| promptopt | STRING | Edit instructions (supports Chinese & English). Describes the changes you want to make to the image. | |
| image_url_1opt | STRING | First reference image URL (connect from Upload Image node) | |
| image_url_2opt | STRING | Second reference image URL (optional, max 3 total) | |
| image_url_3opt | STRING | Third reference image URL (optional, max 3 total) | |
| sizeopt | COMBO | 1328x1328 (1:1) | The aspect ratio and resolution of the output image |
| custom_sizeopt | STRING | Custom size as 'width*height' (e.g. '1920*1080'). Overrides size dropdown if provided. | |
| seedopt | INT | -1-1–2147483647 | Random seed for reproducible results. -1 for random seed |
| output_formatopt | COMBO | jpeg | Output image format |
| enable_base64_outputopt | BOOLEAN | false | Return image as BASE64 encoded string instead of URL |
| enable_sync_modeopt | BOOLEAN | true | Wait for generation to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_image | IMAGE | — |