Nodes/was-node-suite-comfyui/Image Perlin Power Fractal
ComfyUI Node Runs on cloud

Image Perlin Power Fractal

Layered Perlin noise for richer procedural textures

By WASasquatch·Created 3 years ago·Updated about 23 hours ago· 1,839
Image Perlin Power Fractal
    • image
    width512
    height512
    scale100
    octaves4
    persistence0.50
    lacunarity2.00
    exponent2.00
    seed0

    The pack's plain Image Perlin Noise node gives you a single layer of Ken Perlin's classic gradient noise - smooth, organic, good enough for a lot of texture work on its own. This node is the fancier version: a "power fractal" is the standard term for stacking multiple octaves of that same noise on top of each other at different frequencies and amplitudes, which is how terrain generators, cloud renderers, and procedural texture tools have made richer, more detailed noise for decades (you might also know this technique as fractal Brownian motion). More layers means more fine detail riding on top of the broad shapes, at the cost of more computation.

    Where it sits among the pack's noise nodes

    WAS actually ships three related nodes worth telling apart:

    • Image Perlin Noise - single-octave Perlin, plain and fast, image output.
    • Image Perlin Power Fractal (this one) - multi-octave layered Perlin, richer detail, still image output.
    • Perlin Power Fractal Latent - the same layering idea, but generating directly in latent space to feed a KSampler as init noise instead of the usual random Gaussian start. Per the README that one "doesn't work with all samplers (unless you add noise)," making it the pickiest of the three.

    If you want a texture you can actually look at, composite, or use as a mask, you want an image-space node - either of the first two. This one is the one to reach for when a single Perlin layer looks too flat or too simple for what you're building.

    Why you'd use it

    Anywhere a plain Perlin layer feels thin: more convincing marble, cloud, terrain, or organic-noise textures; a displacement map with real fine structure for the pack's Image Displacement Warp node; or a busier procedural background than single-octave noise can give you.

    The inputs and outputs that matter

    The output is a plain image - a noise texture you use directly. Given the "fractal" framing, expect controls around the number of octaves/layers and how quickly detail falls off between them, alongside the usual seed for reproducibility, but I can't confirm exact widget names from a schema so I'm not going to invent them here.

    How to install it

    Bundled with the full WAS Node Suite:

    • ComfyUI Manager - search "WAS Node Suite", install, restart.
    • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/WASasquatch/was-node-suite-comfyui, install requirements.txt (portable: python_embeded\python.exe -s -m pip install -r requirements.txt), restart.

    Pure procedural math - no models to download.

    Common issues & troubleshooting

    It's noticeably slower than plain Perlin Noise. That's expected - you're generating multiple noise layers and combining them instead of one, so more octaves means more work per pixel. If it feels sluggish at high detail settings, that's the fractal layering doing its job, not a stall.

    Unexpected results run-to-run. Like the plain Perlin node, this is deterministic given a fixed seed. If your texture keeps changing when you didn't intend it to, check whether the seed itself is changing between runs.

    Standard pack caveat: WAS Node Suite has been unmaintained since December 2023, and the recurring issue is the whole suite failing to import after a ComfyUI update, usually a stale pinned dependency (BLIP support is the repeat offender). Reinstall requirements.txt against the right Python environment if the suite won't load.

    CategoryWAS Suite/Image/Generate

    Inputs (8)

    NameTypeDefaultDescription
    widthINT51264–8192Width of the generated image, in pixels.
    heightINT51264–8192Height of the generated image, in pixels.
    scaleINT1002–2048Size of one blob of the coarsest octave, in pixels. 100 gives clouds about a tenth of a 1024-pixel canvas across; 10 gives a busy speckle and 1000 a single soft gradient.
    octavesINT40–8How many levels of detail are added together. 1 is a single smooth layer, 4 adds three progressively finer layers over it, 8 is very detailed and slower. 0 adds nothing and renders solid black.
    persistenceFLOAT0.500.01–100How strongly each finer level shows through, as a fraction of the level before it. 0.5 halves it each time, which reads as soft clouds; 0.9 keeps almost all of it and looks rough and grainy.
    lacunarityFLOAT2.000.01–100How much finer each level is than the one before it. 2.0 halves the blob size each time, which is the usual fractal look; 1.0 makes every level the same size, and 4.0 jumps straight from big shapes to fine grain with nothing between.
    exponentFLOAT2.000.01–100Sharpens the fall-off between levels. 1.0 leaves persistence as it is; higher values fade the fine levels away faster and leave smoother, more billowy shapes.
    seedINT00–18446744073709550000Which pattern is drawn. The same seed always gives the same image, 0 included, so change it for a different one. Feed this socket from a seed node to draw a fresh pattern each prompt.

    Outputs (1)

    NameTypeDescription
    imageIMAGEThe noise, as a greyscale image with all three channels equal.