Nodes/ComfyUI_LC123_nodes/LC Film Stock (B&W)
ComfyUI Node

LC Film Stock (B&W)

Tri-X, HP5 and Acros, from one dropdown

By lonecatone23·Created 2 months ago·Updated about 13 hours ago· 19
LC Film Stock (B&W)
  • image
  • image
film_stockFuji Acros 100
color_filterNone
strength1.00
contrast0.00
exposure_shift0.00

Black-and-white is not "desaturate and call it a day." Real B&W film has a characteristic response - which channels feed the gray, how the shadows crush, how the highlights roll off - and that's the whole personality of a stock like Tri-X versus Delta 100. LC Film Stock (B&W) (LCFilmStockBW) bakes six real B&W films into one dropdown, with a spectral color filter on top, so your grayscale looks like it was shot on film instead of converted in a photo app.

It's a deterministic post node in the LC123/image category, alongside its color sibling. No model, no data files - just preset curves in the source.

How it works

Each film stock is a small recipe of weights and curve parameters:

  • Weights (which RGB channels feed the gray) - this is what makes a film's contrast in color different. The node multiplies in your chosen color_filter (None, Yellow, Orange, Red, Green, Blue) - the classic B&W photographer's trick. A red filter darkens blue skies dramatically; a yellow filter barely lifts contrast. The weights are renormalized after the filter, so the gray isn't just "less red."
  • Toe / shoulder / slope - a characteristic curve applied in linear light. The toe is where shadows compress (film holds shadow detail, digital crushes), the shoulder is where highlights roll off instead of clipping.
  • Fog - a tiny lifted black point, because real film has base fog. Subtle, but it's the difference between film blacks and pure black.

Then the whole thing converts back to sRGB and blends with the original via strength.

The stocks: Ilford HP5 Plus 400, Ilford Delta 100, Kodak Tri-X 400, Kodak T-Max 100, Fuji Acros 100, Ilford Pan F Plus 50. Different names, genuinely different looks - Tri-X is punchy and grainy, Acros is clinically smooth, Pan F is fine-grained and low-contrast.

The controls

  • film_stock - the pick.
  • color_filter - the spectral filter. Red is the dramatic one.
  • strength - blend with the original (default 1).
  • contrast (optional, −1..1) - shifts toe/shoulder/slope off the stock's default.
  • exposure_shift (optional, −3..3) - an f-stop-style exposure adjustment in linear light before the curve.

Where it sits in a workflow

If you're after the full "shot on film" thing, pair it with LC Film Grain on top - stock gives the tone, grain gives the texture. And since it's pure pixel math, it's instant and repeatable; the same stock+filter+seed will give you the same negative every run.

Install

Part of ComfyUI_LC123_nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes

or ComfyUI Manager, then restart. No dependencies, no downloads.

One caveat, honestly stated: these are interpretations of film stocks from preset curves, not measured emulations - a Kodak engineer wouldn't sign off. But as a first-class B&W look that's miles ahead of a straight desaturate, it's exactly right. And this pack is obscure enough that the preset data in lc_image_tools.py is effectively the spec - there's no community benchmark to compare against.

CategoryLC123/image

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
film_stockCOMBOFuji Acros 1006 options: Ilford HP5 Plus 400, Ilford Delta 100, Kodak Tri-X 400, Kodak T-Max 100, Fuji Acros 100, Ilford Pan F Plus 50
color_filterCOMBONone6 options: None, Yellow, Orange, Red, Green, Blue
strengthFLOAT1.000–1
contrastoptFLOAT0.00-1–1
exposure_shiftoptFLOAT0.00-3–3

Outputs (1)

NameTypeDescription
imageIMAGE