Nodes/ComfyUI-Purz/Simple Noise Pattern (Purz)
ComfyUI Node

Simple Noise Pattern (Purz)

Noise textures that range from static to clouds, with a seed to keep them honest

By purzbeats·Created about a year ago·Updated 3 months ago· 24
Simple Noise Pattern (Purz)
    • image
    width512
    height512
    noise_typesmooth
    intensity1.0
    seed0
    coloredfalse
    batch_size1

    ComfyUI generates noise constantly - latent noise is how the sampler starts - but it doesn't hand you a noise texture you can see, composite, or mask with. PurzSimpleNoisePattern fills that gap. Give it dimensions and a noise type and it returns an IMAGE of pure procedural noise, from TV static to smooth gradients to layered clouds. Feed it into a blend node as a texture, use it as an img2img starting point, or composite it for that film-grain look.

    It's from purzbeats' ComfyUI-Purz pack, and like the other pattern nodes it's pure code - no models, no downloads, nothing to weigh it down.

    How it works

    The three modes are genuinely different algorithms:

    • random - straight numpy.random white noise. Every pixel independent, full static. The cheapest mode by far.
    • smooth - it generates low-res random values (roughly 1/8 scale) and bilinearly interpolates them up to full size. Result: soft blobby gradients instead of static.
    • cloudy - four octaves of smooth noise summed, each at a coarser scale with decreasing weight. That's your classic fractal cloud / marbled look, and it's the slowest.

    Seeds make it reproducible: the same seed gives the same texture, and batch frames step the seed by 100 each so consecutive frames differ (handy if you want per-frame variation in a video batch).

    The inputs that matter

    • width / height - 64–4096, step 8, default 512.
    • noise_type - random, smooth, or cloudy; smooth is the default and the best starting point.
    • intensity - 0.1–2.0, default 1.0. Scales brightness; on grayscale noise it's your contrast knob.
    • seed - 0–9999. Deterministic; lock it if you need the same texture twice.
    • colored - off gives grayscale (the same noise on all three channels); on generates independent noise per channel for rainbow static or colored clouds.
    • batch_size - 1–16, for generating a stack at once.

    Output is a single image (IMAGE).

    Install

    Same pack, same story:

    cd ComfyUI/custom_nodes
    git clone https://github.com/purzbeats/ComfyUI-Purz.git
    cd ComfyUI-Purz
    pip install -r requirements.txt
    

    then restart ComfyUI, or grab "ComfyUI-Purz" from ComfyUI Manager. No model downloads.

    Where people get burned

    • smooth and cloudy can be painfully slow without scipy. The fast path uses scipy.ndimage.zoom, but scipy is not in the pack's requirements.txt. If you don't have it, the node falls back to a pure-Python per-pixel bilinear loop, and cloudy also does its octave upscaling per-pixel. At 1024×1024 you'll sit there waiting. Fix: pip install scipy in your ComfyUI Python env, or keep the texture small (256–512) and upscale in a later node.
    • random ignores the seed's "smoothness". It's genuinely random pixels - set intensity to something like 0.3–0.5 for a subtler grain rather than blasting full-range static.
    • Seed range is small. 0–9999 means "seed churn" workflows don't have much room, but it's fine for a texture.

    If you mostly want grain on top of a video or render, smooth at low intensity is the one you'll actually reach for. cloudy is the showoff mode - great for cloud plates, just don't run it at 4K.

    CategoryPurz/Patterns/Noise

    Inputs (7)

    NameTypeDefaultDescription
    widthINT51264–4096
    heightINT51264–4096
    noise_typeCOMBOsmooth3 options: random, smooth, cloudy
    intensityFLOAT1.00.1–2
    seedINT00–9999
    coloredBOOLEANfalse
    batch_sizeINT11–16

    Outputs (1)

    NameTypeDescription
    imageIMAGE