Nodes/ComfyUI S4Tool Image/💀Image Adjustment
ComfyUI Node

💀Image Adjustment

Brightness, contrast, saturation and a color wash — 💀Image Adjustment, no more mini-nodes

By S4MUEL-404·Created about a year ago·Updated 10 months ago· 4
💀Image Adjustment
  • image
  • adjusted_image
brightness0
contrast0
saturation0
color_hex#FFFFFF
overlay_percent0

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. Set overlay_percent above 0 and the node tints the whole image toward color_hex by 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.

Category💀S4Tool

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
brightnessINT0-100–100
contrastINT0-100–100
saturationINT0-100–100
color_hexSTRING#FFFFFF
overlay_percentINT00–100

Outputs (1)

NameTypeDescription
adjusted_imageIMAGE