APNext Noise FX
Add film grain to kill the plastic digital look
- images
- image
A little grain covers a lot of sins. AI images have a tell - surfaces are too clean, skin is too smooth, everything looks slightly plastic. A layer of film grain breaks that up, and it's one of the highest-value-for-effort passes you can add to a render. APNext Noise FX overlays monochrome noise, colored noise, or proper film grain on a finished image, with control over how coarse it is and how it blends.
Image in, image out, after VAE decode. No model, no API key.
How it works
The node generates a noise layer and composites it over your image using the chosen blend_mode. noise_type picks the flavor: monochrome is neutral grey grain (the safest, most film-like), colored adds chromatic speckle, and film_grain is tuned to mimic real emulsion. grain_size sets how coarse the grain is - fine grain reads as a high-quality film stock, chunky grain as pushed high-ISO. intensity is how visible it all is, and seed makes a given grain pattern reproducible.
blend_mode decides how the grain interacts with the image: overlay (the default) adds grain in shadows and highlights while preserving midtone contrast, soft_light is gentler, multiply darkens, screen lightens. Overlay is the right default for a film look.
Inputs and outputs that matter
- images - your decoded image.
- intensity (0–2, default 0.5) - how strong the grain is. Subtle is the goal; the 0.5 default is already visible up close.
- noise_type -
monochromeorfilm_grainfor realism,coloredfor a noisier digital-sensor look. - grain_size (0.1–5, default 1) - fine to coarse. Match it to your intended stock/ISO.
- blend_mode -
overlayfor the standard film overlay;soft_lightif overlay is too contrasty. - seed - lock a grain pattern (useful when grain-matching frames in a sequence).
The single output is image.
Installing it
ComfyUI Manager: search comfyui_dagthomas, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/dagthomas/comfyui_dagthomas
cd comfyui_dagthomas
pip install -r requirements.txt
Runs on the pack's image dependencies. No API key, no downloads.
Common issues
Grain should be felt, not seen - if it's obvious at normal viewing distance, it's too strong and now looks like sensor noise rather than film. Keep intensity low and judge it at 100% zoom, remembering it'll read as even subtler once the image is downscaled for the web. Coarse grain_size on a small image looks like dirt; scale grain to your output resolution.
Add grain last, after color grading, bloom, and halation, so it sits on the final image the way real grain sits on a print - grading grain along with the colors underneath looks off. And if you're going for maximum realism, monochrome or film_grain beats colored; the colored option is better for a deliberately noisy, gritty, digital aesthetic than for faking analog film.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| intensity | FLOAT | 0.500–2 | — |
| noise_type | COMBO | monochrome | 3 options: monochrome, colored, film_grain |
| blend_mode | COMBO | overlay | 4 options: overlay, multiply, screen, soft_light |
| grain_size | FLOAT | 1.00.1–5 | — |
| color_count | INT | 32–8 | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |