Nodes/comfy-plasma/Pink Noise
ComfyUI Node

Pink Noise

Random, but easier on the eyes

By Jordach·Created 3 years ago·Updated 2 years ago· 81
Pink Noise
    • IMAGE
    width512
    height512
    value_min-1
    value_max-1
    red_min-1
    red_max-1
    green_min-1
    green_max-1
    blue_min-1
    blue_max-1
    seed0

    Audio engineers will tell you pink noise is the "balanced" one - white noise is all frequencies equally harsh, pink tilts toward the warm end, and brown is the deep rumble. JDC_PinkNoise imports that idea into images: it's random noise, but each value is run through a cube root before it's written, which pulls the bright extremes down toward the midtones. The result is softer, warmer static - still clearly random, just without the eye-searing sparkle of pure white noise.

    It's one of the five noise generators in comfy-plasma by Jordach, sitting exactly halfway between JDC_RandNoise (harsh) and JDC_BrownNoise (muddy).

    How it works

    The generator follows the family pattern: a per-pixel loop, per-channel range clamping, a seed. The pink twist is the single cube root - pow(random_value / 255, 1/3) * 255. Taking the cube root of a number between 0 and 1 compresses it toward the middle, so mid-brightness values survive and the very dark / very bright ends get pulled in. It's a gentler pull than brown noise's double cube root, which is exactly the middle-child position: more texture than brown, less harshness than random.

    You get the full set of range controls: value_min / value_max (default -1 = full 0–255 range) and per-channel red/green/blue_min/max overrides, plus width / height (128–8192, steps of 8) and a seed. The per-channel overrides tint the pink noise, so you can make a warm, film-grain-like wash in one step.

    When you'd reach for it

    • Film grain - pink noise is the classic grain texture. It reads as organic rather than digital static.
    • Soft texture bases for img2img or latent-init workflows where pure random would be too loud.
    • Anywhere you want the idea of noise without the harshness - this is the noise you can leave on for a while.

    It's the one I'd reach for first when the goal is "texture that doesn't fight the image."

    The seed caveat

    Same as the whole family: the seed makes output reproducible, but the author's source comment warns it "does nothing" as far as ComfyUI's caching is concerned - you have to actually change the seed widget or another input to force a fresh roll. No auto-randomize.

    Install

    No requirements.txt, no models - the pack needs only Pillow, numpy, torch, and requests, all already in ComfyUI.

    ComfyUI Manager → Install Custom Nodes → search comfy-plasma → install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Jordach/comfy-plasma
    

    Restart ComfyUI. It's under image/noise.

    Common issues

    The per-pixel Python loop means it's fast at 512×512 but noticeably slow if you push toward 8192 - generate small and upscale. And don't mistake the softness for a bug: pink noise is supposed to look calmer than random noise. If it reads as too flat, widen the value_min/value_max range instead of grabbing a contrast node afterward.

    Categoryimage/noise

    Inputs (11)

    NameTypeDefaultDescription
    widthINT512128–8192
    heightINT512128–8192
    value_minINT-1-1–255
    value_maxINT-1-1–255
    red_minINT-1-1–255
    red_maxINT-1-1–255
    green_minINT-1-1–255
    green_maxINT-1-1–255
    blue_minINT-1-1–255
    blue_maxINT-1-1–255
    seedINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE