CivArchive
    ← All articles
    Published August 15, 2026by supersoniquestudio

    Z-Image Turbo GGUF showdown: Q4 vs Q6 vs Q8, benchmarked in one command

    119 views2 reactions1 comments on CivitAI0 collected
    iageneration guidez-index turboz-index

    TL;DR: Q6_K is the sweet spot. On three stress-test portraits it is near-indistinguishable from Q8_0 while saving 1.2 GB. Q4_K_M keeps full image quality but drifts in composition (same seed, different jewelry/pose choices). No banding, no color shift, on any of the three.

    GGUF quants shrink Z-Image Turbo from 12 GB (BF16) down to 4.6 GB (Q4_K_M), and they stay quantized in VRAM. The obvious question: what do you actually lose? I measured it with a method you can replay in a single command, using the X/Y/Z grid of crispz-studio.

    (insert the contact sheet here: 3 prompts as columns, Q4/Q6/Q8 as rows)

    What you need

    • crispz-studio — a free, 100% local Z-Image studio (txt2img, ESRGAN+refine upscale, inpaint/outpaint, auto face detailer, job queue, X/Y/Z grids). It loads BF16 checkpoints, GGUF quants, and the FP8 / INT8 "scaled" builds you find on Civitai — those get dequantized on the fly, ComfyUI ConvRot format included. If a file loads in ComfyUI, odds are it loads here too.

    • The original model: Tongyi-MAI/Z-Image-Turbo (6B S3-DiT, 8 steps, guidance 0).

    • The GGUF quants: jayn7/Z-Image-Turbo-GGUF (Q3 through Q8, ComfyUI-GGUF conversion; unsloth/Z-Image-Turbo-GGUF works as well). Drop them into your checkpoints folder; crispz-studio lists them at startup.

    FileSizez_image_turbo-Q4_K_M.gguf4.6 GBz_image_turbo-Q6_K.gguf5.5 GBz_image_turbo-Q8_0.gguf6.7 GB

    Test rig: RTX 5090 (32 GB), 1024×1024, 8 steps, fixed seed 42.

    Method: three prompts that hunt for weaknesses

    Quantization fails in known places: fine micro-detail, long tonal gradients, saturated colors with hard speculars. One portrait per weakness:

    1. Skin texture in natural light — quantization noise shows up first in pores and vellus hair:

    close-up portrait of an elderly fisherman with deep wrinkles, white stubble and sun-weathered skin, visible pores and fine vellus hair on the cheekbones, soft diffused window light from the left, shallow depth of field with a blurred workshop background, muted earth-tone palette, catchlights in pale blue eyes, 85mm lens framing from the shoulders up

    2. Backlight / low light — smooth shadow gradients expose banding:

    low-light portrait of a young woman standing against a golden sunset backlight, rim light tracing individual flyaway hair strands, her face in soft shadow lit only by faint warm bounce light, smooth gradient from deep shadow to glowing edge, dust particles floating in the light beam, dark moody background, cinematic contrast, centered composition

    3. Saturated colors + complex materials — color drift and specular detail betray aggressive quants:

    portrait of a woman wearing an embroidered emerald silk sari with gold thread patterns, heavy antique gold jewelry with ruby stones catching sharp specular highlights, saturated jewel-tone palette against a deep red backdrop, hard key light from the upper right revealing fabric weave and metal engraving detail, medium shot, rich color depth

    Same seed everywhere, so within a column the only variable is the quantization.

    The one command

    crispz-studio's X/Y/Z grid crosses both axes: X = the 3 prompts (a "Prompt" axis where each value is a full prompt, quotes protect the commas), Y = the 3 GGUFs. Nine renders, each model loads exactly once, annotated contact sheet at the end:

    python app.py --txt2img --seed 42 --gen-steps 8 ^

    --xyz "Prompt=\"<prompt 1>\",\"<prompt 2>\",\"<prompt 3>\"" ^

    --xyz "Checkpoint=z_image_turbo-Q4_K_M.gguf,z_image_turbo-Q6_K.gguf,z_image_turbo-Q8_0.gguf" ^

    --save-mode local --output-dir out

    The same grid exists in the UI (X/Y/Z grid accordion; the value fields autosuggest checkpoints, LoRAs and wildcards after 3 typed characters). About twelve minutes later the sheet lands in out/xyz_<timestamp>/sheet.png.

    Results

    Column 1 (skin). All three quants hold pores, wrinkles and stubble. No smoothing, no noise. Q6 and Q8 are near-identical; Q4 shifts the head angle slightly.

    Column 2 (backlight). Zero banding in the shadow gradients, even at Q4. The classic failure mode of aggressive quants simply does not show up.

    Column 3 (jewelry) — the tiebreaker. Emerald, gold and ruby stay accurate everywhere, but Q4 simplifies the scene: a single choker, where Q6 and Q8 both render the choker, a layered pendant necklace and detailed earrings, with finer metal engraving.

    Key takeaway: Q4 produces the same perceived quality with different composition choices. Accumulated quantization error nudges the sampling trajectory, and the model "decides" differently. Reproducibility drops; quality holds.

    Verdict

    QuantSizePick it whenQ4_K_M4.6 GBVRAM/disk constrained, exploration; accept seed-level driftQ6_K5.5 GBbest ratio — output near-identical to Q8 on all three stress testsQ8_06.7 GBmaximum fidelity to the original weights; +1.2 GB for a difference invisible here

    My daily driver is Q6_K; Q8_0 stays the reference when a render must be reproducible pixel-for-pixel.

    About crispz-studio

    Open source, Fooocus-style UI, 100% local, one-click Pinokio install available. Beyond GGUFs it loads the FP8 / FP8-scaled / INT8-scaled checkpoints published on Civitai (dequantized at load, misfiled LoRAs politely rejected with a clear message), pulls a model's community consensus settings from Civitai by SHA256 (median steps/CFG, majority sampler, one-click apply), and ships an ADetailer-style face detailer, batch queue and full CLI. Sister apps for FLUX.1 Krea and Qwen-Image-Edit live on the same account.

    github.com/mikecastrodemaria/crispz-studio

    The three prompts above are free to reuse — paste them into your own grid and post your Q-comparison.

    Archived from CivitAI · Updated August 15, 2026View source