SEGS Color Correct HSV Hook
Tune saturation and tone on the detail pass
- hook
Sometimes the thing wrong with a detail pass isn't a cast you can fix per-channel - it's that the region came back oversaturated, or washed out, or shifted in hue. That's a job for HSV, and that's exactly what XJSegsColorCorrectHSVHookProvider gives you: a hook for Impact Pack detailers that shifts hue, saturation, and value on the decoded crop before it goes back into the image.
Mechanically it's the sibling of the pack's RGB correction hook, just operating in a different color space. The hook runs after VAE decode and before the crop is pasted back, converting the pixels to HSV, applying your offsets to hue, saturation, and value, and converting back. Hue gets the interesting behavior: a hue shift wraps around the color wheel (you're not clamping, you're rotating), so a hue offset of 20 is a real rotation of the tone. Saturation and value are offsets applied on top of whatever the detail pass produced. The feather input works the same way as the RGB version - when a segment mask is available, the correction is blended in within the masked region with feathered edges instead of an abrupt cut.
The interface:
hue- INT, -255 to 255, default 0. Rotation of the hue.saturation- INT, -255 to 255, default 0. Add to saturation.value- INT, -255 to 255, default 0. Add to brightness/value.feather- 0–100, default 0. Edge softness of the masked correction.- Output:
hook, into thedetailer_hookinput of FaceDetailer / Detailer (SEGS).
Where it fits: the same workflow niche as the RGB variant, but for tone problems rather than cast problems. A detailer that returns oversaturated skin - common with certain samplers at high denoise - gets a saturation -10 and suddenly every face matches the rest of the frame. A slightly greenish cast is often better fixed in HSV too, by nudging hue rather than fighting channels in RGB. If your problem is specifically "everything is a fixed amount off," this is the cleaner knob than the RGB one.
Install is the pack-wide routine:
cd ComfyUI/custom_nodes
git clone https://github.com/alexjx/ComfyUI-XJNodes
Restart ComfyUI, find it under XJNodes/segs/hooks, or use ComfyUI Manager and search "ComfyUI-XJNodes". No models, empty requirements.txt, no extra pip packages - Impact Pack just needs to be present for the hook input.
The usual personal-pack caveats, plus a calibration tip: hue offsets are in the full -255..255 range mapped across the wheel, so a value like 20 is already a visible rotation. Start small and preview - this family of nodes is "set it once and forget it" only after you've measured it once.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| hue | INT | 0-255–255 | — |
| saturation | INT | 0-255–255 | — |
| value | INT | 0-255–255 | — |
| feather | INT | 00–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| hook | DETAILER_HOOK | — |