Files
aigen/docs/qwen21.md
T
TowstyandCursor 608f7d8d47 Fix Qwen 2.1 GGUF load: promote Q8 norms to F32 and wire TextEncode latent.
abenzerps Q8_0 ships 1D RMSNorms as packed Q8 (136 vs 128), which breaks
Comfy rms_rope; tagger now dequantizes small tensors and the graph uses
TextEncodeQwenImage21's 64-ch latent plus AuraFlow shift.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 16:58:00 -05:00

2.3 KiB
Raw Blame History

Qwen Image 2.1 (engine qwen21) — host weights + Comfy graph

Host paths (this RTX 5080 box)

Role Resolved path
ComfyUI root (Klein / host agent ComfyUI (1)) C:\Users\ianjm\AppData\Local\Comfy-Desktop\ComfyUI-Installs\ComfyUI (1)\ComfyUI
Models root (Desktop Shared via shared_model_paths.yaml) C:\Users\ianjm\AppData\Local\Comfy-Desktop\ComfyUI-Shared\models

Weights must land under Shared so every Desktop instance sees them:

  • diffusion_models\qwen-image-2.1-Q8_0.gguf (~7.59 GiB) — from abenzerps/Qwen-Image-2.1-Uncensored-GGUF
  • text_encoders\qwen3vl_8b_int8_convrot.safetensors — from Comfy-Org/Qwen-Image-2.1 (INT8; BF16 8B VL OOMs on 16 GB)
  • vae\qwen_image_2.1_vae_bf16.safetensors — from Comfy-Org/Qwen-Image-2.1 (not the old Qwen-Image 1.0 VAE)

Custom node: custom_nodes\ComfyUI-GGUF (UnetLoaderGGUF). Do not install a second GGUF pack.

Setup

powershell -ExecutionPolicy Bypass -File scripts\setup-qwen21.ps1

DiT download uses the exact host invocation:

hf download hf://abenzerps/Qwen-Image-2.1-Uncensored-GGUF/qwen-image-2.1-Q8_0.gguf

That lands in the Hugging Face hub cache; the setup script copies it into Shared diffusion_models. The abenzerps GGUF ships with kv_count=0 (no general.architecture) and Q8_0-quantized 1D RMSNorm weights (logical 128 → packed 136), which breaks Comfy’s fused rms_rope. scripts/tag-qwen21-gguf.py rewrites the file with general.architecture=qwen_image and promotes small/1D tensors to F32 so city96 UnetLoaderGGUF can load it.

Restart Comfy only when idle (COMFY_CONTROL_URL/status → gpu.busy=false). Confirm object_info lists UnetLoaderGGUF and the three filenames.

App

  • Engine key: qwen21 · UI label: Qwen 2.1
  • Generate (T2I) only in this build. Edit / Compose / Iterate / Video disable with: “Qwen 2.1 is T2I in this build”.
  • Sampler defaults: euler / simple / cfg 1 / steps 25 · ModelSamplingAuraFlow shift 3.1
  • Default canvas 1024×1024 (aspect 16:9 / 9:16 / 1:1 → long-edge square via TextEncodeQwenImage21 resolution; multiples of 32). Drop to 768 if VRAM errors.
  • No hero / locks / Klein LoRA stack on this engine.

Graph: server/assets/studio2_qwen21_t2i.json.