Technicolor 3-Strip v1
Three-strip Technicolor, emulated
- images
- IMAGE
The Wizard of Oz's ruby slippers aren't just red - they're Technicolor red, the product of a three-strip film process from the 1930s–50s that Hollywood spent a fortune perfecting. Technicolor 3-Strip v1 is DJZ's attempt to bottle that look for ComfyUI: crank each RGB channel independently, bleed a little color between them, push saturation and contrast, and protect the shadows and highlights so nothing clips into mush.
How it works
The node walks each frame through a real signal chain, and it's worth knowing the order because that's what determines the look:
- Channel gains - red, green, and blue are each boosted independently via
addWeighted. This is the heart of the effect: Technicolor's punchiness came from the three records being independently exposed, so the node lets you push each channel to a different degree. - Cross-processing - a small amount of each channel is blended into its neighbor.
cross_process_amount(0–0.5, default 0.1) simulates the color contamination the original process had. A little goes a long way; the author's own docs say so. - Contrast - a gamma-style LUT, driven by
contrast_boost. - Saturation - an HSV-space multiply via
saturation_boost. - Shadow/highlight protection - LAB-space luminance masking so the dark and bright ends don't blow out.
Because every step is per-frame, it works identically on a single image or a full video batch. That's the quiet superpower of this node - drop it into a frame loop and you get consistent period-color across the whole clip.
The inputs that matter
- red_strength / green_strength / blue_strength (0.1–3, defaults 1.5/1.3/1.2) - the three-strip core. Raise red for that Technicolor pop, keep green a hair lower to balance skin tones.
- cross_process_amount (0–0.5) - the channel bleed. Start at 0.05–0.1.
- saturation_boost / contrast_boost - the two finishing knobs, both defaulted just above neutral.
- shadow_preservation / highlight_protection (0–1, defaults 0.8/0.9) - your insurance against crushed blacks and blown whites.
Output: a single IMAGE, same shape as the input, batch-safe.
Where it sits in a workflow
This is a grade, not a restoration - it makes your generated image look like a 1940s three-strip release, but it won't make a muddy image cinematic on its own. Pair it with a real upscale or a film-grain pass if that's the aesthetic you're after, or feed it a clean photoreal output and enjoy the instant period palette. It's one of the pack's "industry-standard cinematic effects" and one of the better-behaved ones, since its defaults are actually usable.
Install
Part of DJZ-Nodes by Drift Johnson. ComfyUI Manager → "DJZ-Nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
Restart ComfyUI. Needs numpy/torch/cv2, which ComfyUI already carries - the pack's heavier requirements are for its other nodes.
Gotchas
The channel gains are multiplicative, so pushing all three above ~2.0 simultaneously is a fast road to a blown-out image - lean on shadow/highlight protection if you do. And note there's no grain or halation here; that's what v2 adds. If you want the full period-film treatment in one pass, skip ahead to Technicolor 3-Strip v2.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| red_strength | FLOAT | 1.50.1–3 | — |
| green_strength | FLOAT | 1.30.1–3 | — |
| blue_strength | FLOAT | 1.20.1–3 | — |
| cross_process_amount | FLOAT | 0.100–0.5 | — |
| saturation_boost | FLOAT | 1.20.5–2 | — |
| contrast_boost | FLOAT | 1.10.5–2 | — |
| shadow_preservation | FLOAT | 0.80–1 | — |
| highlight_protection | FLOAT | 0.90–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |