Z-Image-Engineer-V6 β DHQ GGUF
DHQ = Dual-Head Quant. Z-Image-Engineer-V6 (a Qwen3-4B
fine-tune that is both a Z-Image text encoder and a prompt writer), quantized so that every tensor gets the precision
that matters to what the Z-Image DiT actually reads (measured per tensor with gradients through the DiT's text
input), with an importance matrix computed on V6 itself. Each file is exactly the size of the standard llama.cpp file
of the same name, and the text-encoder error is lower at every level.
Tuned for Z-Image only. It was not measured with FLUX.2 [klein] 4B; for klein use the plain Qwen3-4B file in
Qwen3-4B-Text-Encoder-DHQ-GGUF.
About the DHQ series
DHQ files are quantized for use as a diffusion model's text encoder: each tensor's precision is chosen by how
much its quantization error changes what the target DiT reads (measured through the DiT's own text-input stage),
not by next-token loss. They stay normal LLM GGUFs, so the same file can still write or rewrite prompts: where a
model is also used as a prompt enhancer (Z-Image-Engineer-V6, the heretic Qwen3-VL-8B), every file is also checked
for that (the PE column) and the tables show where it gets worse.
DHQ repos: Qwen-Image-2.1 Β·
Ideogram 4 Β·
Z-Image-Engineer-V6 Β·
Qwen3-4B (Z-Image / FLUX.2 klein 4B)
We also built Dual-Head Dragon (ComfyUI-DualHead-Dragon), a ComfyUI node that runs one GGUF as both the text encoder and the prompt
enhancer (llama.cpp inside). It is public but still in testing, including its LoRA support
(separate LoRAs for the encoding and the rewriting head) and DFlash speculative decoding for faster rewriting.
The files here work without it (see How to load).
Results
Same V6 f16 source, same size. Standard = llama.cpp default rules + the same imatrix.
TE = relative error of the text conditioning after the DiT's own text input layer, on 36 held-out prompts never
used to build or pick anything (lower is better). PE = mean KL divergence of next-token predictions vs f16 on
80 prompt rewrites written by V6 itself, i.e. how well the same file still works as a prompt writer (lower is better).
Where PE is not bold, the DHQ file writes prompts slightly worse than the standard file (IQ4_XS clearly so). If you
use V6 mostly as a prompt writer at that size, the standard file is the safer pick.
Need Q6/Q8? Standard llama.cpp files are already as good at those sizes.
Also see zimage_engineer_v6_dhq_2p9.gguf in
Qwen3-4B-Text-Encoder-DHQ-GGUF: 2.91 GB with a
Q4_K floor, TE 4.4% held-out (better than Q5_K_M here) but PE 0.0196 (worse than Q5_K_M here).
K or IQ?
Each size step comes in two series built the same way, with different llama.cpp formats:
- K files (
Q*_K*): simple block formats. Fast to decode everywhere β GPU, CPU, Metal, Vulkan β and on the GPU
in ComfyUI-GGUF.
- IQ files (
IQ*): codebook formats. For a similar error the file is smaller (compare the rows above), but
decoding is heavier: fine on llama.cpp GPU backends, slower on CPU, and ComfyUI-GGUF decodes IQ3/IQ2 tensors on
the CPU (tens of seconds per prompt). Our IQ4_XS files also contain some IQ3 (and in some repos IQ2) tensors,
so they are slow in ComfyUI-GGUF too.
ComfyUI-GGUF β use a K file. llama.cpp (or Dual-Head Dragon) β either; IQ if you want the smallest file for a
given error.
Which file
K files (Q5_K_M, Q4_K_M, Q3_K_M, Q2_K) run everywhere and as fast as the standard GGUF.
[!WARNING]
IQ files (IQ4_XS, IQ3_*, IQ2_*) are slow in ComfyUI-GGUF. They contain IQ3/IQ2 tensors, which
ComfyUI-GGUF has no GPU decoder for; it falls back to numpy (tens of seconds per prompt). They are fine in
llama.cpp itself. In ComfyUI-GGUF, use the K files.
How to load
ComfyUI (needs ComfyUI-GGUF): put the file in models/text_encoders/,
load it with CLIPLoaderGGUF, type lumina2. Everything else is the stock Z-Image workflow.
llama.cpp / LM Studio: standard qwen3 GGUFs; they write Z-Image prompts the same way the original V6 does
(use V6's system prompt).
Reproducibility
recipes/ has one recipe per file: source repo and revision, llama.cpp commit, importance matrix (sha256), and the
type of every tensor as built. Rebuilding from a recipe gives a bit-identical file (checked for all nine).
License
Apache-2.0, same as Z-Image-Engineer-V6 (BennyDaBall) and its base Qwen3-4B (Qwen team). See LICENSE.