WaveSpeedAI Qwen Image Edit Plus LoRA
Multi-image, 3 LoRAs, and custom sizes
- client
- output_image
If the pack's Qwen Image Edit LoRA node is the focused version, this is the one with every option bolted on. Qwen Image Edit Plus LoRA is the hosted editor for the workflow where one reference image isn't enough: it takes up to three input images, up to three LoRAs, and gives you explicit output sizing - seven aspect-ratio presets plus a free-form custom size. It's the node you reach for when an edit is really a composition.
What it is
The most parameter-dense Qwen editor in the pack. Everything is optional except the client - you can connect prompt and images lazily and the node will still fire. The image_url_1 / 2 / 3 inputs accept up to three reference images (the tooltip caps it at three), and the size dropdown offers seven pixel-accurate presets from 1328x1328 (1:1) up to 1536x864 (16:9), with custom_size as an escape hatch that overrides the dropdown if you type width*height.
How it works
Standard hosted pattern: client from the WaveSpeedAI Client node, a POST to the Qwen image edit endpoint, and the result fetched back as an IMAGE tensor. The plus-node differences are in the payload - multiple images, three LoRA slots, explicit size. LoRA scales here run 0.0 to 4.0 (not the 2.0 cap of the smaller node), which is a lot of influence if you crank it; the tooltip's example is flymy-ai/qwen-image-realism-lora.
The inputs that matter
- prompt - what changes across the composition (Chinese and English supported).
- image_url_1 - the primary reference; image_url_2 / 3 - supporting references.
- size - pick a preset or let custom_size override it. If you're building for a specific canvas, set the exact pixels here rather than cropping afterward.
- lora_1_path / 2 / 3 with scales - up to three adapters in
user/modelformat. Realism, style, and character LoRAs can stack. - enable_base64_output - if you'd rather have a base64 string than a downloaded IMAGE tensor, flip this.
- seed, output_format, 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
- Everything is optional, so nothing fires - easy to misread. With no prompt and no image the API will happily error or return noise. Give it at least a prompt and one image.
- LoRA at 4.0 looks like a different model - the scale range is generous; most people live between 0.5 and 1.5.
- "No output received" - unreachable image URLs or timeout.
- 401 - key issue.
This is a power-user node. If you're doing single-image edits, the plain Qwen Image Edit is simpler and cheaper to reason about. The Plus-LoRA version pays off exactly when the workflow needs references plus style plus exact output dimensions - which, honestly, is most real production image work.
Inputs (17)
| 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) | |
| lora_1_pathopt | STRING | First LoRA model path (e.g., 'flymy-ai/qwen-image-realism-lora') | |
| lora_1_scaleopt | FLOAT | 1.00–4 | First LoRA influence scale (0.0 to 4.0) |
| lora_2_pathopt | STRING | Second LoRA model path (optional) | |
| lora_2_scaleopt | FLOAT | 1.00–4 | Second LoRA influence scale (0.0 to 4.0) |
| lora_3_pathopt | STRING | Third LoRA model path (optional) | |
| lora_3_scaleopt | FLOAT | 1.00–4 | Third LoRA influence scale (0.0 to 4.0) |
| 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 | — |