

license: other license_name: qwen-research license_link: LICENSE base_model: Qwen/Qwen-Image-2.1 base_model_relation: adapter library_name: diffusers pipeline_tag: text-to-image tags:
Built with Qwen. A few-step distilled student of Qwen/Qwen-Image-2.1, trained by Viggle with Distribution Matching Distillation. It does both text-to-image and instruction-driven editing with 1–3 reference images in 6 transformer passes instead of 40, with no classifier-free guidance.
v0.2.1 (2026-09-24) — use this one:
Qwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r256.safetensors — LoRA adapter (rank 256, alpha 256, bf16, 1.3 GB)
loaded on top of the base transformer at runtime. Sample it with 6 steps on the shipped sigma nodes
sigmas=[1.0, 0.9375, 0.875, 0.75, 0.5, 0.25] (see Usage). This is what the
demo Space runs.Qwen-Image-2.1-viggle-turbo-v0.2.1-6step-lora-r128.safetensors — the same adapter cut to rank 128 (alpha 128, 680 MB),
used by the ComfyUI workflows. Same usage as r256; see rank 128 for how close it is.ComfyUI: custom nodes and ready-made text-to-image / edit workflows are in
comfyui/; setup is in ComfyUI.
Honest caveat: I am not a regular ComfyUI user, and the port was mostly vibe-coded with an AI coding assistant. It
was checked against the diffusers pipeline (numbers in the ComfyUI section) and runs end to end, but expect rough
edges. Issues and fixes from people who know ComfyUI better are very welcome.
v0.2.1 is the step-700 checkpoint of the run whose step-600 checkpoint shipped as v0.2 on 2026-09-23: 100 more
training steps, same recipe, same 6-step schedule. Against v0.2 it is a little sharper (Laplacian sharpness 0.0199
vs 0.0187) and marginally more diverse (0.98× vs 0.97× the base model), with the same 0% composition drift. The v0.2
files (Qwen-Image-2.1-viggle-turbo-v0.2-5step-lora-r256.safetensors, the r128 cut, peft_v0.2/) stay in the repository unchanged;
sample them with the same 6-step nodes (the 5step in their name is the schedule they launched with, see
Rules that matter).
What changed against v0.1, measured on our held-out set of 96 user requests (text-to-image and editing) against the 40-step base model with its official prompt enhancement:
| v0.1 LoRA r64 | v0.1 full fine-tune | v0.2.1 LoRA r256, 6 steps | v0.2 LoRA r256, 6 steps | (v0.2 at 5 steps) | (v0.2 at 4 steps) | |
|---|---|---|---|---|---|---|
| sample diversity, × base model ¹ | 0.75 | 0.72 | 0.98 | 0.97 | 0.93 | 0.89 |
| composition drift vs base model ² | −0.019 | −0.033 | +0.000 | −0.001 | +0.000 | +0.002 |
| prompts whose layout differs from the base model ³ | — | — | 0% | 0% | 4% | — |
¹ mean intra-prompt DINOv2 patch distance over 8 seeds per prompt, 32 prompts, as a ratio to the 40-step base model (1.00 = as diverse as the base). v0.1 collapsed seeds onto near-identical layouts; v0.2 keeps the base model's spread. ² mean horizontal drift of the image centroid relative to the base model's output for the same prompt and seed, in image widths; 0 means the student places its subjects where the base model does. ³ share of the 96 prompts where the student's composition visibly differs from the base model's for the same seed (centroid drift above 0.05 image widths). In practice v0.2 and v0.2.1 follow the prompt and the reference images noticeably more faithfully than v0.1 — fewer dropped or merged instructions, less ghosting of duplicated subjects — and match the base model's sharpness where the v0.1 LoRA was softer.
The v0.2 files and the v0.1 artifacts (transformer/ full fine-tune and the r64 LoRA, both 4-step) stay in the
repository unchanged for reproducibility; there is no reason to prefer them.
Status: preview, work in progress. v0.2.1 is a large step up from v0.1 but still falls short of the 40-step base model on complicated image editing (multi-reference composition, face swaps, identity-preserving edits, instructions with several constraints). We will keep updating this repository as the distillation improves.
See the full description on the original page
No creation yet
