❌[DEPRECATED] Z-Sampler Turbo v2 (Laboratory)
The G2 sampler's lab bench — every knob the author used to build it
- model
- positive
- latent_input
- divider1
- divider2
- divider3
- divider4
- latent_output
This is the workbench Martin Rizzo used to calibrate the second-generation Z-Sampler Turbo, and then he shipped it to the public because why not. It's marked ❌[DEPRECATED], and for good reason: it exposes every internal parameter of the zsampler_turbo_core(...) method, which is exactly as terrifying as it sounds. If you just want good images, the Simple or Extended node is the tool. This one exists for people who want to feel the machine.
What's actually on it
Underneath it's the same three-stage sampler - composition, details, refinement - that made the pack famous. But instead of the curated knobs, you get the raw variables the core method takes, in four piles:
- Initial noise surgery:
initial_noise_bias_level(how much of the calculated noise bias to apply),initial_noise_overdose(over-amplitude of the initial noise),noise_est_sample_size(how big a latent to measure the noise on). - Extra noise injection: three
extra_noise_freq/extra_noise_scalepairs. The freq is in "pixels" - 1024 means noise into every pixel, 512 means every second pixel with interpolation between. Scale is how much noise. The defaults (freq 32/64/512, scale 7.5/3.7/1.0) are the tuned values from the pack'snoise_injectionfeature. - Latent scrambling:
scramble_left_count,scramble_top_count,scramble_right_count,scramble_bottom_count- this is turbo_creativity laid bare. 0 = off, negative values enable random flipping. Plusstage2_preproc_steps(0–3) for the coherence-correction steps that tame the hallucinations. - Sigma fiddling: a
sigma_preset_name(the "bravo" vs "alpha" scheduler presets) and tensigma1_off…sigma10_offoffsets so you can nudge each sigma value of the schedule by hand.
Plus the usual model, positive, latent_input, seed, steps, and denoise inputs shared across the family. Output is a single LATENT.
Why you'd ever use a deprecated node
Two honest reasons. First, curiosity - this is the best documentation of what the G2 sampler actually does that exists, because it is the parameter list. Second, if you want to reproduce a specific experiment or see whether a tweak (say, more stage-2 scrambling) helps your particular subject matter. It still works; "deprecated" here just means the author stopped treating it as a supported surface and it could disappear in a future release. The pack's own note says experimental and dev-facing nodes are subject to change or removal.
Installing it
Same as the rest of the pack: ComfyUI Manager → "Z-Image Power Nodes" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes.git
No Python dependencies. You do need a current ComfyUI (the pack uses the Nodes 2.0 API, minimum v0.11.0) and the Z-Image Turbo model files - the pack doesn't download them.
If you do poke it
Change one variable at a time, keep a screenshot of the defaults first, and treat the sigma offsets like a lab reagent - a ±0.001 nudge can visibly shift output. And when the experiment's over, remember the Simple node exists with all of this tuned for you. That's the whole point of the pack.
Inputs (35)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for generating the latent images. | |
| positive | CONDITIONING | The conditioning used to guide the generation process toward the desired content. | |
| latent_input | LATENT | The initial latent image to be modified; typically an 'Empty Latent' for text-to-image or an encoded image for img2img. | |
| 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 | The number of iterations to be performed during the sampling process. |
| denoise | FLOAT | 1.000–1 | The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling. |
| divider1 | ZIPN_SEPARATOR | — | |
| initial_noise_bias_level | FLOAT | 1.00–10 | The level of adjustament from the calculated noise bias to apply before the first denoising step. (0.0 means no noise bias adjustment; 1.0 means using the calculated noise bias). |
| initial_noise_overdose | FLOAT | 0.2-1–1 | The amount of over-amplitude in the initial noise generation. (negative values will reduce any excessive amplitude). |
| noise_est_sample_size | COMBO | image_size | The size of the latent image used to calculate the initial noise. The smaller the image size, the faster the calculation of the first step. |
| divider2 | ZIPN_SEPARATOR | — | |
| extra_noise_freq1 | INT | 320–1024 | The frequency at which extra noise is injected into the latent during the first stage. A value of 1024 means noise in injected into every pixel, a value of 512 means noise is injected every second pixel, with intermediate pixels being interpolated. |
| extra_noise_scale1 | FLOAT | 7.50–50 | The amount of noise to be injected into the latent image during the first stage. A value of 0 means that no noise will be injected. |
| extra_noise_freq2 | INT | 640–1024 | The frequency at which extra noise is injected into the latent during the second stage. A value of 1024 means noise in injected into every pixel, a value of 512 means noise is injected every second pixel, with intermediate pixels being interpolated. |
| extra_noise_scale2 | FLOAT | 3.70–50 | The amount of noise to be injected into the latent image during the second stage. A value of 0 means that no noise will be injected. |
| extra_noise_freq3 | INT | 5120–1024 | The frequency at which extra noise is injected into the latent during the third stage. A value of 1024 means noise in injected into every pixel, a value of 512 means noise is injected every second pixel, with intermediate pixels being interpolated. |
| extra_noise_scale3 | FLOAT | 1.00–50 | The amount of noise to be injected into the latent image during the third stage. A value of 0 means that no noise will be injected. |
| divider3 | ZIPN_SEPARATOR | — | |
| scramble_left_count | INT | 0-16–16 | Number of times to scramble the latent image with left side fragments. A value of 0 means no scrambling will be done, while negative values enable random flipping. |
| scramble_top_count | INT | 0-16–16 | Number of times to scramble the latent image with top side fragments. A value of 0 means no scrambling will be done, while negative values enable random flipping. |
| scramble_right_count | INT | 0-16–16 | Number of times to scramble the latent image with right side fragments. A value of 0 means no scrambling will be done, while negative values enable random flipping. |
| scramble_bottom_count | INT | 0-16–16 | Number of times to scramble the latent image with bottom side fragments. A value of 0 means no scrambling will be done, while negative values enable random flipping. |
| stage2_preproc_steps | INT | 00–3 | Number of extra steps to perform as pre-processing in the second stage, this can improve coherence and reduce hallucination. |
| divider4 | ZIPN_SEPARATOR | — | |
| sigma_preset_name | COMBO | bravo | The set of predefined sigma values that are used during the denoise process. |
| sigma1_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma1. |
| sigma2_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma2. |
| sigma3_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma3. |
| sigma4_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma4. |
| sigma5_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma5. |
| sigma6_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma6. |
| sigma7_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma7. |
| sigma8_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma8. |
| sigma9_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma9. |
| sigma10_off | FLOAT | 0.000-1–1 | Offset that will be applied to the value of sigma10. |
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. |