Nodes/Orion4D_MetaNode/🎨 Hue/Sat/Light FX
ComfyUI Node

🎨 Hue/Sat/Light FX

Shift Hue, Saturation, and Light β€” Globally or Per Color Family

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
🎨 Hue/Sat/Light FX
  • image_in
  • fx
  • image
β—„enabledtrueβ–Ί
β—„labelHue/Sat/Lightβ–Ί
β—„targetMasterβ–Ί
β—„hue0β–Ί
β—„saturation0β–Ί
β—„lightness0β–Ί
β—„colorizefalseβ–Ί
β—„colorize_hue0β–Ί
β—„colorize_saturation25β–Ί

The fastest way to ruin a sunset is a global hue slider. 🎨 Hue/Sat/Light FX doesn't make you do that: it adjusts hue, saturation, and lightness either globally or targeted at a single color family - Reds, Yellows, Greens, Cyans, Blues, or Magentas - with a smooth gaussian transition so the edge between "adjusted" and "untouched" doesn't look painted on.

How it works. Pick target - Master for everything, or one of the six hue families. Then hue (βˆ’180 to 180) rotates the hue of that range, saturation (βˆ’100 to 100) and lightness (βˆ’100 to 100) shift the other two components. Because the selection is a gaussian window around the target family, bumping "Reds" touches orange and magenta gently too, rather than hard-clipping at an arbitrary boundary. It's the "targeted by hue family" approach that plain hue_rotate in the CSS Filters node can't do.

The colorize mode is the sleeper. Flip colorize on and the node abandons the original hue entirely - it paints the image with a single hue (colorize_hue, 0–360) at a fixed saturation (colorize_saturation, default 25) while keeping the original luminance structure. That's a duotone/tint machine in one toggle: pick a hue, and your image becomes a monochrome-but-tinted version of itself. For look-dev, it's the fastest way to try a "teal and nothing else" treatment before you commit to a real grade.

Dual mode, as usual for this family. It's an emitter: feed image_in and get image out (standalone), or take the fx output as a COLOR_FX descriptor into the Color Pro Receiver to make it one stage in a chain. enabled and label are the standard per-effect controls. Order matters in a chain - an HSL shift after a Channel Mixer sees different colors than before one.

Where people get burned: the ranges are asymmetric on purpose - hue spans 360Β° of rotation (βˆ’180 to 180), while saturation and lightness are Β±100. And with target set to a specific family, the sliders affect only that family; the most common "why isn't this working" is checking a greens adjustment while target is still on Master or vice versa. Also, colorize ignores your hue/saturation/lightness sliders and uses colorize_hue/colorize_saturation instead - those are separate controls, easy to mix up.

Install. ComfyUI Manager β†’ search "Orion4D_MetaNode", or clone https://github.com/orion4d/Orion4D_MetaNode into custom_nodes/ and restart. Category: Orion4D_MetaNode/ColorGrading. No extra dependencies.

When your "fix the green cast" turns into "the whole image looks green," this is the node that lets you touch only the greens.

CategoryOrion4D_MetaNode/ColorGrading

Inputs (10)

NameTypeDefaultDescription
enabledBOOLEANtrueβ€”
labelSTRINGHue/Sat/Lightβ€”
targetCOMBOMaster7 options: Master, Reds, Yellows, Greens, Cyans, Blues, +1
hueFLOAT0-180–180β€”
saturationFLOAT0-100–100β€”
lightnessFLOAT0-100–100β€”
colorizeBOOLEANfalseβ€”
colorize_hueFLOAT00–360β€”
colorize_saturationFLOAT250–100β€”
image_inoptIMAGEβ€”

Outputs (2)

NameTypeDescription
fxCOLOR_FXβ€”
imageIMAGEβ€”