Simple Noise Pattern (Purz)
Noise textures that range from static to clouds, with a seed to keep them honest
- image
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.randomwhite 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, orcloudy; 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
smoothandcloudycan be painfully slow without scipy. The fast path usesscipy.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, andcloudyalso does its octave upscaling per-pixel. At 1024×1024 you'll sit there waiting. Fix:pip install scipyin your ComfyUI Python env, or keep the texture small (256–512) and upscale in a later node.randomignores the seed's "smoothness". It's genuinely random pixels - setintensityto 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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264–4096 | — |
| height | INT | 51264–4096 | — |
| noise_type | COMBO | smooth | 3 options: random, smooth, cloudy |
| intensity | FLOAT | 1.00.1–2 | — |
| seed | INT | 00–9999 | — |
| colored | BOOLEAN | false | — |
| batch_size | INT | 11–16 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |