Nodes/ComfyUI_yanc/๐Ÿ˜ผ> Film Grain
ComfyUI Node

๐Ÿ˜ผ> Film Grain

The small imperfection that makes AI output stop looking airbrushed

By ALatentPlaceยทCreated 2 years agoยทUpdated 2 years agoยท 80
๐Ÿ˜ผ> Film Grain
  • image
  • image
โ—„intensity0.01โ–บ
โ—„std_dev1โ–บ

Adding a bit of noise back into a generated image sounds backwards - you just spent a whole pipeline getting a clean image, why degrade it? But it's one of the most consistently reached-for tricks for photorealism specifically because clean, noise-free output is one of the tells that gives away an AI image. Dedicated "amateur photography" LoRAs bake grain in for exactly this reason; if you're not using one of those, or you want the effect on an image where you can't retrain anything, a simple grain post-process like this node does the same job cheaply, after the fact.

It's a small, single-purpose node: add subtle random noise across the image at a controllable strength and grain size.

How it works

It layers randomized per-pixel noise on top of the image. intensity scales how strong that noise is; std_dev controls the spread/variance of the noise distribution, which in practice changes how coarse or fine the resulting grain looks.

The inputs and outputs that matter

  • image - the source to add grain to.
  • intensity (default 0.01, range 0โ€“0.1) - how strong the grain is. The range is deliberately narrow and low - even the max value of 0.1 is meant to stay subtle, not turn the image into visible static. Start near the default and nudge up slowly.
  • std_dev (default 1, integer range 1โ€“5) - controls the noise's grain character. Lower values read as finer, tighter grain; higher values push toward a coarser, chunkier look.

One output: image, the grainy result - typically applied late in a post-processing chain, after color grading and before (or alongside) other film-look effects like YANC's Fog or Lens Distortion if you're stacking a full "shot on film" treatment.

How to install it

Via ComfyUI Manager: search "yanc" or "YANC - Yet Another Node Collection," install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ALatentPlace/ComfyUI_yanc

then restart. No extra dependencies, no downloads.

Common issues & troubleshooting

The effect is barely visible. That's usually intentional at default settings - the point is subtlety, an imperfection you feel more than consciously notice. If you want an obviously gritty, high-ISO look rather than a subtle photographic texture, push intensity toward the top of its range and raise std_dev for coarser grain, and know you're moving outside where the default range is designed to sit.

Grain looks uniform/flat rather than organic. A single Film Grain pass at a fixed setting across the whole image can look more mechanical than real film grain, which varies with exposure and shadow/highlight regions. If that's bothering you, some workflows mask the grain node to apply more strongly in shadows than highlights - this node doesn't have a built-in mask input for that, so it'd need a separate masked-blend step if you want that level of control.

You're chasing "realism" and grain alone isn't getting you there. Grain helps, but it's one piece of a bigger picture - the community's broader finding on photorealism is that naming actual camera/film equipment in the prompt does more heavy lifting than any single post-processing pass. Treat this node as the finishing touch on an already-photographic-leaning generation, not a fix for one that reads as CGI-smooth from the start.

CategoryYANC/๐Ÿ˜ผ Image/๐Ÿ˜ผ Post Processing

Inputs (3)

NameTypeDefaultDescription
imageIMAGEโ€”
intensityFLOAT0.010โ€“0.1โ€”
std_devINT11โ€“5โ€”

Outputs (1)

NameTypeDescription
imageIMAGEโ€”