Nodes/ComfyUI_StarNodes/⭐ Star Realistic Film Grain
ComfyUI Node

⭐ Star Realistic Film Grain

Real film-stock grain profiles instead of uniform noise

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Realistic Film Grain
  • image
  • IMAGE
demo_modefalse
film_profile
blend_strength0.50
auto_scale_graintrue
manual_grain_size1.0
organic_variance0.50
chroma_grainfalse

AI images are too clean. That's a feature of the models and the curse of anyone chasing a film look - and the naive fix, adding random noise, looks like a bad TV static filter, not film. Star Realistic Film Grain is the pack's attempt to do it properly: it simulates grain the way film actually has it, from profiles based on real stocks, with luminance masking (grain lives mostly in midtones) and organic variance (grain clumps instead of being uniform).

If your goal is photorealism or a retro aesthetic, this is the final "analog hand" a generated image needs - the same reason the KB's photorealism essay keeps pointing at texture and noise as the tells of AI output. It's a finishing node: put it after your sampler/upscaler, before save.

How it works

The core is a set of film profiles baked into the node, each encoding (is_color, base_size, organic_variance, default_strength):

  • Kodak Tri-X 400, Ilford HP5 Plus 400 - classic monochrome, medium grain.
  • Ilford Delta 3200 - very coarse high-speed grain.
  • Kodak T-Max 100 - very fine, clean grain.
  • Kodak Portra 400, Fujifilm Superia 400, Cinestill 800T - color stocks with structured, colored grain.
  • Custom - your own settings via the manual controls.

The implementation layers in the details that make grain read as film: luminance-aware masking so shadows aren't sandblasted, and organic clumping so grain has texture rather than being uniform pixels.

Inputs that matter

  • image - your input.
  • film_profile - the stock to emulate; pick one and the node seeds grain size, variance and strength from it.
  • blend_strength - how hard the grain is blended in (default 0.5).
  • auto_scale_grain (default on) - scales grain with image resolution; turn off to control size manually with manual_grain_size.
  • organic_variance - how much the grain clumps (0–1).
  • chroma_grain - adds colored grain (the color-film look) vs luminance-only.
  • demo_mode - handy: shows the grain at higher strength so you can actually see what you're applying before dialing it down.

Output: IMAGE, ready for your save node.

Install

Part of the Starnodes2024/ComfyUI_StarNodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt

Restart, search star. No per-node dependency beyond the pack's standard requirements.

Where people get burned

The profiles are good starting points, not magic: film stock is a vibe, and Tri-X on a portrait isn't automatically "correct." Use demo_mode to actually see the grain before committing. Second, grain should be the last thing before save - applying it before an upscaler will blur your grain away. And if your output looks soft rather than gritty, check auto_scale_grain: on very large images the auto-scaling can shrink grain to nothing; drop it to manual and nudge manual_grain_size.

Category⭐StarNodes/Image And Latent

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
demo_modeBOOLEANfalse
film_profileCOMBO8 options: Custom, Kodak Tri-X 400, Ilford HP5 Plus 400, Ilford Delta 3200, Kodak T-Max 100, Kodak Portra 400, +2
blend_strengthFLOAT0.500–1
auto_scale_grainBOOLEANtrue
manual_grain_sizeFLOAT1.00.1–8
organic_varianceFLOAT0.500–1
chroma_grainBOOLEANfalse

Outputs (1)

NameTypeDescription
IMAGEIMAGE