Instructions to use swordKoala/Qwen-Image-Edit-2511-Lightning-8step-merged with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use swordKoala/Qwen-Image-Edit-2511-Lightning-8step-merged with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("swordKoala/Qwen-Image-Edit-2511-Lightning-8step-merged", dtype=torch.bfloat16, device_map="cuda") prompt = "Turn this cat into a dog" input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png") image = pipe(image=input_image, prompt=prompt).images[0] - Notebooks
- Google Colab
- Kaggle
Qwen-Image-Edit-2511 β Lightning 8-step (merged, BF16)
This is Qwen/Qwen-Image-Edit-2511
(~20B MMDiT image-editing model) with the 8-step Lightning distillation LoRA
from lightx2v/Qwen-Image-Edit-2511-Lightning
(Qwen-Image-Edit-2511-Lightning-8steps-V1.0-bf16) fused into the base weights
and re-saved as a standard diffusers pipeline in BF16.
The point of merging is serving: inference engines (e.g. vllm-omni's
/v1/images/edits) that don't support per-request LoRA can serve this like any
ordinary model β the serving layer never has to know about the LoRA. Run it with
num_inference_steps=8 for fast, near-distilled-quality edits.
- Pipeline:
QwenImageEditPlusPipeline(diffusers0.38.0) - Precision: BF16
- On-disk size: ~54 GB (
transformer~39 GB across 5 shards +text_encoder~15.8 GB +vae0.24 GB + configs) - License: Apache-2.0 (both the base model and the Lightning LoRA are Apache-2.0)
Why this repo exists
It's a convenience artifact: a single from_pretrained-able directory so a fresh
GPU box (e.g. a cloud VM) can pull the ready-to-serve 8-step model in one step,
instead of downloading the base model + LoRA and running the merge locally. The
merge was done offline with fuse_lora() (see Reproduce below).
Recommended inference settings (virtual try-on / image edit)
| setting | value |
|---|---|
num_inference_steps |
8 |
true_cfg_scale |
1.0 (CFG off β forward passes = step count) |
| resolution | 1024px |
| inputs | 1 person image + 1β3 garment images (model hard cap = 4 images total) |
Usage β diffusers
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image
pipe = DiffusionPipeline.from_pretrained(
"swordKoala/Qwen-Image-Edit-2511-Lightning-8step-merged",
torch_dtype=torch.bfloat16,
).to("cuda")
image = load_image("person.jpg")
out = pipe(
image=image,
prompt="Put the garment on the person, photorealistic, preserve identity.",
num_inference_steps=8,
true_cfg_scale=1.0,
).images[0]
out.save("result.png")
Full BF16 load needs ~50 GB+ of VRAM on a single GPU (L40S 48GB is borderline and may need CPU offload / FP8; A100 80GB, H100 80GB, RTX PRO 6000 Blackwell 96GB load it cleanly).
Usage β vllm-omni (OpenAI-compatible /v1/images/edits)
docker run -d --name qwen-serve-8step --gpus all --ipc=host --shm-size=16g -p 8100:8000 -v /models/Qwen-Image-Edit-2511-Lightning-8step-merged:/models/qwen-merged:ro --entrypoint bash vllm/vllm-omni:latest -c 'exec vllm serve /models/qwen-merged --omni --served-model-name Qwen/Qwen-Image-Edit-2511 --host 0.0.0.0 --port 8000'
Reproduce the merge
import torch
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained("Qwen/Qwen-Image-Edit-2511", torch_dtype=torch.bfloat16)
pipe.load_lora_weights(".../Qwen-Image-Edit-2511-Lightning-8steps-V1.0-bf16.safetensors")
pipe.fuse_lora()
pipe.unload_lora_weights()
pipe.save_pretrained("Qwen-Image-Edit-2511-Lightning-8step-merged")
Measured latency (reference)
On an NVIDIA GB10 / DGX Spark (213 TFLOPS BF16 dense, vllm-omni, 1024px, CFG off):
| steps | single garment (2 imgs) | 3 garments (4 imgs) |
|---|---|---|
| 4 | 16.0s | 34.7s |
| 8 | 31.0s | 65.9s |
Latency is ~linear in step count (β 1.1s + 3.73s Γ steps). Faster GPUs scale
roughly with BF16 dense TFLOPS (this workload is compute-bound, not
bandwidth-bound).
Credits
- Base model: Qwen β Qwen/Qwen-Image-Edit-2511
- Distillation LoRA: lightx2v β lightx2v/Qwen-Image-Edit-2511-Lightning
Merged weights redistributed under Apache-2.0.
- Downloads last month
- 10
Model tree for swordKoala/Qwen-Image-Edit-2511-Lightning-8step-merged
Base model
Qwen/Qwen-Image-Edit-2511