Nodes/⚗ AlchemicaSampler/⚗ Alchemica Black and White (darkroom filters)
ComfyUI Node

⚗ Alchemica Black and White (darkroom filters)

Black and white conversion that thinks like a darkroom, not a desaturate slider

By Nessuno76·Created about a month ago·Updated 21 days ago· 4
⚗ Alchemica Black and White (darkroom filters)
  • image
  • mask
  • image
◄filterorange (portrait)►
◄toningblack and white►
◄contrast1.15►
◄brightness0.00►
◄grain0.000►
◄invert_maskfalse►

Every image tool has a "grayscale" button. They all do the same thing: throw away the colour channels and keep the luminance. This one does what a photographer with a roll of Tri-X and a box of filters does - which colours become light, how hard the mid-tones curve, whether the print is toned, how much grain the film had.

No AI, no model pass, no queue time worth mentioning. It's tensor maths on the image you already have.

The controls

  • image - in from VAE Decode (after DeGrid, if you're using it).
  • filter - which colours become light. The default orange (portrait) is the classic: skin gets lighter and smoother, the way an orange filter works on b/w film. red is the extreme version of that. green does the opposite - darker, more textured skin, good for character and bad for beauty. blue is for drama: dark skin, bright skies, moody. There's also a neutral Rec. 709 option if you want the boring, technically correct conversion.
  • contrast - an S-curve around mid-grey, default 1.15. 1.0 is as it is; 1.2–1.4 is punchy. This is the single biggest lever on whether the result looks like a print or an export.
  • brightness - ±0.5, default 0.
  • grain - film grain, 0 to 0.15. 0.02–0.04 reads like 400 ISO. 0 is clean. Grain is what stops a b/w conversion from looking like a colour image with the saturation pulled out, and most people under-use it.
  • toning - pure black and white, or a toned print: sepia, selenium, platinum. Subtle at low values and the fastest way to make a digital b/w look intentional.
  • mask (optional) - b/w only where you painted, so the rest of the frame stays colour.
  • invert_mask (optional) - flips it. Painted mask plus inverted equals colour splash: the subject keeps colour and everything around them goes monochrome.

Output: image.

Where to put it

At the end, after decoding:

VAE Decode → ⚗ Alchemica DeGrid → ⚗ Alchemica Black and White → Save Image

The pack ships a KREA2_BIANCO_NERO example workflow, and it's also wired at the end of KREA2_FOTO_RAPIDO with the node switched off, which tells you what the author thinks it's for: the last decision you make, not a mid-pipeline step.

Why bother, when Krea 2 already does stylised output

Two reasons, and one of them is specific to this model. Krea 2's VAE was chosen for non-photographic work, so it renders colour in a particular way, and the pack's own measurements found that it paints skin lighter than a description implies - hence an entire measured colour table in the Face Blend node. If a colour cast keeps winning arguments with your prompt, monochrome ends the argument. The second reason is simpler: channelling through a filter is how you decide what the picture is about, and a contrast curve you can dial is more honest than hoping the sampler agrees with you.

It's also a decent trick for judging your own work. Colour hides composition. Run the same render through a red filter with contrast 1.3 and you'll see the tonal structure you were actually building, or notice you weren't.

Installing

# ComfyUI Manager: search "AlchemicaSampler"
cd ComfyUI/custom_nodes && git clone https://github.com/Nessuno76/ComfyUI-AlchemicaSampler

ComfyUI 0.36+ for the pack, no pip dependencies, and restart the ComfyUI server after installing - a browser reload doesn't register new nodes, which is the single most common "I installed it and there's nothing there" cause in ComfyUI generally.

Common issues

The mask does nothing. mask comes from a Load Image node's MASK output after painting in the MaskEditor (right-click the Load Image node → Open in MaskEditor). An empty mask means no mask, so the whole image converts.

Colour splash looks inverted from what you wanted. That's the invert_mask toggle. One of the two settings gives you "subject in colour, background in grey"; the other gives you the opposite.

Grain looks like noise, not film. 0.15 is a lot. Try 0.03, and pair it with a bit of contrast - grain on a flat image reads as sensor noise, grain on a contrasty one reads as film.

Category⚗ AlchemicaMente/image

Inputs (8)

NameTypeDefaultDescription
imageIMAGE—
filterCOMBOorange (portrait)Which colours become light: as the coloured filters used with b/w film. Red/orange = lighter, smoother skin; green = darker, more textured skin; blue = dramatic
toningCOMBOblack and whitePure grey, or a toned print (sepia, selenium, platinum)
contrastFLOAT1.150.5–2.5S-curve around the mid-grey: 1 = as it is, 1.2-1.4 = punchy b/w
brightnessFLOAT0.00-0.5–0.5—
grainFLOAT0.0000–0.15Film grain (0.02-0.04 = like a 400 ISO film). 0 = none
maskoptMASKOptional: b/w only in the painted zone (or everywhere ELSE with 'inverti': colour splash, the subject stays in colour)
invert_maskoptBOOLEANfalse—

Outputs (1)

NameTypeDescription
imageIMAGE—