ZImage SDNQ T2I Sampler
Z-Image Turbo, 8 steps, one sampler — the whole point of this pack
- pipeline
- images
This is the sampler that justifies the whole pack. You feed it the pipeline from ZImageSDNQPipelineLoader, a prompt, and it runs Z-Image Turbo at the settings the model actually wants - 8 steps, no guidance - and hands back images. On a 3060 that's roughly 30 seconds per 1024x1024. On a card with more headroom, embarrassingly faster. That's the entire sales pitch for Z-Image and it lands here.
The reason it feels fast is that Turbo is a distilled model. It was trained to do in 8 steps what the base model needs 25–50 for, by trading away seed diversity and, importantly, the usefulness of negative prompts. This sampler's defaults are the distilled contract made visible: steps defaults to 8, guidance_scale defaults to 0.
The inputs, read correctly
- prompt / negative_prompt - here's the trap everyone hits once: at
guidance_scale0, the negative prompt does essentially nothing. Turbo is guidance-distilled; negative prompts were never part of its training. If you want negatives to matter, you're on the wrong model - that's Base's job (CFG 3–5), and this pack targets Turbo. So write a good positive prompt and don't obsess over the negative box. - steps - default 8. The community's finding: 8–9 is the standard; more steps with default settings hurts quality rather than helping. Don't crank it to 30 out of habit.
- width / height - default 1024 each. Z-Image's native range is ~1MP to ~2MP; 1216x832 and 1600x1088 are the other community favorites. Beyond roughly 2MP the model starts showing artifacts - the answer to "but I need 4K" is an upscale pass (
ZImageSDNQSamplerTileUpscale), not a bigger canvas here. - guidance_scale - default 0. If you want to push above 1, know the community result: it works despite distillation, but it demands more steps and above ~3 the image starts to "burn." CFG 1.5–3 with 15–30 steps gives punchier contrast at roughly double the render time. It's a tool, just not the default.
- seed - plain int with a randomize-after-generate toggle. And the seed-related honesty: Turbo produces near-identical outputs across seeds. It's the model's defining weakness. If you're chasing variety, that's Base, not this sampler.
- num_images - 1 to 8 copies per run. Remember the cache note from the loader: the pipeline stays resident, so batching here costs you a single forward pass per image, not a reload.
Output is a single images tensor of IMAGE type - straight into SaveImage or PreviewImage, no VAE decode step, because the loader already handled the VAE.
Prompting style
Z-Image speaks prose, not Danbooru tags - closer to Flux than SDXL. Two community-tested tricks: Chinese prompts give measurably better adherence (the text encoder is Qwen3-4B, natively bilingual), and the model has a known Asian-feature bias that shows up harder as prompts get long. Keep prompts structured and concrete, and don't fight the bias by piling on ethnicity modifiers - that's a losing battle in Turbo.
Install
Manager (search "Z-Image SDNQ") or git clone https://github.com/GeneralShan/comfyui-zimage-sdnq into custom_nodes, restart. Needs ComfyUI >= 0.17.0 and pip install sdnq diffusers for the base pipeline. The loader's local_files_only default means you should drop the diffusers model into models/diffusers/ yourself (or flip that toggle for auto-download). Then: loader → this sampler → save. That's the entire T2I workflow, and honestly, that simplicity is the pack's best feature.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | ZIMAGE_PIPELINE | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| steps | INT | 81–100 | — |
| width | INT | 102464–4096 | — |
| height | INT | 102464–4096 | — |
| guidance_scale | FLOAT | 0.00–20 | — |
| seed | INT | 00–18446744073709550000 | — |
| num_images | INT | 11–8 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |