3-Way Color Balance
3-Way Color Balance — instant cinematic color casts with 16 presets to start from
- image
- image
3-Way Color Balance is the fastest route in Darkroom to a creative color grade - the split-toning move where shadows go one color, highlights go another, and the whole frame picks up a mood. It's preset-first, with 16 looks in the dropdown from Orange & Teal and Moonlight Blue to Film Noir - cold and Pastel Dream. If you've ever wanted the "cinematic" answer to a flat render, this is the one to reach for before you start hand-tuning anything.
The mental model is DaVinci Resolve's classic three-way: soft masks split the image into shadow, midtone, and highlight zones, and you tint each zone with a hue and an intensity. The preset is a starting point; every preset is just a pre-set combination of the same per-zone knobs, so you can land a look in one click and then make it yours. That's the workflow the whole pack is built around - instant result, fine-tune after.
How it works
The image goes to linear light, a Rec.709 luminance map is computed, and soft zone masks are derived - shadows strongest in the low end and fading toward midtones, highlights the reverse, midtones a bell over the middle. Each zone then gets a tint along the hue wheel at the intensity you set, blended back so the cast follows the zone's natural shape rather than hard bands. preserve_luminance keeps the tinting from shifting overall brightness - leave it on unless you specifically want the tint to also darken or lift.
The inputs that matter
- preset (16 choices, default Custom) - Orange & Teal (cinematic/subtle), Vintage Warm/Cool, Moonlight Blue, Golden Hour, Pastel Dream, Film Noir - cold, Autumn Warmth, Summer Vibrance, Desaturated Teal, and more. Orange & Teal is famous for a reason; Vintage Warm is the one I default to for daylight shots.
- shadow_hue / midtone_hue / highlight_hue (0–360) - the tint direction per zone. The tooltip gives you the wheel: 0=red, 60=yellow, 120=green, 180=cyan, 240=blue, 300=magenta. A classic split is shadows at 210–240 (blue) and highlights at 30–50 (warm).
- shadow_intensity / midtone_intensity / highlight_intensity (0–100) - how strong each zone's tint is.
- master_saturation (±50) - a global saturation nudge on top of the tinting, for pulling things back or pushing further.
- preserve_luminance (bool, default true) - keep brightness out of the tinting equation.
- strength (0–1) - blend between original and tinted; the "how far do I commit" control.
Output is image. It's color-only, so it bakes into a LUT cleanly.
Install & notes
Pack install as always: Manager → search "Darkroom", or git clone https://github.com/jeremieLouvaert/ComfyUI-Darkroom + pip install -r requirements.txt + restart. No GPU, no downloads.
The trap: presets at full strength are strong, and Orange & Teal at 1.0 on a skin-heavy image can turn everyone vaguely green. Run it at 0.4–0.7 and ride master_saturation down a touch - the preset gives you the direction, not the final answer. And if a tint "isn't showing up," check you're not fighting preserve_luminance expectations - the tint is confined to its zone by design, so low-intensity on a low-key image is genuinely subtle.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preset | COMBO | Custom (manual) | Select a creative color balance look or use Custom |
| shadow_hueopt | FLOAT | 2100–360 | Shadow tint direction (0=red, 60=yellow, 120=green, 180=cyan, 240=blue, 300=magenta) |
| shadow_intensityopt | FLOAT | 00–100 | Shadow tint intensity |
| midtone_hueopt | FLOAT | 00–360 | Midtone tint direction |
| midtone_intensityopt | FLOAT | 00–100 | Midtone tint intensity |
| highlight_hueopt | FLOAT | 400–360 | Highlight tint direction |
| highlight_intensityopt | FLOAT | 00–100 | Highlight tint intensity |
| preserve_luminanceopt | BOOLEAN | true | Prevent color tinting from changing overall brightness |
| master_saturationopt | FLOAT | 0-50–50 | Global saturation adjustment on top of tinting |
| strengthopt | FLOAT | 1.000–1 | Blend between original (0) and tinted (1) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |