Nodes/ComfyUI_StarNodes/⭐ Star Black & White
ComfyUI Node

⭐ Star Black & White

Grayscale is easy. Making it look like film is the trick.

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Black & White
  • image
  • image
presetNeutral Luminance
red_weight0.30
green_weight0.59
blue_weight0.11
normalize_weightstrue
add_grainfalse
grain_strength0.25
grain_density0.80
grain_size4

Grayscale is one of those things ComfyUI technically does out of the box, and it technically looks flat every time. The difference between a gray image and a good black-and-white is tonal control - which channels carry the luminance, whether the skin pops or the sky goes dramatic, and whether there's any grain to sell the film look. Star Black & White is the StarNodes node that gives you that control without making you chain together a custom color-math subgraph.

It lives in ⭐StarNodes/Image And Latent, takes one IMAGE in, gives one IMAGE out.

How it works

Standard grayscale is a weighted sum of red, green and blue - Rec.601-ish weights are roughly 0.3 / 0.59 / 0.11, which is exactly what the node defaults to under Neutral Luminance. That's the boring version. Where it gets interesting is that you can throw those weights off to imitate what photographers did with colored glass filters back in the day:

  • Skin High Red - pumps the red weight up, which lightens skin tones (that's what a red filter did to portraits).
  • Sky High Blue - boosts blue, so skies go dramatically dark while clouds stay bright.
  • Green Filter - the classic landscape move, darkening reds and lifting foliage.
  • High Contrast and Soft Matte are tonal presets on top, and Film Grain Subtle / Strong add procedural grain on the way out.

You can also skip the presets entirely and dial red_weight, green_weight and blue_weight by hand (each 0–2). normalize_weights (default on) rebalances your three numbers so they don't silently blow out brightness - keep it on unless you specifically want to overexpose the result.

The grain, specifically

add_grain flips on a noise pass with three controls: grain_strength (0–1), grain_density (0–1) and grain_size (1–64 pixels). For a subtle film-adjacent texture, strength around 0.25 and a small-to-medium grain size is the sweet spot; crank all three only if you want the image to look like it survived the 1970s. It's a lot cheaper than dragging in a dedicated film-grain pack for what is usually a one-off stylization.

Inputs at a glance

  • preset - the eight named looks; this is where 90% of people start and stop.
  • red_weight / green_weight / blue_weight - manual channel weights when no preset fits.
  • add_grain / grain_strength / grain_density / grain_size - the film-grain stack.

Installing it

This is part of the StarNodes pack, so: ComfyUI Manager → search Starnodes → Install → restart. Manually:

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

Then find it by double-clicking the canvas and typing star, or browse the ⭐StarNodes category.

The one gotcha

Because it's a weighted sum, the node works on any color image - but the presets are tuned for natural/photo content. Run Skin High Red on a teal-and-neon synthwave render and you'll get a weird, unbalanced gray rather than a moody one. For stylized art, start at Neutral Luminance and nudge a single channel weight instead of trusting the film presets. And if the output looks uniformly darker than you expected, check that normalize_weights is still on - turning it off with aggressive weights is the fastest way to produce a black blob.

Category⭐StarNodes/Image And Latent

Inputs (10)

NameTypeDefaultDescription
imageIMAGE
presetCOMBONeutral Luminance8 options: Neutral Luminance, Skin High Red, Sky High Blue, Green Filter, High Contrast, Soft Matte, +2
red_weightFLOAT0.300–2
green_weightFLOAT0.590–2
blue_weightFLOAT0.110–2
normalize_weightsBOOLEANtrue
add_grainBOOLEANfalse
grain_strengthFLOAT0.250–1
grain_densityFLOAT0.800–1
grain_sizeINT41–64

Outputs (1)

NameTypeDescription
imageIMAGE