Reproducible Diffusers LoRA inference pipelines for adapters trained with ostris/ai-toolkit.
← Docs Home · Model Catalog · HTTP API · Troubleshooting
API model id: qwen_image_edit_plus
URL slug: qwen-image-edit-plus
This page documents the reference Diffusers inference pipeline for qwen_image_edit_plus (Qwen Image Edit Plus 2509). It is designed for running LoRAs trained with ostris/ai-toolkit while minimizing training preview vs inference mismatch.
If you are trying to reproduce AI Toolkit sample previews, treat the code linked below as the source of truth (scheduler wiring, resolution snapping, LoRA application, and conditioning).
Run in the cloud (optional): If you want to reproduce the examples on this page in a pinned runtime without local CUDA/driver setup (and reduce preview‑vs‑inference drift), run it via RunComfy’s Cloud AI Toolkit (Train + Inference). 👉 You can open it here: Cloud AI Toolkit (Train + Inference)
| Field | Value |
|---|---|
| Pipeline | src/pipelines/qwen_image.py |
| Base checkpoint | Qwen/Qwen-Image-Edit-2509 |
| Defaults | sample_steps=25, guidance_scale=4.0, seed=42 |
| Resolution snapping | Floors width/height to a multiple of 32 |
| Control image | Required (ctrl_img_1..3) |
| LoRA scale behavior | Dynamic via adapters (set_adapters). Scale is set per request via loras[].network_multiplier. |
| Needs AI Toolkit | No |
src/pipelines/qwen_image.pysrc/pipelines/base.pysrc/schemas/request.pysrc/schemas/models.pysrc/pipelines/__init__.pysrc/libs/image_utils.pysrc/tasks/executor.py{
"model": "qwen_image_edit_plus",
"trigger_word": "sks",
"prompts": [
{
"prompt": "[trigger] a photo of a person",
"width": 1024,
"height": 1024,
"seed": 42,
"sample_steps": 25,
"guidance_scale": 4.0,
"neg": "",
"ctrl_img_1": "<base64_or_url>",
"ctrl_img_2": "<optional>",
"ctrl_img_3": "<optional>"
}
],
"loras": [
{
"path": "my_lora_job/my_lora.safetensors",
"network_multiplier": 1.0
}
]
}
This model expects 1–3 reference images.
In this server implementation, provide them as:
ctrl_img_1 (required)ctrl_img_2 (optional)ctrl_img_3 (optional)Notes:
diffusers.QwenImageEditPlusPipeline).ctrl_img_1..3 (not ctrl_img).CONDITION_IMAGE_SIZE.true_cfg_scale.ctrl_img_1 (required), ctrl_img_2, ctrl_img_3. This implementation treats ctrl_img_1..3 as the authoritative list.sample_steps and the scheduler family (FlowMatch / UniPC / DDPM differences matter).guidance_scale semantics (some pipelines map it to a different internal parameter).loras[].network_multiplier and whether LoRA scale is dynamic vs fused.