Image Voronoi Noise Filter
Cellular noise, not the smooth Perlin kind
- image
WAS describes this as its own implementation of Worley (Voronoi) noise - a well-known procedural noise technique that works completely differently from the smoother Perlin noise WAS also ships nearby (Image Perlin Noise, Image Perlin Power Fractal). Worley noise scatters random seed points across the canvas and colors each pixel based on its distance to the nearest one, which is what produces that organic, cellular look - cracked earth, reptile scales, honeycomb, soap bubbles - instead of Perlin's soft, continuous blobs.
What it's actually for
Despite living in the "filter" name, it's really a generator - it produces a fresh noise pattern rather than transforming an image you feed in. The practical uses: a stylized, textured starting point for img2img instead of pure random noise (feed the Voronoi output in as an init image via VAE Encode for a distinctly different creative starting texture); a displacement or bump map for other effects (WAS's own Image Displacement Warp, for instance); a raw procedural texture for compositing; or just a source of organic, cell-like background material.
Don't confuse it with WAS's actual image filters (Median Filter, Film Grain, and the rest), which modify an existing photo. This one builds a pattern from parameters, not from pixels you provide.
How it works
Same underlying idea as any Worley/Voronoi noise implementation: seed points, distance-based coloring, cell boundaries. The output is a single image - the generated pattern - ready to feed anywhere downstream an IMAGE is expected.
Where it sits relative to the rest of WAS's noise nodes: Perlin and Perlin Power Fractal give you smooth, continuous variation - good for clouds, terrain-style gradients, organic blending masks. Voronoi gives you hard cell boundaries - good for anything that should read as tiled, cracked, or built from discrete chunks rather than flowing continuously. Reach for whichever matches the texture you actually want; they're not interchangeable outputs of the same underlying idea.
Installing it
Part of the full WAS Node Suite pack:
- ComfyUI Manager - search WAS Node Suite, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/WASasquatch/was-node-suite-comfyui/, thenpip install -r requirements.txtfrom inside that folder, then restart ComfyUI.
Common issues
Like most procedural noise generators, small changes to its settings can produce wildly different-looking results - treat it as something to iterate on rather than expect to nail on the first try. And since it's a generator, not a filter on your existing image, double check you're not expecting it to preserve or reference content from an input image - there isn't one to reference; the pattern comes purely from its own parameters.
And the pack-wide caveat: WAS Node Suite has been unmaintained since December 2023, and "Import Failed" errors after a ComfyUI update are a real, recurring complaint tied to older pinned dependencies colliding with newer ones. Reinstalling requirements.txt inside your ComfyUI venv is the usual fix if the whole suite stops loading.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264–4096 | Width of the generated image, in pixels. Larger canvases take noticeably longer, because every pixel is measured against every point. |
| height | INT | 51264–4096 | Height of the generated image, in pixels. The points are scattered over a square the width of the image, so a canvas taller than it is wide leaves its lower part empty of points and smoothly shaded. |
| density | INT | 5010–256 | How many points are scattered, and so how many cells appear. 10 gives a few large cells, 50 a medium honeycomb, 256 a fine mosaic that takes five times as long as 50. |
| modulator | INT | 00–8 | Which nearest point each pixel is shaded by. 0 is the closest one and gives round cells; 1 is the second closest and outlines the boundaries as bright veins; higher values stack more veins for a crystalline look. |
| seed | INT | 00–18446744073709550000 | Where the points land. The same seed always gives the same arrangement; change it to scatter them differently. Any whole number; `0` is as good a seed as any. |
| flatopt | BOOLEAN | false | `off` = each cell shaded as a smooth gradient away from its point; `on` = each cell filled with one flat random colour, which is the stained-glass Voronoi look and ignores modulator. |
| RGB_outputopt | BOOLEAN | true | `on` = a three-channel image, which is what the image nodes expect; `off` = a single-channel greyscale image, which suits a mask conversion; note that a flat render is colour, so this flattens it to grey. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | The cellular noise, stretched to fill black-to-white. |