ComfyUI Node

Hue Shift

Rotate every color in the image by N degrees

By APZmedia·Created 11 months ago·Updated 5 months ago· 7
Hue Shift
  • image
  • image
hue_shift0

Hue Shift does exactly one thing: it rotates the hue of every pixel by a number of degrees. Reds become oranges, greens become teals, the whole image takes a spin around the color wheel - and because it operates on hue alone, brightness and saturation stay put. It's the creative-recolor node of the pack: one slider, one image out, instant psychedelia or subtle mood-shift depending on how far you push it.

How it works

The code converts the image RGB → HSV with OpenCV, adds your hue_shift value to the hue channel, and converts back. In HSV, hue is an angular value, so adding degrees is a rotation: 360° is a full loop (no visible change), 180° is the complement flip (red ↔ cyan, blue ↔ yellow), and anything in between is a partial rotation. The range is −180 to 180, default 0.

The input that matters

  • hue_shift - degrees, −180 to 180, default 0. The character of the change scales in obvious ways:
    • ±10–20 - a subtle warm/cool shift, useful for matching a reference's color temperature without touching brightness.
    • ±30–60 - clearly visible regrade; the "make this image feel different" range.
    • ±90 - a quarter turn, fully creative; skin tones land in greens, skies land in pinks.
    • ±180 - full complementary inversion, the meme-worthy "invert the hue wheel" look.

Two honest caveats. First, this is a global rotation - every pixel shifts by the same amount. There's no hue range masking, so you can't shift only the greens. If you need selective hue adjustment, you want the pack's ColorSpaceConverter (RGB → HSV, tweak the H channel locally, convert back) or a proper color-warping node. Second, because it works in HSV where hue is only meaningful at nonzero saturation, desaturated/gray pixels don't pick up a color from the shift - which is correct behavior, but worth knowing when you rotate a mostly-gray image and nothing seems to happen.

Install

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/APZmedia/ComfyUI-color-tools

Or ComfyUI Manager → search "ComfyUI Color Profile Reader" → Install → restart. The README's clone URL is a placeholder (yourusername/ComfyUI-color-tools.git - use APZmedia/). Hue Shift is tensor-only (no file-mode toggle) and depends on numpy + OpenCV for the HSV conversion. OpenCV is an optional dep install.py installs at startup, so if it's missing the grading group - including this node - won't register. Check the startup log if it's absent.

In practice this is the pack's "fast creative recolor" node: throw it after VAE Decode with a +40 and you've got a whole different palette in one click. Just remember it's a party trick with a slider range, not color science - for real color management the profile and OCIO nodes are the serious tools.

CategoryColor Tools/Grading

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
hue_shiftFLOAT0-180–180

Outputs (1)

NameTypeDescription
imageIMAGE