Hue
Shift colors in radians, not sliders
- images
- IMAGE
Want to turn a sunset orange, make a teal scene teal-er, or turn a portrait into a psychedelic color inversion? That's a hue shift, and this node does it to the whole image at once. It wraps Kornia's adjust_hue, and the one thing you need to internalize before touching it: the factor is in radians, not degrees, and not a 0–100 slider. Small numbers, small changes.
How it works
The image gets converted to HSV color space, the factor is added to the hue channel, and the result wraps around mod 2π before converting back. Hue is a circle, so a shift never clips or blows out - everything just rotates. factor = 0 is identity. A value like 0.1–0.3 nudges the whole palette in one direction - enough to warm a cool render. Around 1.5 you've moved halfway around the wheel, and ±3.14 (the widget's max) is a full reversal: reds become cyans, blues become oranges. It's a creative tool as much as a fix.
The inputs
- images - a ComfyUI IMAGE.
- factor (−3.141516 to 3.141516, default 0) - hue rotation in radians. 0 = no change; π ≈ 3.14 = complementary colors.
Output is an IMAGE, same dimensions, straight back into your pipeline. Keep in mind this is a global shift - there's no mask input, no way to retint only the sky. For selective color work you'd need to isolate a region upstream with a mask and composite afterward.
Installing it
It's one of seven nodes in the ImageProcessing pack by bvhari, all thin wrappers over the Kornia library:
cd ComfyUI/custom_nodes
git clone https://github.com/bvhari/ComfyUI_ImageProcessing
# restart ComfyUI - kornia installs automatically from requirements.txt
Or ComfyUI Manager → Custom Nodes Manager → search "ImageProcessing" → Install → restart. It lives under the ImageProcessing category. No models, no API keys, and - like every node in this pack - it computes on CPU, which is fine for single images and only gets sluggish if you feed it a whole batch.
When it bites
The number is the whole game. 0.05 and 3.0 look like different planets, and there's no "sweet spot" that works across images - a small shift that warms one render will wreck another. Move in small steps and look at the output, not the number. Also, hue shift is global and uniform: skin tones rotate exactly as much as the background, so big shifts can make faces look alien fast. If that's what you want, great. If not, keep the factor gentle. And if kornia errors on startup, pip install kornia into your ComfyUI environment sorts it out.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| factor | FLOAT | 0.000-3.141516–3.141516 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |