Perlin Power Fractal Noise π¦
Perlin Power Fractal, the node behind the pack
- optional_vae
- ppf_settings
- latents
- previews
Perlin Power Fractal is the original member of this family and the one the pack is named around - its PPF settings node even drives the Power KSampler Advanced when you plug it in. What it generates is 3D Perlin noise, layered across several octaves of frequency until it becomes a fractal: the smooth, cloudy, vaguely living texture you see in smoke sims and terrain heightmaps, rather than the harsh static of plain random noise. As a latent, it's the gentlest possible starting point for a generation - the image forms around soft, organic structure instead of fighting a field of static.
The "3D" matters more than you'd think, because it's what makes this node the one to reach for in animation. Perlin noise is sampled from a 3D space, and the frame and evolution inputs slide you through the third dimension over time. Bump frame across a sequence and the noise evolves smoothly - no popping, no re-roll - which is exactly what you want when generating consistent, evolving noise for an animation loop.
How it works
Each pixel gets a value by interpolating a grid of gradient vectors, and the fractal part sums those fields at increasing frequencies: octaves of noise, each finer than the last, with persistence controlling how much each octave contributes and lacunarity how fast frequency jumps between them. exponent then shapes the values' contrast, scale sets the overall feature size (small = fine detail, large = broad blobs), and X/Y/Z are offsets you can shift to pan through the noise field. The node generates all three RGB channels separately, giving you colored rather than monochrome noise - keep that in mind if you were expecting grey.
Inputs that matter
octaves,persistence,lacunarity- fractal shape. These three do 80% of the look. Fewer octaves = smooth; more = textured.scale- feature size. Start here when the noise feels too blobby or too fine.evolution/frame- time dimension. Feedframea schedule for animation;evolutioncontrols how much each batch item shifts in time.X/Y/Z- spatial offsets, handy for panning or for making each batch item sample a different slice.resampling- how it's downscaled to latent size.area/bicubicsmooth;nearest-exactkeeps it chunky.clamp_min/clamp_max- range floor/ceiling for the values.
optional_vae and ppf_settings round it out: leave optional_vae empty for fast raw latents (the usual choice), and plug a Perlin Power Fractal Settings node into ppf_settings to reuse one tuned configuration across runs - or to grab the exact settings the KSampler is using, since both share the same format.
Outputs: latents for your sampler, previews as an IMAGE to look at.
Where it fits
Feed a Perlin latent to a KSampler at low denoise and you get generations whose composition follows the noise's broad, organic shapes - great for landscapes, clouds, smoke, abstract forms, and anything where you want the structure to feel natural. And it's the texture base for animation, since the time dimension makes it frame-coherent in a way no other noise node in this pack is.
Install
It's part of Power Noise Suite; one install, all nodes. ComfyUI Manager β search "Power Noise Suite", or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/PowerNoiseSuite
Restart. No model files; dependencies are torch only.
Gotchas
Two things bite people. First, it's colored noise - if your preview looks like rainbow soup at high contrast, that's the three-channel design, not a bug; contrast and exponent tone it down. Second, the latent you get is raw noise, not a VAE-encoded image, so the model reads its structure, not its literal colors - the same distinction as every other noise node in this suite. Keep the defaults on a first run and adjust one knob at a time.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| batch_size | INT | 11β64 | β |
| width | INT | 51264β8192 | β |
| height | INT | 51264β8192 | β |
| resampling | COMBO | 5 options: nearest-exact, bilinear, area, bicubic, bislerp | |
| X | FLOAT | 0.00-99999999β99999999 | β |
| Y | FLOAT | 0.00-99999999β99999999 | β |
| Z | FLOAT | 0.00-99999999β99999999 | β |
| evolution | FLOAT | 0.000β1 | β |
| frame | INT | 00β99999999 | β |
| scale | FLOAT | 5.002β2048 | β |
| octaves | INT | 81β8 | β |
| persistence | FLOAT | 1.500.01β23 | β |
| lacunarity | FLOAT | 2.000.01β99 | β |
| exponent | FLOAT | 4.000.01β38 | β |
| brightness | FLOAT | 0.00-1β1 | β |
| contrast | FLOAT | 0.00-1β1 | β |
| clamp_min | FLOAT | 0.00-10β10 | β |
| clamp_max | FLOAT | 1.00-10β10 | β |
| seed | INT | 00β18446744073709550000 | β |
| device | COMBO | 2 options: cpu, cuda | |
| optional_vaeopt | VAE | β | |
| ppf_settingsopt | PPF_SETTINGS | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latents | LATENT | β |
| previews | IMAGE | β |