Nodes/Jovimetrix/HSV (JOV) 🌈
ComfyUI Node

HSV (JOV) 🌈

Twist hue, saturation, contrast and gamma in one pass

By AmoranoΒ·Created 3 years agoΒ·Updated 12 months agoΒ· 397
HSV (JOV) 🌈
  • πŸ‘Ύ
  • πŸ‡­πŸ‡Έβ€ŒπŸ‡»
  • πŸ–ΌοΈ
  • 😷
β—„πŸŒ“0.00β–Ί
β—„πŸ”†1.00β–Ί
β—„πŸ”³0.00β–Ί

HSV (JOV) 🌈 is the color-correction node of Jovimetrix's older days: adjust hue, saturation, and value, plus contrast and gamma, all on one input image, with both an image and a mask coming out the other side. If your renders come out a touch green, or too flat, or the saturation is screaming, this was the single knob-panel to fix it. It's the sort of node you drop between VAE Decode and your preview when the color's "almost right."

The honest asterisk: this is the pre-2.0 node. In Jovimetrix 2.x, the color work got split across the reworked ADJUST family - ADJUST: COLOR (JOV) now handles the hue/saturation/value side with a proper function selector, and ADJUST: LIGHT (JOV) took over exposure, gamma, brightness, contrast, and equalize. So the old HSV node's job is still fully doable in the current pack - it just lives in two places now instead of one. If a saved workflow references "HSV (JOV) 🌈," that's why it's suddenly missing after an update.

How it works

It converts your pixels into HSV (hue, saturation, value) space, nudges each channel, converts back. That's why it feels more musical than RGB sliders - you're twisting what color rather than how much red/green/blue. The main inputs:

  • πŸ‘Ύ - the image (or mask; Jovimetrix inputs accept either).
  • πŸ‡­πŸ‡ΈπŸ‡» - a three-value vector: hue shift, saturation, value. Saturation 0 = full grayscale, 1 = normal, above 1 = oversaturated punch.
  • πŸŒ“ / πŸ”† / πŸ”³ - the contrast, brightness/exposure, and gamma controls that round out the "make it look good" part.

Outputs are πŸ–ΌοΈ IMAGE and 😷 MASK, so you can use the adjusted result directly or grab its luminance/shape as a mask for further compositing.

Where people get burned: hue shifts wrap around, so a hue of +0.5 isn't "half a shift" in a linear sense - think of it as degrees on a wheel. And saturation at exactly 0 is your "make it grayscale" trick, which a lot of people discover by accident and then can't un-see.

Installing it

Part of the Jovimetrix pack:

# ComfyUI Manager: search "Jovimetrix" and install
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovimetrix.git
cd Jovimetrix
pip install -r requirements.txt

Restart ComfyUI. No models needed - color math only, running on OpenCV from the pack's dependencies.

Troubleshooting

  • Node missing after an update - expected. You're on the old name; rebuild the effect with ADJUST: COLOR (JOV) for HSV and ADJUST: LIGHT (JOV) for contrast/gamma. The README's 1.7.48 warning exists precisely because of this kind of rename.
  • Colors look radioactive - saturation is above 1. Back it off.
  • Everything went gray and you didn't ask for it - saturation hit 0 somewhere, or a default got nudged.

It's a legacy node that did one job well, and the modern pack does that job in two. Either way, the mental model - twist HSV, don't fight RGB - is still the right way to color-correct.

CategoryJOVIMETRIX πŸ”ΊπŸŸ©πŸ”΅/ADJUST

Inputs (5)

NameTypeDefaultDescription
πŸ‘Ύopt*β€”
πŸ‡­πŸ‡Έβ€ŒπŸ‡»optVEC30,1,10–1β€”
πŸŒ“optFLOAT0.000–1β€”
πŸ”†optFLOAT1.000.00001–1β€”
πŸ”³optFLOAT0.000–1β€”

Outputs (2)

NameTypeDescription
πŸ–ΌοΈIMAGEβ€”
😷MASKβ€”