Nodes/ComfyUI-CoCoTools/Noise Generator
ComfyUI Node

Noise Generator

Procedural grain and texture, the Perlin way

By Conor-Collins·Created 2 years ago·Updated about a year ago· 33
Noise Generator
  • image
  • IMAGE
scale0.05
seed0
blend_amount0.50
noise_typeperlin

Diffusion images come out suspiciously smooth. Real photos have film grain, sensor noise, surface texture - the little imperfections that stop an image looking airbrushed. Noise Generator (class NoiseNode) is the pack's answer: it takes your image, generates procedural noise at the same resolution, and blends the two together. Perlin, simplex, or cellular - pick your flavor.

This is the organic cousin of a random-noise overlay. Instead of uniform static, Perlin and simplex noise give you smooth, curvy variation - the kind that reads as grain, canvas, skin texture, or subtle "analog" imperfection rather than digital artifacts. If your workflow ends with a detail or texture pass, feeding a touch of this into it is a classic move to break up that too-clean look.

How it works

One required input, four knobs:

  • image - the input. The node matches the noise to its resolution, so the output is a drop-in replacement.
  • scale (default 0.05, up to 1) - the frequency of the noise. Lower scale makes big, chunky blobs; higher makes fine, dense detail. Start low and nudge up.
  • noise_type - perlin (the smooth default), simplex (cheaper, similar character), or cellular (voronoi-style cells - a completely different, patchy look).
  • blend_amount (default 0.5) - how strongly the noise mixes with the image, from 0 (nothing) to 1 (full noise).
  • seed - keeps the noise reproducible, same as everywhere else.

The single output is IMAGE, ready to wire into anything that takes an image.

Where it fits

The obvious uses are film grain and texture. But it's also handy for adding detail back before an upscale pass, giving a too-clean image some believable structure for the upscaler to chew on. Cellular noise is the odd one out - it produces distinct cell boundaries, which reads more like a texture or a stylized effect than grain. If that's not what you're after, stick with perlin or simplex.

One fair take: this is a decent kitchen-sink noise node, but if film grain is your only need, a maintained pack like WAS Node Suite has simpler, better-documented grain options. This one earns its place when you want the procedural noise types without installing another pack.

Installing it

The node ships in ComfyUI-CoCoTools, which is deprecated and unmaintained; the original repo URL has been 404ing on GitHub since at least August 2026, and the successor repo (ComfyUI-CoCoTools_IO) doesn't carry this node. Install via ComfyUI Manager (search ComfyUI-CoCoTools) if it resolves, or clone manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Conor-Collins/coco_tools

Then the pack's requirements (Windows portable, from python_embeded/):

python.exe -m pip install -r ./ComfyUI/custom_nodes/ComfyUI-CoCoTools/requirements.txt

Restart ComfyUI after installing.

Gotchas

  • The default blend_amount of 0.5 is a lot. Half noise is heavy texture, not subtle grain. For a believable film-grain look, try 0.05–0.15 and keep scale low.
  • Full-resolution procedural generation gets slow on big images - a 4K render at high scale can stall the graph. Resize down or lower the scale if it drags.
  • The seed matters for reproducibility across batch runs: same seed, same grain, same result.
  • It's abandoned. For a long-lived pipeline, treat this as a nice-to-have, not infrastructure.
CategoryCOCO Tools/Image Tools

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
scaleoptFLOAT0.050.01–1
seedoptINT00–18446744073709550000
blend_amountoptFLOAT0.500–1
noise_typeoptCOMBOperlin3 options: perlin, simplex, cellular

Outputs (1)

NameTypeDescription
IMAGEIMAGE