⚡| Z-Sampler Turbo v2 (Simple)
The Z-Sampler Turbo node you should actually use (and the 3-stage trick behind it)
- latent_input
- model
- positive
- divider
- positive_stg2
- positive_stg3
- latent_output
If you run Z-Image Turbo and you're not using this node, this is the one to try first. The Simple variant of the second-generation Z-Sampler is the author's own recommended sampler in the whole pack: it keeps all the quality of the Extended version but hides everything except the handful of controls that actually change your image. It's the difference between "here's a sampler" and "here's a sampler you'll actually understand."
Why a custom sampler at all
Z-Image Turbo is a distilled model: 6B parameters, guidance-distilled to run at CFG 1 with no negative prompt, and it hates the generic KSampler treatment. Martin Rizzo (reddit: FotografoVirtual) spent the run-up to this pack brute-forcing sigmas while building his Amazing Z-Image Workflow, and found that splitting sampling into three stages consistently beat a smooth schedule:
- Composition - always exactly 2 steps with fixed sigmas, regardless of total step count. Sets the layout.
- Details - the variable middle, with a discontinuous sigma jump from stage 1. He couldn't explain why the jump worked; he just verified hundreds of times that it did.
- Refinement - the sampler goes back up the sigma ladder, re-adds noise, and re-denoises to polish.
The payoff: respectable images from just 3 steps, good enough to call finished at 5, and from 7 onward you can skip your refiner and post-processing entirely. It also kills the whole "ModelSamplingAuraFlow shift to 7" ritual that stock Z-Image workflows need - the sigma schedule handles it internally. And unlike a stock KSampler, users report it holds up better at 2MP+, where the standard sampler starts distorting bodies.
The inputs that matter
The node takes latent_input, model (any Z-Image Turbo checkpoint), and positive conditioning - there's deliberately no negative input, because CFG 1 makes it pointless. Then:
- steps (3–20, default 8) - the only dial most people touch. 8–10 is the documented sweet spot; past 9 the gains are marginal.
- seed - standard reproducibility.
- ibias - the "brightness-ish" tweak on the initial noise. Keep at 0.0 unless the image comes out washed out or blown; it's prompt-dependent, not a real brightness slider.
- turbo_creativity (yes/no) - latent scrambling between stages to break Z-Image Turbo's notorious near-identical-seed problem. Changes pose/framing, keeps style and colors. Can hallucinate - that's the price.
- old_scheduler - legacy sigma preset. The new one is better for general quality; flip this only if you're chasing a specific look.
- noise_injection - extra detail/realism in the final stage, at the risk of artificial color spots in smooth areas.
- alternative_refiner - swaps the final Euler pass for DPM++ SDE for extra contrast and sharpness, at the cost of time.
There are also optional positive_stg2 and positive_stg3 inputs for giving the details and refinement stages their own prompts - the pack's "double_trouble" example uses this to merge two styles.
Output is a single latent_output for your VAE decode.
Installing it
The whole pack installs the same way - ComfyUI Manager, search "Z-Image Power Nodes", Install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes.git
The pack itself has zero pip dependencies. What it won't do is fetch the model - you still need the Z-Image Turbo pieces the README links: a diffusion model (CONVROT INT8 ~6.2 GB, GGUF Q5 ~5.2 GB, or BF16 ~12.3 GB), the Qwen3-4B text encoder, and a ~335 MB VAE, in diffusion_models/, text_encoders/, and vae/ respectively. The author tests mostly on the Q5_K_S GGUF, which is a good default if you're on a 12 GB card. Note the pack requires a recent ComfyUI (v0.11.0+, Nodes 2.0 API).
Where people get burned
The two real gotchas: turbo_creativity will eventually give you a hallucinated image - the docs say so up front, and the fix is simply turning it off for critical generations (it's also explicitly not recommended for inpainting). And LoRAs: the sampler hasn't been extensively tested with them, and fine-tuned checkpoints may need workflow tweaks. If a LoRA-stacked generation turns to mush, don't blame the LoRA first - try the stock sampler to see the difference. Past that, there's not much to trip over: that's the point of the Simple version.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| latent_input | LATENT | The initial latent image to be denoised; usually an 'Empty Latent' for text-to-image tasks or an encoded image for image-to-image processing. | |
| model | MODEL | The Z-Image Turbo model used for denoising the latent image. | |
| positive | CONDITIONING | The main prompt/conditioning used to guide the generation process toward the desired content. | |
| seed | INT | 11–18446744073709550000 | The seed used for the random noise generator, ensuring the same result is produced with the same value. |
| steps | INT | 83–20 | Number of iterations to perform during the denoising process. |
| ibias | FLOAT | 0.0-1–1 | Custom adjustment for the intensity noise bias. Usually kept at 0.0; used to fine-tune 'brightness'. Note that its effect depends heavily on the prompt and image style, so it may not always act as a simple brightness control. Adjust it within the positive or negative range until it seems right to you. |
| divider | ZIPN_SEPARATOR | — | |
| turbo_creativity | BOOLEAN | false | Enables turbo creativity. This scrambles the image to boost diversity in compositions while maintaining the general style and tone color. Be aware that this may lead to hallucinations. |
| old_scheduler | BOOLEAN | false | Enables the legacy scheduler with a different set of sigmas. Although the new scheduler is optimized for general quality, this old version may produce better results in specific cases. |
| noise_injection | BOOLEAN | false | Enables noise injection in the final stage. This can enhance fine details and realism, but may also generate artificial-looking color spots in smooth areas. |
| alternative_refiner | BOOLEAN | false | Enables an alternative refiner using the DPM++ SDE sampler during the final stage. This enhances contrast and sharpness in fine details but increases overall processing time. |
| positive_stg2opt | CONDITIONING | This input is optional and can remain disconnected. It allows specifying a different prompt/conditioning for the second stage of the denoising process. | |
| positive_stg3opt | CONDITIONING | This input is optional and can remain disconnected. It allows specifying a different prompt/conditioning for the third stage of the denoising process. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent_output | LATENT | The resulting denoised latent image, ready for decoding by a VAE or passed to another node for further processing. |