⚗ Alchemica · Black and white (darkroom filters) [1.0, use Alchemica Black and White (darkroom filters)]
Same monochrome, Italian names
- immagine
- maschera
- immagine
This is the original ⚗ Alchemica · Black and white - the darkroom-style monochrome converter, before the pack's 1.1 restyle renamed every socket and widget into English and moved the originals into a legacy (1.0) category. It works, it's the same code, and its twin is ⚗ Alchemica Black and White.
You're here because a workflow you downloaded references it. That's the only good reason.
The mapping, since that's what you need
| 1.0 | 1.1 twin | Notes |
|---|---|---|
| immagine | image | The decoded image |
| filtro | filter | filtro arancio (ritratto) → orange (portrait); also red, yellow, green, blue, neutral Rec. 709 |
| viraggio | toning | bianco e nero → black and white; sepia, selenium, platinum |
| contrasto | contrast | S-curve around mid-grey. 1.15 default; 1.2–1.4 is punchy |
| luminosita | brightness | ±0.5, default 0 |
| grana | grain | 0–0.15; 0.02–0.04 reads like 400 ISO film |
| maschera | mask | Optional MASK: convert only where painted |
| inverti_maschera | invert_mask | Flips it - painted mask plus inverted gives colour splash |
| immagine (out) | image (out) | Single output |
What it's doing
No model, no sampling, no queue cost. It's a weighted channel mix (which is what a coloured darkroom filter does to b/w film: an orange filter lightens and smooths skin, a green one darkens and textures it, blue is the dramatic one), then an S-curve around mid-grey, optional toning for a sepia/selenium/platinum print, and optional grain. Painting a mask limits the conversion to that zone; inverting the mask keeps the subject in colour and desaturates everything else.
Porting it
Swap in ⚗ Alchemica Black and White, reconnect the image and the optional mask, and translate filtro, viraggio and inverti_maschera - those are the only menu and boolean values that don't map by position. Defaults are the same in both nodes (orange filter, pure black and white, contrast 1.15), so a rewire with no changes gives the identical result.
If you're keeping the workflow as-is: legacy nodes are hidden from search but not gone. Right-click → Add Node → ⚗ AlchemicaMente → legacy (1.0).
Installing
# ComfyUI Manager: search "AlchemicaSampler"
cd ComfyUI/custom_nodes && git clone https://github.com/Nessuno76/ComfyUI-AlchemicaSampler
ComfyUI 0.36+ for the pack as a whole, no pip dependencies of its own. Restart the ComfyUI server after cloning; a browser reload won't register nodes.
Common issues
Painting the mask and seeing nothing change. The maschera input has to come from a Load Image node's MASK output, and the painting happens in the MaskEditor (right-click the Load Image node → Open in MaskEditor). An unconnected or empty mask means "convert everything".
Colour splash comes out backwards. inverti_maschera is the toggle. One way gives you a monochrome subject on a colour background, the other the reverse.
The result looks like a desaturated colour photo. Contrast too low and grain at 0. 1.2–1.4 and 0.03 respectively is the difference between an export and a print.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| immagine | IMAGE | — | |
| filtro | COMBO | filtro arancio (ritratto) | 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 |
| viraggio | COMBO | bianco e nero | Pure grey, or a toned print (sepia, selenium, platinum) |
| contrasto | FLOAT | 1.150.5–2.5 | S-curve around the mid-grey: 1 = as it is, 1.2-1.4 = punchy b/w |
| luminosita | FLOAT | 0.00-0.5–0.5 | — |
| grana | FLOAT | 0.0000–0.15 | Film grain (0.02-0.04 = like a 400 ISO film). 0 = none |
| mascheraopt | MASK | Optional: b/w only in the painted zone (or everywhere ELSE with 'inverti': colour splash, the subject stays in colour) | |
| inverti_mascheraopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| immagine | IMAGE | — |