Z-Image Sketch · Q2_K GGUF (special build — fast composition sketch only)
⚠️ Special-purpose model. Not a general Z-Image checkpoint. It is made to draw only the first step of an image (σ 1 → 0.9) to lock in the composition, and then hand off to Z-Image Turbo. Used alone for a full generation it gives poor, low-detail images.
⚠️ 特殊版本 · 快速草稿專用。 只負責畫第一步(σ 1 → 0.9)把構圖定下來,再交給 Z-Image Turbo 收尾。單獨拿來完整出圖品質很差。
★★ New (2026-10-01): 8-step sketch d8s1.0-Q2_K_Uc — Turbo's look and the composition
Same colour-protected Q2 layout as Q2_K_Uc, but the sketch is Z-Image base + Distill-8-Steps-2603 at 1.0 (instead of Distill-4 at 0.8).
One sketch step is 1/8 of the trajectory (σ 1 → 0.955), Turbo finishes with 7 steps. The 4-step sketch leaves crisp, "etched" edges and
extra grain; the 8-step sketch doesn't — the result looks like plain Turbo, but keeps most of the sketch's placement control.
| recipe | DiT time (Turbo 8 = 1) | placement hits (9 prompts × 4) | noise | edge |
|---|---|---|---|---|
| Z-Image Turbo 8 steps | 1.00× | 30 / 36 | 0.250 | 3.15 |
4-step Q2_K_Uc 1 step + Turbo 6 |
1.09× | 32 / 36 | 0.701 | 5.04 |
8-step d8s1.0-Q2_K_Uc 1 step + Turbo 7 |
1.22× | 33 / 36 | 0.150 | 2.20 |
8-step d8s1.0-Q2_K_Uc 2 steps + Turbo 6 |
1.44× | 33 / 36 | 0.159 | 2.23 |
(noise = 1-px high frequency in flat areas, edge = sharpness; both on the composition prompts.) On the 8 general prompts the 8-step sketch gives noise 0.115 vs Turbo's 0.126, saturation +6 %, and about 20 % darker, moodier light (the Distill-8 LoRA's own look).
Lying on the floor: Turbo drops the legs out of frame; the 8-step sketch keeps the full body with the face centred (legs diagonal in 1 of 3 seeds with 1 step, 2 of 3 with 2 steps; the 4-step sketch gets 3 of 3 but looks etched). The boat keeps Turbo's sky.
Multi-Stage Sampler recipe (paste into the node, model = this file via UnetLoaderGGUF + ModelSamplingAuraFlow shift 3, fast_model = Z-Image Turbo, cfg 1):
{"name": "Z-Image · sketch8 1 + turbo 7", "stages": [
{"model": "base", "sigmas": [1.0, 0.955], "noise": true, "sampler": "euler"},
{"model": "fast", "sigmas": [0.9005, 0.8338, 0.7505, 0.6433, 0.5004, 0.3003, 0.0], "sampler": "res_multistep"}]}
How it was built: the official base bf16 was not at hand, so the LoRA was swapped directly on the 4-step BF16 GGUF — per tensor
W − 0.8·ΔD4 + 1.0·ΔD8 in fp32, written back as bf16 (checked: cos 0.997 to the exact delta; the rest is bf16 rounding) — then quantized with
the same Uc type map (identical per-layer formats and size as Q2_K_Uc below).
新版(2026-10-01):8 步底稿 d8s1.0-Q2_K_Uc——同 Q2_K_Uc 的顏色保護 Q2 格式,但合併的是 Distill-8 步 LoRA ×1.0。底稿只畫 1/8 軌跡(σ 1→0.955),Turbo 走 7 步。
4 步底稿邊緣會「刻」、顆粒多;8 步底稿畫面跟純 Turbo 一樣乾淨(雜訊 0.150 vs Turbo 0.250),構圖控制 33/36(Turbo 30/36),DiT 時間 1.22 倍。光線比 Turbo 暗約兩成、較戲劇化(8 步 LoRA 本身的調性)。
★ New (2026-09-30): color-protected build Q2_K_Uc — recommended
The original Q2_K_Ur sketch loses colour: its first step comes out washed-out and noisy, and Turbo cannot bring it back
(saturation is decided at the first step and carried to the end). We traced it to two tensor groups and kept only those at higher precision;
everything else is still the same Q2 mix.
- Attention of blocks 19–27 → Q4_K (qkv + out). Blocks 2–10 made no difference.
- adaLN_modulation → Q8_0 (all blocks). Brings back contrast and brightness.
- 3.17 GB (+0.19 GB). 50 tensors changed.
Measured on 8 fixed prompts, 1024-ish, RTX 5060 Ti, recipe sketch 1 step (σ 1 → 0.9) + Z-Image Turbo 6 steps (res_multistep, shift 3, cfg 1), same seeds. Pixel metrics, higher sat/contrast = more colour; noise = 1-px high-frequency in flat regions.
| sketch model | size | s / image | saturation | contrast | brightness | noise |
|---|---|---|---|---|---|---|
| (reference) Z-Image Turbo 8 steps, no sketch | – | 6.0 | 0.345 | 0.239 | 0.330 | 0.126 |
Q2_K_Ur (original) |
2.98 GB | 7.3 | 0.244 | 0.190 | 0.317 | 0.704 |
Q2_K_Uc (new) |
3.17 GB | 6.8 | 0.302 | 0.229 | 0.336 | 0.435 |
| base NVFP4 + Distill-4 LoRA 0.8, not quantized to Q2 | 8.9 GB | 7.4 | 0.328 | 0.233 | 0.346 | 0.440 |
The sketch still draws crisper edges than Turbo alone (that is the Distill-4 look); Uc fixes the colour and halves the Q2 noise,
landing close to the unquantized merge at a third of its size.
Note: Uc was re-merged with a streaming per-tensor script (W + 0.8·up@down, to_q/k/v into the fused qkv) instead of ComfyUI ModelSave,
then converted and quantized the same way; the Q2 parts are therefore not byte-identical to Ur.
新版(2026-09-30):顏色保護版 Q2_K_Uc,推薦。 原本的 Ur 第一步就掉色、雜訊多,Turbo 後面救不回來。逐組測試後只把兩組拉高精度:
第 19–27 層的注意力 → Q4_K、所有 adaLN_modulation → Q8_0,其餘維持原本的 Q2 分層。3.17 GB(+0.19 GB)。
同一套 8 題、σ0.9 交棒 + Turbo 6 步:飽和 0.244 → 0.302、對比 0.190 → 0.229、雜訊 0.704 → 0.435,每張 7.3 → 6.8 秒,接近沒壓 Q2 的 8.9 GB 大檔。
★ How much composition does a little extra weight buy? (2026-09-30)
Pure composition instructions only (no aesthetics): 9 prompts that say where things go — subject at the far left edge, crow in the top-left corner, horizon in the bottom tenth, a girl half cut off by the right edge at the top-right stair landing, a woman lying on the floor with legs toward the upper right and arms toward the lower left… 4 seeds each; OWLv2 checks whether the subject's centre lands in the requested region. Time = warm DiT time only (models already on the GPU; no prompt expansion / text encoder / VAE), shown as a multiple of Turbo 8 steps because every GPU is different (for reference, Turbo 8 = 4.8 s on an RTX 5060 Ti at 1024²).
| recipe (Multi-Stage Sampler) | extra DiT weights | DiT time | composition hits |
|---|---|---|---|
| Z-Image Turbo 8 steps (no sketch) | – | 1.00× | 30 / 36 |
Q2_K_Uc sketch 1 step + Turbo 6 |
+3.17 GB | 1.09× | 32 / 36 |
Q2_K_Uc sketch 2 steps + Turbo 4 |
+3.17 GB | 1.19× | 33 / 36 |
| base NVFP4 + Distill-4 LoRA 1 step + Turbo 6 | +9.5 GB | 0.95× | 32 / 36 |
8-step d8s1.0-Q2_K_Uc 1 step + Turbo 7 (see top) |
+3.17 GB | 1.22× | 33 / 36 |
| base NVFP4 + Distill-4 LoRA 2 steps + Turbo 4 | +9.5 GB | 0.90× | 32 / 36 |
| Z-Image base alone, 25 steps cfg 4 | (8.9 GB) | 9.8× | 33 / 36 |
The detector is coarse (most prompts are 4/4 for everyone). Four of the prompts below, Turbo 8 (top row) vs Q2_K_Uc sketch 1 step + Turbo 6
(bottom row), seeds 11/22/33:
People are where Turbo drifts most — its own "nice framing" wins over the instruction. "Top-down, a young woman lying on her back, face in the centre, legs toward the upper-right corner, arms flung toward the lower-left." Turbo: legs out of frame, arms up. Sketch: legs to the upper right, an arm to the lower left, every seed.
"A girl in a school uniform at the stair landing in the top-right corner, half cut off by the right edge." Both place her top-right; Turbo crops her down to legs, the sketch keeps her standing at the turn.
Objects: placement is right either way, the sketch changes the details. "Horizon in the bottom tenth, a small boat at the lower left, 90 % dramatic sky." Both obey; the sketch puts the horizon lower and draws a far more detailed, layered sky.
"A stray dog at the far left edge, partly cut off by the border." Both get the placement (and both miss "head turned back toward the left").
So one sketch step buys the base model's obedience where Turbo's taste would override the prompt (mostly people), at ~1.1× Turbo's DiT time instead of ~10× for base alone. Turbo's own framing (e.g. a half-body crop) often looks nicer — the sketch buys obedience, not taste. Use it when the prompt asks for a specific layout.
On an FP4-capable GPU the unquantized NVFP4 base is actually faster per step than this Q2 GGUF (0.95 s vs 1.64 s per step on a 5060 Ti) —
Q2_K_Uc is for saving VRAM (3.17 GB vs 9.5 GB).
This is what the Multi-Stage Sampler node is for: one node, one JSON recipe — which model draws which steps, where to hand off, how many fast steps, sampler per stage. Spend a little extra weight to buy speed and quality, and tune the recipe (hand-off σ, step counts, last-step sampler) right in the node without rewiring the graph.
構圖花多少換多少(2026-09-30):只測純構圖指令(不談美學),9 題 × 4 seed。多載一顆 3.17 GB 的 Q2_K_Uc、DiT 時間約 1.1 倍 Turbo,
就能拿到接近純 base(約 10 倍時間)的擺位控制。人物最明顯(Turbo 的構圖美感會蓋過指令:躺地板 Turbo 腿出框、手往上,底稿一步就照題目擺);狗、船位置兩邊都對,但底稿的天空雲層細節多很多。
Turbo 自己裁的半身構圖常常比較好看——底稿買的是「聽話」不是「美感」,題目有指定構圖時再用。
這就是 Multi-Stage Sampler 多段取樣節點 的用途:一個節點、一份 JSON 配方,
花一點權重買速度和品質,交棒點/步數/末段採樣器直接在節點裡微調,不用重接線。
What it is
- Z-Image base + Z-Image-Fun-Lora-Distill 4-Steps-2603 merged at 0.8
- Quantized to a layer-aware Q2_K GGUF (unsloth-style mix: attention Q2_K, FFN protected at Q3–Q6, first/last blocks and refiners Q4_K). A uniform Q2 quant of the same merge breaks — the protected layers matter.
Ucadditionally protects attention 19–27 and adaLN (above). - Why: Z-Image base follows prompts and composes better than Turbo (placement, cropping, full body); Turbo gives the photographic finish. One sketch step from base-with-Distill is enough to fix the layout, so the sketch model can be tiny.
How to use
Use it with the Multi-Stage Sampler ComfyUI node:
zimage_sketch_d4s0.8-Q2_K_Uc.gguf(recommended; or the originalQ2_K_Ur) →ComfyUI/models/diffusion_models/, load it withUnetLoaderGGUF(ComfyUI-GGUF) → node inputmodel- Z-Image Turbo → node input
fast_model - Recipe
Z-Image · sketch 1 + turbo 8(best) orsketch 1 + turbo 6(faster). ModelSamplingAuraFlow shift 3, cfg 1.
Example workflow: examples/z_image_sketch_turbo_multistage.json.
Speed on an RTX 5060 Ti (1024²): 7.5 s (turbo 8) / 6.6 s (turbo 6), vs 5.4 s for Turbo alone. Below 8 Turbo steps fine details (fingers, cigarette smoke, cloth) start to break; LPIPS vs a 10-step finish: 4 steps 0.234 → 8 steps 0.102.
Part of the Master Style system project (prompt expansion by master style cards) — a fast Z-Image drafting path for trying master-style prompts.
使用方式(中文)
搭配 Multi-Stage Sampler 節點:本檔(推薦 Q2_K_Uc)用 UnetLoaderGGUF 載入接 model,Z-Image Turbo 接 fast_model,選配方 Z-Image · sketch 1 + turbo 8(最佳)或 sketch 1 + turbo 6(快速版)。RTX 5060 Ti 每張 7.5 / 6.6 秒。
屬於 大師系統 專案:用 Z-Image 快速打草稿、試大師風格擴寫的出圖路線。
Files
| file | size | sha256 |
|---|---|---|
zimage_sketch_d8s1.0-Q2_K_Uc.gguf (8-step, 2026-10-01) |
3,168,745,536 B | 35ab0cd5b3a1cdda44948e153862cfced930690e40e857d693de8e00ac1f94d9 |
zimage_sketch_d4s0.8-Q2_K_Uc.gguf (4-step, recommended for strongest layout) |
3,168,745,536 B | 895cab2f66005e34722e411a108aef8bc798687b87eedd490adb4b90036fa798 |
zimage_sketch_d4s0.8-Q2_K_Ur.gguf (original) |
2,984,364,096 B | 2583a2980ec3fdde4430bc1a27b2df36b03b3a74de8560f58a6f37f5d16261da |
Built with city96 convert.py → llama.cpp (ComfyUI-GGUF lcpp.patch) + a per-tensor type map.
Per-layer quant formats — Q2_K_Uc (new)
| block | qkv | out | w1 | w2 | w3 | adaLN_modulation.0 |
|---|---|---|---|---|---|---|
| context_refiner.0 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | - |
| context_refiner.1 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | - |
| layers.0 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q8_0 |
| layers.1 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q8_0 |
| layers.2 | Q2_K | Q2_K | Q2_K | Q4_K | Q2_K | Q8_0 |
| layers.3 | Q2_K | Q2_K | Q3_K | Q4_K | Q2_K | Q8_0 |
| layers.4 | Q2_K | Q2_K | Q3_K | Q6_K | Q3_K | Q8_0 |
| layers.5 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.6 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.7 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q8_0 |
| layers.8 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.9 | Q2_K | Q2_K | Q2_K | Q4_K | Q2_K | Q8_0 |
| layers.10 | Q2_K | Q2_K | Q2_K | Q4_K | Q3_K | Q8_0 |
| layers.11 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.12 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.13 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.14 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.15 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.16 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q8_0 |
| layers.17 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q8_0 |
| layers.18 | Q2_K | Q2_K | Q4_K | Q6_K | Q4_K | Q8_0 |
| layers.19 | Q4_K | Q4_K | Q3_K | Q6_K | Q4_K | Q8_0 |
| layers.20 | Q4_K | Q4_K | Q4_K | Q6_K | Q4_K | Q8_0 |
| layers.21 | Q4_K | Q4_K | Q4_K | Q6_K | Q4_K | Q8_0 |
| layers.22 | Q4_K | Q4_K | Q4_K | Q6_K | Q3_K | Q8_0 |
| layers.23 | Q4_K | Q4_K | Q3_K | Q6_K | Q4_K | Q8_0 |
| layers.24 | Q4_K | Q4_K | Q4_K | Q4_K | Q3_K | Q8_0 |
| layers.25 | Q4_K | Q4_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.26 | Q4_K | Q4_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.27 | Q4_K | Q4_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.28 | Q4_K | Q4_K | Q3_K | Q4_K | Q3_K | Q8_0 |
| layers.29 | Q4_K | Q4_K | Q4_K | Q4_K | Q3_K | Q8_0 |
| noise_refiner.0 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q8_0 |
| noise_refiner.1 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q8_0 |
依格式總大小:
- Q4_K: 1.670 GB
- Q3_K: 0.608 GB
- Q2_K: 0.406 GB
- Q6_K: 0.323 GB
- Q8_0: 0.134 GB
- BF16: 0.024 GB
- F32: 0.004 GB
Per-layer quant formats — Q2_K_Ur (original)
| block | qkv | out | w1 | w2 | w3 | adaLN_modulation.0 |
|---|---|---|---|---|---|---|
| context_refiner.0 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | - |
| context_refiner.1 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | - |
| layers.0 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q5_K |
| layers.1 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K |
| layers.2 | Q2_K | Q2_K | Q2_K | Q4_K | Q2_K | Q4_K |
| layers.3 | Q2_K | Q2_K | Q3_K | Q4_K | Q2_K | Q5_K |
| layers.4 | Q2_K | Q2_K | Q3_K | Q6_K | Q3_K | Q5_K |
| layers.5 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q5_K |
| layers.6 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q5_K |
| layers.7 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q4_K |
| layers.8 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.9 | Q2_K | Q2_K | Q2_K | Q4_K | Q2_K | Q5_K |
| layers.10 | Q2_K | Q2_K | Q2_K | Q4_K | Q3_K | Q4_K |
| layers.11 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.12 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.13 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.14 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.15 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.16 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q4_K |
| layers.17 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q4_K |
| layers.18 | Q2_K | Q2_K | Q4_K | Q6_K | Q4_K | Q4_K |
| layers.19 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q4_K |
| layers.20 | Q2_K | Q2_K | Q4_K | Q6_K | Q4_K | Q4_K |
| layers.21 | Q2_K | Q2_K | Q4_K | Q6_K | Q4_K | Q4_K |
| layers.22 | Q2_K | Q2_K | Q4_K | Q6_K | Q3_K | Q4_K |
| layers.23 | Q2_K | Q2_K | Q3_K | Q6_K | Q4_K | Q4_K |
| layers.24 | Q2_K | Q2_K | Q4_K | Q4_K | Q3_K | Q4_K |
| layers.25 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.26 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.27 | Q2_K | Q2_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.28 | Q4_K | Q4_K | Q3_K | Q4_K | Q3_K | Q4_K |
| layers.29 | Q4_K | Q4_K | Q4_K | Q4_K | Q3_K | Q4_K |
| noise_refiner.0 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K |
| noise_refiner.1 | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K | Q4_K |
依格式總大小:
- Q4_K: 1.429 GB
- Q3_K: 0.608 GB
- Q2_K: 0.581 GB
- Q6_K: 0.323 GB
- BF16: 0.024 GB
- Q5_K: 0.016 GB
- F32: 0.004 GB
License
Apache-2.0, same as Z-Image and Z-Image-Fun-Lora-Distill.