Color Correct of Utils
One node for temperature, per-channel push, and grain
- image
- IMAGE
This is a finishing-touch color-grading node - the kind of thing you drop right before SaveImage to nudge an output without going back and re-rolling the seed. It's an extension of EllangoK's ComfyUI-post-processing-nodes color_correct node, and it's in good company: post-processing utility packs like WAS Node Suite cover the same general territory (blending, color correction, grain, and the rest) as the standard toolkit ComfyUI itself doesn't ship. What zhangp365 added on top of the original: independent red, green, and blue channel push, alongside everything already there.
The sliders, and what each one actually changes
Ten fields, all defaulting to a true no-op (0 for most, gamma at 1) so dropping the node into your graph changes nothing until you actually move something:
temperature- single warm/cool slider, -100 to 100.red,green,blue- the addition. Independent per-channel pushes, -100 to 100 each. This is the difference between "warmer or cooler overall" (temperature) and "more magenta" or "less green" specifically - closer to what a curves tool gives you than a single white-balance slider does.hue- rotates the color wheel, -90 to 90.brightness,contrast,saturation- the standard three, -100 to 100 each.gamma- 0.2 to 2.2, default 1 (linear/no change).grain- 0 to 1, adds film-grain noise on top of everything else.
Input is a single image, output a single IMAGE - no mask, no batch-specific behavior called out, so it applies uniformly across whatever you feed it.
How to actually use it
Because every default is neutral, the safe move is to leave this node parked at the end of your pipeline permanently and just leave every slider at 0/1 until you have a specific complaint about an output - too cool, too flat, too clean. Then reach for the one slider that matches: temperature for an overall warm/cool push, the individual R/G/B fields if one specific channel is off (a common one: pushing blue down slightly to cut a bluish cast some checkpoints produce), contrast/saturation for punch, and grain if you're trying to knock down that slightly-too-clean diffusion-model look.
Installing it
ComfyUI Manager: search "ComfyUI-utils-nodes." Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/zhangp365/ComfyUI-utils-nodes
Restart ComfyUI. Pure image-processing math - no models, no extra Python dependencies.
Where to be careful
The step size on most sliders is 5, coarser than you might expect from a color tool - small, tasteful pushes (5-15 on temperature or a single channel) go a long way before you're into obviously-graded territory, so resist the urge to drag things to the extremes just because the range goes to 100. And because this node applies uniformly across the whole image with no masking, it's a global grade, not a local one - if you only want to correct color in one region, you'll need to composite that region back in separately rather than expecting this node to target it for you.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| temperature | FLOAT | 0-100–100 | — |
| red | FLOAT | 0-100–100 | — |
| green | FLOAT | 0-100–100 | — |
| blue | FLOAT | 0-100–100 | — |
| hue | FLOAT | 0-90–90 | — |
| brightness | FLOAT | 0-100–100 | — |
| contrast | FLOAT | 0-100–100 | — |
| saturation | FLOAT | 0-100–100 | — |
| gamma | FLOAT | 1.00.2–2.2 | — |
| grain | FLOAT | 0.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |