Hue vs Hue
Reshoot the sky or fix green skin without touching anything else
- image
- image
The sky is the wrong blue, or the skin has a green cast, and you want to fix just that - not desaturate the whole frame, not shift everything. That's the whole job of Hue vs Hue: remap specific hue ranges to different hues while leaving the rest of the image alone. It's the "curves on the hue wheel" move you know from Lightroom's HSL panel and DaVinci's hue curves, done as a ComfyUI node with eight color bands.
It's one of the grading nodes in ComfyUI-Darkroom, the film/color suite from photographer-turned-CG-artist Jeremie Louvaert. Where a node like Film Stock rewrites the whole tonal character, Hue vs Hue is surgical. You use it after the big strokes, to correct and push specific colors.
How it works
The wheel is split into eight bands - red, orange, yellow, green, aqua, blue, purple, magenta - and each band has a shift in degrees. A positive shift rotates that band's hues clockwise on the wheel; negative goes the other way. Because bands feather into their neighbors, a shift on "blue" bleeds smoothly toward purple and aqua instead of ending in a hard seam. Presets handle the common jobs so you don't have to think about band centers at all.
The inputs that matter
- preset - the fastest path. Pick "Fix green skin → warm", "Sky blue → deeper blue", "Greens → warmer (autumn)", "Reds → orange (warmer)" and you're done. "Custom (manual)" unlocks the eight shift sliders.
- red_shift … magenta_shift - the eight band sliders, each −60 to +60 degrees. Two or three of these usually do the work; the rest sit at 0.
- feather - how smoothly shifts blend into neighboring hues (0.1–1, default 0.5). Lower = harder cut, higher = softer, more natural transition.
- strength - the global blend between original and adjusted. Dial this down if a shift is too aggressive.
Output is a single image - same shape in, same shape out, wire it to the next node or a Preview.
Install and gotchas
cd ComfyUI/custom_nodes
git clone https://github.com/jeremieLouvaert/ComfyUI-Darkroom
pip install -r ComfyUI-Darkroom/requirements.txt
Or search "Darkroom" in ComfyUI Manager and restart. It's under AKURATE/Darkroom/Grading.
The trap people hit first: hue shifts work in degrees on a 360° wheel, and skin tones live in the narrow orange region. Nudge orange_shift by 3–5°, not 20 - a big skin shift turns people into Simpsons. And remember this is a per-pixel color transform, so it's fair game inside Darkroom's LUT bake chain (Inject → this → Extract) if you want the correction exported as a .cube. For a teal-and-orange blockbuster grade, this node plus a Hue vs Sat for saturation control is genuinely the two-node combo worth saving as a template.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preset | COMBO | Custom (manual) | Select a hue remapping preset or use Custom for manual control |
| red_shiftopt | FLOAT | 0-60–60 | Shift red hues (degrees) |
| orange_shiftopt | FLOAT | 0-60–60 | Shift orange hues (degrees) |
| yellow_shiftopt | FLOAT | 0-60–60 | Shift yellow hues (degrees) |
| green_shiftopt | FLOAT | 0-60–60 | Shift green hues (degrees) |
| aqua_shiftopt | FLOAT | 0-60–60 | Shift aqua/cyan hues (degrees) |
| blue_shiftopt | FLOAT | 0-60–60 | Shift blue hues (degrees) |
| purple_shiftopt | FLOAT | 0-60–60 | Shift purple hues (degrees) |
| magenta_shiftopt | FLOAT | 0-60–60 | Shift magenta hues (degrees) |
| featheropt | FLOAT | 0.500.1–1 | How smoothly shifts blend into neighboring hues |
| strengthopt | FLOAT | 1.000–1 | Blend between original (0) and adjusted (1) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |