Nodes/DJZ-Nodes/Technicolor 3-Strip v1
ComfyUI Node

Technicolor 3-Strip v1

Three-strip Technicolor, emulated

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 80
Technicolor 3-Strip v1
  • images
  • IMAGE
red_strength1.5
green_strength1.3
blue_strength1.2
cross_process_amount0.10
saturation_boost1.2
contrast_boost1.1
shadow_preservation0.8
highlight_protection0.9

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:

  1. 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.
  2. 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.
  3. Contrast - a gamma-style LUT, driven by contrast_boost.
  4. Saturation - an HSV-space multiply via saturation_boost.
  5. 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.

Categoryimage/effects

Inputs (9)

NameTypeDefaultDescription
imagesIMAGE
red_strengthFLOAT1.50.1–3
green_strengthFLOAT1.30.1–3
blue_strengthFLOAT1.20.1–3
cross_process_amountFLOAT0.100–0.5
saturation_boostFLOAT1.20.5–2
contrast_boostFLOAT1.10.5–2
shadow_preservationFLOAT0.80–1
highlight_protectionFLOAT0.90–1

Outputs (1)

NameTypeDescription
IMAGEIMAGE