⚡| Z-Sampler Turbo v2 (Advanced)
The G2 sampler with the training wheels off — for chaining samplers
- latent_input
- model
- positive
- divider
- divider2
- positive_stg2
- positive_stg3
- latent_output
Same engine as the other second-generation Z-Sampler Turbo nodes, but this one hands you the hood. The Advanced variant is the one you grab when you need to split a generation across two samplers - a ControlNet pass for structure, then a clean pass for detail - or when you want to slice the denoise range and control exactly when noise enters the process. If you're not chaining samplers, you don't need it. The Simple node will make you happier.
What "advanced" actually adds
Every G2 sampler runs the same three-stage core: a 2-step composition stage with fixed sigmas, a variable details stage, and a refinement stage that goes back up the sigma ladder and re-denoises. That's Martin Rizzo's empirical discovery from the Amazing Z-Image Workflow, and it's what makes Z-Image Turbo look good at 8 steps with no refiner, at CFG 1.0, no negative prompt. The Advanced node then layers on the plumbing:
- add_noise - add the initial noise or not. Leave it on unless your input latent already carries residual noise from a previous sampler.
- start_at_step / end_at_step (0–100) - slice out a portion of the sampling process. This is how you run stage-one-only, or hand off to a second sampler at a specific point.
- force_final_denoising - default true, meaning the output latent is fully denoised. Switch it off when you want the next sampler in the chain to see residual noise and take over.
- initial_sample_size (256px / 512px / full_size) - how big a latent to use when calculating the initial-noise correction. Smaller is faster on step one, less accurate.
- intensity / intensity_bias - the contrast/saturation and "brightness-ish" knobs. They only take effect at denoise 1.0, so in a chain they mostly belong on the last sampler.
- turbo_creativity -
off,scrambled, orrefined (1-step)/refined (2-steps)/refined (3-steps). Scrambling between stages boosts composition variety but risks hallucinations; the refined options burn extra steps correcting them.
It also exposes the optional positive_stg2 and positive_stg3 conditioning inputs - different prompts for the details and refinement stages. The pack ships an example workflow ("double_trouble") that uses stage-specific prompts to merge two styles into one image.
The inputs a beginner actually touches
If you only change three things, make them these:
- steps - 3 to 20. Quality is genuinely good from 5, and 8–10 is the documented sweet spot; beyond that the curve flattens.
- seed - standard reproducibility.
- turbo_creativity - leave
offuntil you hit the seed-diversity wall that Z-Image Turbo is famous for, then tryrefined (1-step).
Output is one LATENT (latent_output) that goes to your VAE decode, or into the next sampler in the chain.
Installing it
Standard pack install - Manager, search "Z-Image Power Nodes", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes.git
The pack has no pip requirements; the real "install" is supplying the Z-Image Turbo pieces the README links (diffusion model + Qwen3-4B text encoder + a 335 MB VAE, in diffusion_models/, text_encoders/, and vae/). And it needs a recent ComfyUI - the pack is built on the Nodes 2.0 API (minimum v0.11.0).
Gotchas
The most common footgun is forgetting what you turned off. Disable force_final_denoising and never re-enable it, and your "finished" image comes out with residual noise baked in. Same with add_noise: off is correct only when the incoming latent is already noisy. When in doubt, reset both to their defaults (true) and treat the chain as two independent generations joined at the latent. Also remember the sampler is CFG 1 - it was tuned mostly on the Q5_K_S GGUF checkpoint, and LoRAs haven't been extensively tested with it, so if you stack LoRAs and the output gets mushy, the sampler is the first suspect.
Inputs (17)
| 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. | |
| add_noise | BOOLEAN | true | Determines whether to add initial noise to the latent image. Recommended for most cases. Disabling this is useful for sampler chaining when the input latent already contains residual noise from a previous process. |
| 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. |
| start_at_step | INT | 00–100 | The step at which the sampling process should start, allowing for more precise control over the denoising process and enabling sampler chaining. |
| end_at_step | INT | 1000–100 | The step at which the sampling process should end. allowing for more precise control over the denoising process and enabling sampler chaining. |
| force_final_denoising | BOOLEAN | true | Determines whether to force a full final denoising step, resulting in a output latent with no residual noise. Recommended for most cases. Disabling this is useful when residual noise is required for the next process in a sampler chain. |
| divider | ZIPN_SEPARATOR | — | |
| initial_sample_size | COMBO | full_size | The latent image size used for calculating the initial noise for intensity correction. While smaller sizes result in a faster first step, they can lead to a less accurate correction |
| divider2 | ZIPN_SEPARATOR | — | |
| intensity | FLOAT | 0.0-1–1 | Initial noise amplitude used to enhance contrast and colors. A value of 0.0 is neutral; negative values create more muted images, while positive values increase contrast and saturation. This only takes effect when 'denoise' is set to 1.00 |
| intensity_bias | 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. |
| turbo_creativity | COMBO | off | Boosts model creativity for more diverse compositions while maintaining the general style. Be aware that this can lead to hallucinations and isn't recommended for inpainting tasks. The refined options add extra steps to try to correct the hallucinations and bring coherence to the image |
| positive_stg2opt | CONDITIONING | This input is optional and can remain disconennect. 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 disconennect. 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 to be decoded by a VAE or passed to another node for further processing. |