Qwen Image Edit LoRA
Edit an image with Qwen — and steer it with up to three LoRAs
- client
- image
Qwen Image Edit LoRA is the image-edit node in the Qwen family with a twist: alongside your edit prompt and source image, it accepts up to three LoRA model URLs that shape the edit's style and subject. So instead of "make this photo warmer," you can say "make this photo warmer in this painter's style" and point the node at a LoRA that encodes that style. It's the closest thing this API-first pack has to the local LoRA workflow - the model itself stays on WaveSpeed's servers, but the LoRA is applied server-side by the API.
That matters if you're coming from the local side of the ecosystem. The community trains Qwen-Image LoRAs all the time (AI-Toolkit made it runnable on consumer GPUs within a week of the model's release), and those same .safetensors files are what you'd point this node at - as long as you host them at a public URL. So the workflow becomes: train a LoRA on your subject locally, upload it, then reuse it in cloud edits without ever rendering locally. It's a genuinely useful bridge, and one of the more distinctive nodes in this pack.
How it works
The node sends your prompt, the source image (as a URL or path string), and the LoRA paths/scales to WaveSpeed's Qwen Edit LoRA endpoint, waits for the render, and returns a ComfyUI IMAGE tensor. lora_1_path and lora_1_scale are required; LoRA 2 and 3 are optional. Scales run 0.0 to 4.0, default 1.0 - and yes, a scale of 1.0 means full influence, so start there and back off if the LoRA overwhelms the edit.
The inputs that matter
- prompt - the modification description, Chinese or English.
- image - the image to edit, as a URL or path string. Note it's a string input, not an IMAGE socket.
- lora_1_path / lora_1_scale - the required first LoRA and its strength.
- lora_2_path / lora_3_path - optional second and third LoRAs, each with its own scale.
- width / height - 256 to 1536, default 1024×1024.
The usual pack extras are here too: output_format (jpeg/png/webp), enable_sync_mode, enable_base64_output, a cache-control seed, and an optional client input.
Installing it
This node is part of the ERPK Collection (eRepublik-Labs/comfyui-nodes-erpk). Install through ComfyUI Manager (search erpk → ERPK Custom Nodes) or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk
pip install -r requirements.txt
WaveSpeed API key required (Settings → ERPK → API Keys). No local models - the only "model files" are the LoRAs you point at, and those live at URLs, not on your disk.
Common issues
- LoRA URLs fail to load - WaveSpeed has to fetch them, so they must be public, direct-download URLs (a Hugging Face resolve URL works; a signed-expiring link may not).
- "Prompt is required" / blank errors - same as the rest of the pack; fill the required fields.
- LoRA too strong or invisible - that's the
_scale. Crank toward 0.2–0.4 if it overpowers, up to 2+ if it's barely showing. - Billed per edit - each run costs ~$0.02 plus the LoRA processing; keep
seedpinned if you're just re-testing plumbing.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text description of the desired image modifications (Chinese or English) | |
| image | STRING | The image to edit (URL or path) | |
| lora_1_path | STRING | URL to first LoRA model file (required) | |
| lora_1_scale | FLOAT | 1.00–4 | Scale factor for first LoRA (0.0 to 4.0) |
| lora_2_pathopt | STRING | URL to second LoRA model file (optional) | |
| lora_2_scaleopt | FLOAT | 1.00–4 | Scale factor for second LoRA (0.0 to 4.0) |
| lora_3_pathopt | STRING | URL to third LoRA model file (optional) | |
| lora_3_scaleopt | FLOAT | 1.00–4 | Scale factor for third LoRA (0.0 to 4.0) |
| 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 | — |