HSL Color
The Lightroom color-mixer panel, in your graph
- image
- image
If you've used Lightroom's or Camera Raw's color-mixer panel - the grid of eight color bands, each with its own Hue/Saturation/Luminance sliders - HSLColorNode is that panel, node-ified. Instead of one global hue shift or one global saturation slider affecting everything at once, you get independent control over eight named color bands, so you can, say, cool down the blues in a sky without touching skin-tone oranges, or knock back an overpowering green without flattening the reds. Someone in the wild reached for this exact node to fix a stubborn yellow color cast in AI-generated "paintings" - dialed in the yellow band specifically instead of fighting it with prompt tweaks, which is the kind of surgical job this node is built for.
How it works
Eight color bands - red, orange, yellow, green, light green, blue, purple, magenta - and each one gets its own three controls: hue, saturation, and brightness. Adjusting the red band's hue shifts only pixels that fall in the red range toward a different hue; it doesn't touch the blues or greens at all. That's the entire value proposition over a global HSL adjustment: precision. It's the same underlying idea as Lightroom's color mixer, translated into 24 individual sliders on one node.
The inputs and outputs that matter
One image in, and then 24 nearly-identical integer sliders - three per color band, eight bands. Every single one runs -30 to 30, default 0, step 1:
red_hue/red_saturation/red_brightnessorange_hue/orange_saturation/orange_brightnessyellow_hue/yellow_saturation/yellow_brightnessgreen_hue/green_saturation/green_brightnesslightGreen_hue/lightGreen_saturation/lightGreen_brightnessblue_hue/blue_saturation/blue_brightnesspurple_hue/purple_saturation/purple_brightnessmagenta_hue/magenta_saturation/magenta_brightness
In practice, you'll almost never touch more than two or three of these bands on a given image - identify which color is doing the thing you don't like (usually obvious by eye: "the yellows are too warm," "the blues are too saturated"), and adjust only that band's three sliders. Leaving the rest at 0 keeps everything else untouched.
Output is a single image.
How to install it
Via ComfyUI Manager: search "ComfyUI-MingNodes," install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/mingsky-ai/ComfyUI-MingNodes
then restart. No models to download, no API keys - just the base pack install.
Common issues & troubleshooting
Twenty-four sliders is overwhelming and I don't know where to start. Don't touch all of them. Look at the image, name the one color that's wrong ("too much yellow," "the greens are muddy"), find that band's three sliders, and adjust just those. This node rewards a scalpel, not a shotgun approach.
Adjusting one band seems to bleed into a neighboring color. Color bands aren't perfectly hard-edged in any HSL-style tool - a pixel that's borderline between orange and yellow will respond somewhat to both bands' sliders. If you're seeing spillover, small adjustments split across the two adjacent bands often look more natural than one big push on a single band.
The range feels tight compared to other color tools. ±30 here is deliberately narrower than, say, this pack's Color Balance node (±100) - HSL band adjustments are inherently more sensitive since you're targeting a slice of the color wheel rather than a broad tonal shift, so the range is scaled down to match. Small moves (2–8) go a long way; you'll rarely need to approach the edges.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| red_hue | INT | 0-30–30 | — |
| red_saturation | INT | 0-30–30 | — |
| red_brightness | INT | 0-30–30 | — |
| orange_hue | INT | 0-30–30 | — |
| orange_saturation | INT | 0-30–30 | — |
| orange_brightness | INT | 0-30–30 | — |
| yellow_hue | INT | 0-30–30 | — |
| yellow_saturation | INT | 0-30–30 | — |
| yellow_brightness | INT | 0-30–30 | — |
| green_hue | INT | 0-30–30 | — |
| green_saturation | INT | 0-30–30 | — |
| green_brightness | INT | 0-30–30 | — |
| lightGreen_hue | INT | 0-30–30 | — |
| lightGreen_saturation | INT | 0-30–30 | — |
| lightGreen_brightness | INT | 0-30–30 | — |
| blue_hue | INT | 0-30–30 | — |
| blue_saturation | INT | 0-30–30 | — |
| blue_brightness | INT | 0-30–30 | — |
| purple_hue | INT | 0-30–30 | — |
| purple_saturation | INT | 0-30–30 | — |
| purple_brightness | INT | 0-30–30 | — |
| magenta_hue | INT | 0-30–30 | — |
| magenta_saturation | INT | 0-30–30 | — |
| magenta_brightness | INT | 0-30–30 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |