You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Image model: Qwen-Image-2.1 + fast variants (tier 1) — the currently-trending image family (3M+/mo wave), upstream flagship parity #101
Parent: #95 (tier 1, follows the small+fast tier) · Prerequisite: #91 (mflux seam). The 2026-10-06 hot-list refresh found this is the currently-trending image model family.
Model card
Repo: Qwen/Qwen-Image-2.1 — released 2026-09-14 (3 weeks old), 94.5k dl/mo official + 3k likes already; the derivative wave is enormous: an uncensored GGUF at 1.64M dl/mo, unsloth GGUF 612k, Viggle turbo distill 287k, Pruna 206k. License other (verify the Qwen license terms before defaulting to it).
Upstream parity: ✅✅ — upstream vllm-omni carries Qwen-Image recipes (Qwen-Image, -Edit, -2512) as their flagship t2i examples; 2.1 is the current generation.
Params: 7.1B single-stream block-causal DiT + separate 8B Qwen3-VL text encoder; causal VAE with 16× spatial compression. 40-step guidance-free sampling by default.
MLX: first-class mflux support (mflux-generate-qwen-2.1, -edit) — t2i, strength-img2img, multi-reference editing with prefix KV caching, LoRA, RGBA output.
Memory: DiT @4-bit ≈ 3.6 GB + TE @4-bit ≈ 4.3 GB ≈ ~8 GB total → solo-qualified only on the 10.7 GB working set; no mixed residency.
Disk: ~15 GB unquantized → quantize at download; another reason it follows the small tier.
Work
License verification first (record verdict here before any download)
Fast-variant decision lives here: Viggle turbo (7.1B total, few-step, 287k/mo, license other) vs Pruna (206k) vs staying official-base — record verdict, then serve the winner
7.1B × 40 steps ≈ 6× the compute of Z-Image-Turbo's 9 → expect ~10–30 s per image official-base; single-digit seconds if the turbo variant wins the decision. The value here is prompt understanding/world knowledge + upstream parity, not latency.
Acceptance
License + fast-variant verdicts recorded first; weight-gated e2e green; latency table in the PR; README row added.
Verdicts (recorded first, per the acceptance order)
License — non-commercial.Qwen/Qwen-Image-2.1
ships the Qwen Research License Agreement (2026-09-20): grant of rights is explicitly
"FOR NON-COMMERCIAL PURPOSES ONLY" (research/evaluation); commercial use requires a separate
license from Qwen. Redistribution obligations: pass the agreement through, keep the
attribution notice. Verified from the LICENSE file in the repo (not from the tag).
Both fast variants inherit the same agreement — Viggle/Qwen-Image-2.1-viggle-turbo's
LICENSE and PrunaAI/Pruna-Qwen-Image-2.1's LICENSE are the identical Qwen Research text
(distillations are derivatives under §3). → Served with the license printed at load and
flagged in README/docs; the Apache-2.0 tier (#99/#100) is the commercial-safe path on the
same seam.
Fast variant — Viggle turbo wins. mflux (0.21.0) carries first-class support: the
distilled LoRA + a built-in ViggleTurboScheduler that samples the LoRA's 6 trained sigma
nodes (6 steps, no CFG — its docstring cites the v0.2.1 model card). Pruna ships merged
dense transformers (p_qwen_image_2.1_5step_v0.1.safetensors) with no mflux loader path
→ not selected; recorded as possible follow-up (custom-transformer load). Staying
official-base is the quality reference; the turbo LoRA is the fast lane. A/B'd v0.3 vs
v0.2.1 r128 at 512²/seed 1000: v0.3 ghosts less → v0.3 default.
Weights path.mlx-community/Qwen-Image-2.1-mflux-q4 — pre-quantized mflux-format
(4-bit DiT + 4-bit TE + VAE, 9.6 GB on disk), loads in ~8 s with 8.93 GiB resident;
no dense download/quantize pass needed (dense path still available via --quantize).
Latency/memory table (M4 24 GB, solo, fixed seeds, cool-down sleeps):
base 40-step across 512²→1328², turbo 6-step at 512²/1024², per-step cadence, MLX peak +
RSS — in the PR and docs/image.md.
Activity
hsliuustc0106 commentedon Oct 7, 2026
Verdicts (recorded first, per the acceptance order)
License — non-commercial.
Qwen/Qwen-Image-2.1ships the Qwen Research License Agreement (2026-09-20): grant of rights is explicitly
"FOR NON-COMMERCIAL PURPOSES ONLY" (research/evaluation); commercial use requires a separate
license from Qwen. Redistribution obligations: pass the agreement through, keep the
attribution notice. Verified from the LICENSE file in the repo (not from the tag).
Both fast variants inherit the same agreement —
Viggle/Qwen-Image-2.1-viggle-turbo'sLICENSE and
PrunaAI/Pruna-Qwen-Image-2.1's LICENSE are the identical Qwen Research text(distillations are derivatives under §3). → Served with the license printed at load and
flagged in README/docs; the Apache-2.0 tier (#99/#100) is the commercial-safe path on the
same seam.
Fast variant — Viggle turbo wins. mflux (0.21.0) carries first-class support: the
distilled LoRA + a built-in
ViggleTurboSchedulerthat samples the LoRA's 6 trained sigmanodes (6 steps, no CFG — its docstring cites the v0.2.1 model card). Pruna ships merged
dense transformers (
p_qwen_image_2.1_5step_v0.1.safetensors) with no mflux loader path→ not selected; recorded as possible follow-up (custom-transformer load). Staying
official-base is the quality reference; the turbo LoRA is the fast lane. A/B'd v0.3 vs
v0.2.1 r128 at 512²/seed 1000: v0.3 ghosts less → v0.3 default.
Weights path.
mlx-community/Qwen-Image-2.1-mflux-q4— pre-quantized mflux-format(4-bit DiT + 4-bit TE + VAE, 9.6 GB on disk), loads in ~8 s with 8.93 GiB resident;
no dense download/quantize pass needed (dense path still available via
--quantize).Delivered in #109
/v1/images/generations) — thatseam had not landed yet, so it lands here with Qwen-Image-2.1 as its first backend;
Image generation engine: /v1/images/generations on MLX — mflux seam, [image] extra, time-to-image doctrine #91's Z-Image-Turbo reference-path acceptance stays open for Image model: Z-Image-Turbo 6B (tier 1, engine reference path candidate) — 592k/mo, 9-step, Apache-2.0, mflux-native #99.
--image-lora org/repo:file --image-scheduler viggle_turbo(steps=6 enforced); one-shot
vllm-omni-mlx image.base 40-step across 512²→1328², turbo 6-step at 512²/1024², per-step cadence, MLX peak +
RSS — in the PR and docs/image.md.
issue's acceptance cell (valid 1024² image, default 40-step path). README row added.
Remaining from the checklist: reference-editing path (prefix KV) — follow-on PR after
this t2i lands (second edit-native model after #100).