Power KSampler Advanced π¦
The node that swaps your sampler's noise mid-generation
- model
- positive
- negative
- latent_image
- tonal_guide_latent
- ppf_settings
- ch_settings
- LATENT
This is the flagship of Power Noise Suite, and it does something no other KSampler does: it replaces the noise that the sampler injects at every step with power-law noise of your choosing. White noise is what every diffusion model was trained against and what every normal sampler uses; Power KSampler Advanced lets you run the denoise on pink, brown, blue, Perlin-fractal, or cross-hatch noise instead - or on a tonal guide image whose colors it tries to inject into the generation. That's a genuinely different way to steer a result, and it's the whole reason the pack exists.
How it works
The trick is a hijack. Rather than reimplementing sampling, the node temporarily swaps out ComfyUI's internal default_noise_sampler and BrownianTreeNoiseSampler with its own versions, runs the normal common_ksampler pipeline underneath, then restores the originals. Each step it generates the noise type you asked for at full resolution, downscales it to latent size, blends it with the standard random noise using one of the same blend functions the Blend Latents node uses, and scales that blend to the current sigma. When you pick noise_type: vanilla_comfy, it deliberately does none of this - the node becomes a pass-through that samples with plain ComfyUI noise, which is a handy A/B control.
The catch is spelled out in the README and you should trust it: it only works with samplers that inject noise on every step via default_noise_sampler(). That's why the sampler list is limited to the SDE and ancestral family (dpmpp_sde, dpmpp_2m_sde, euler_ancestral, dpmpp_2s_ancestral, dpm_2_ancestral, and friends) - a deterministic sampler like euler or dpmpp_2m never calls that function, so it's not offered. The scheduler list is the normal nine.
Inputs that matter
The required inputs mirror KSampler Advanced (model, positive/negative, seed, steps, cfg, start_at_step/end_at_step or enable_denoise + denoise). The interesting ones are optional:
noise_type- white, grey, pink, green, blue,random_mix,brownian_fractal,velvet,violet, orvanilla_comfy. This is the sound of the generation, to steal the audio metaphor: pink/brown = soft, organic, lower-frequency structure; blue/violet = fine, sharp detail.noise_blending- how the power-law noise gets mixed into the base random noise (bislerp,lerp,add,inject, etc.).sigma_tolerancescales how aggressively that blend tracks the noise level.scaleandalpha_exponent- amplitude and softness of the noise, same meaning as in the Power-Law Noise node.ppf_settings/ch_settings- plug in a Perlin Power Fractal Settings or Cross-Hatch Power Fractal Settings node and the sampler generates that fractal noise instead of power-law noise (ppf wins over ch, both disable plain power-law).tonal_guide_latent+guide_use_noise- feed it a latent (e.g., an encoded reference image) and it tries to tint the generation toward that image's colors. The README is upfront that it's "not always reliable" but can sometimes theme the output strongly.
Known failure modes (from the pack's own notes)
Outputs tinted green, or just nonsense? Your tolerance is probably too high, or you started from a latent with strong noise. Not that? Then your model + scheduler combo is producing an abnormally high sigma that throws off the sigma scaling - try a different scheduler or back sigma_tolerance off. These are the documented gotchas, so you're not doing it wrong; they're just the price of the feature.
Install
It's in Power Noise Suite - install the pack once. ComfyUI Manager β search "Power Noise Suite", or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/PowerNoiseSuite
Restart. No extra dependencies beyond torch, no models to fetch.
Bottom line
If you just want images, use a normal KSampler - this node is for people who want to feel the noise. When it clicks, it's the difference between "same picture, different seed" and generations with genuinely different texture. And when it doesn't click, the green tint and the limited sampler list tell you exactly what's wrong.
Inputs (27)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | β | |
| seed | INT | 00β18446744073709550000 | β |
| steps | INT | 201β10000 | β |
| cfg | FLOAT | 8.000β100 | β |
| sampler_name | COMBO | 11 options: dpmpp_sde, dpmpp_sde_gpu, dpmpp_2m_sde, dpmpp_2m_sde_gpu, dpmpp_3m_sde, dpmpp_3m_sde_gpu, +5 | |
| scheduler | COMBO | 9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3 | |
| positive | CONDITIONING | β | |
| negative | CONDITIONING | β | |
| latent_image | LATENT | β | |
| start_at_step | INT | 00β10000 | β |
| end_at_step | INT | 100000β10000 | β |
| enable_denoise | COMBO | 2 options: false, true | |
| denoise | FLOAT | 1.000β1 | β |
| add_noise | COMBO | 2 options: enable, disable | |
| return_with_leftover_noise | COMBO | 2 options: disable, enable | |
| noise_typeopt | COMBO | 10 options: white, grey, pink, green, blue, random_mix, +4 | |
| noise_blendingopt | COMBO | 7 options: bislerp, cosine interp, cuberp, hslerp, lerp, add, +1 | |
| noise_modeopt | COMBO | 2 options: additive, subtractive | |
| scaleopt | FLOAT | 1.000-9223372036854776000β9223372036854776000 | β |
| alpha_exponentopt | FLOAT | 1.000-12β12 | β |
| modulatoropt | FLOAT | 1.000.1β2 | β |
| sigma_toleranceopt | FLOAT | 0.5000β1 | β |
| boost_leading_sigmaopt | COMBO | 2 options: false, true | |
| tonal_guide_latentopt | LATENT | β | |
| ppf_settingsopt | PPF_SETTINGS | β | |
| ch_settingsopt | CH_SETTINGS | β | |
| guide_use_noiseopt | COMBO | 2 options: true, false |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | β |