💀Image Adjustment
Brightness, contrast, saturation and a color wash — 💀Image Adjustment, no more mini-nodes
- image
- adjusted_image
Color grading in ComfyUI usually means hunting down three separate nodes for brightness, contrast, and saturation, then discovering two of them don't handle transparency. 💀Image Adjustment from the S4Tool-Image pack puts all of it in one box and explicitly preserves the alpha channel - which matters more than it sounds, because most adjustment nodes silently flatten RGBA to RGB and your cutout suddenly has a black box around it.
The mechanism is straightforward: the node converts your tensor to a PIL image, runs the brightness/contrast/saturation adjustments, optionally washes it with a solid color at a set opacity, and converts back. The "keeps the alpha channel" part is the design decision that makes it worth having instead of whatever random adjust node you currently tolerate.
Inputs that matter
image- the IMAGE to adjust.brightness,contrast,saturation- three sliders, each −100 to +100, default 0 (no change). The values are percentage-ish offsets: −100 is fully black for brightness, +100 doubles up contrast, saturation runs from grayscale (−100) to fully vivid.color_hex+overlay_percent- the color-wash feature. Setoverlay_percentabove 0 and the node tints the whole image towardcolor_hexby that amount. It's a quick sepia, a cool blue grade, or a full color cast without adding a separate overlay node.
One output: adjusted_image. Wire it right back into the pipeline - its size and format match the input, so it slots in anywhere the original went.
The integer sliders instead of floats are a small ergonomic complaint (you can't nudge by 0.5), but honestly for these three adjustments 1-point steps are fine, and the defaults at 0 mean the node is a no-op pass-through until you touch something.
Install
Same pack, same drill:
cd ComfyUI/custom_nodes/
git clone https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image.git
pip install -r ComfyUI-S4Tool-Image/requirements.txt
Or ComfyUI Manager → search "S4Tool-Image" → Install → restart.
No models, no downloads - it's pure image math.
Gotchas
- Alpha disappeared - shouldn't happen here; that's the node's whole selling point. If you see black boxes, double-check the node feeding the input actually produced RGBA in the first place.
- Blown-out highlights - contrast moves fast at +100. Work in the ±30 range and let the sampler's other tools do the heavy lifting.
- Sibling node alert - the pack also has 💀Image Adjustment Color, which runs the same math on a hex color string instead of an image. Don't grab it when you meant to adjust a picture; it outputs text.
If you only need one adjustment and want zero setup, this is fine. If you're doing heavy, real-time grading across many frames, you'll probably still reach for a dedicated grading pack - this node is the "good enough, always available" option.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| brightness | INT | 0-100–100 | — |
| contrast | INT | 0-100–100 | — |
| saturation | INT | 0-100–100 | — |
| color_hex | STRING | #FFFFFF | — |
| overlay_percent | INT | 00–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| adjusted_image | IMAGE | — |