⚗ Alchemica Black and White (darkroom filters)
Black and white conversion that thinks like a darkroom, not a desaturate slider
- image
- mask
- image
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 defaultorange (portrait)is the classic: skin gets lighter and smoother, the way an orange filter works on b/w film.redis the extreme version of that.greendoes the opposite - darker, more textured skin, good for character and bad for beauty.blueis 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- pureblack 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.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| filter | COMBO | orange (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 |
| toning | COMBO | black and white | Pure grey, or a toned print (sepia, selenium, platinum) |
| contrast | FLOAT | 1.150.5–2.5 | S-curve around the mid-grey: 1 = as it is, 1.2-1.4 = punchy b/w |
| brightness | FLOAT | 0.00-0.5–0.5 | — |
| grain | FLOAT | 0.0000–0.15 | Film grain (0.02-0.04 = like a 400 ISO film). 0 = none |
| maskopt | MASK | Optional: b/w only in the painted zone (or everywhere ELSE with 'inverti': colour splash, the subject stays in colour) | |
| invert_maskopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |