Nodes/lf-nodes/Saturation
ComfyUI Node

Saturation

The one-number color fix

By lucafoscili·Created 2 years ago·Updated 7 days ago· 35
Saturation
  • image
  • ui_widget
  • image
  • image_list
intensity1.2

Sometimes you just need the colors to pop a little, and you don't want to reroll a generation or drag in a whole color-grading rig to do it. LF_Saturation is a single knob that turns an image up or down on the HSV saturation axis - the bluntest, most predictable color filter in the LF Nodes pack.

One input matters: intensity. 1.0 is a no-op (identical output), anything below desaturates toward grey, anything above cranks the color. The default is 1.2, a modest boost that most output benefits from. The full range is 0 to 5, and past about 2.0 you're not "vibrant," you're neon - dial it back before you hit the glowing-clown look. The image input takes a single tensor or a list, so it slots into batch pipelines without fuss.

Outputs

image and image_list - the adjusted result as a single tensor and as a list, for whatever your graph expects next. There's also the ui_widget compare preview so you can eyeball before vs. after on the canvas.

Where it fits

This is the deterministic-pixel layer of your workflow, not a model call - it runs in milliseconds and costs zero VRAM. The post-processing playbook is explicit that a saturation bump is a blunt HSV knob, and that if your image looks "flat" you'd often be better served by a gamma or contrast curve instead. But for the 90% case - "these colors look washed out" - this is the fastest fix in the pack. A 1.15–1.3 saturation boost is also the classic cheap unifier when compositing a subject cutout onto a new background: pull the layers' saturation toward each other and they suddenly look like they were shot together.

Installing it

lf-nodes installs as one pack covering all its nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/lucafoscili/lf-nodes

restart ComfyUI, or search "LF Nodes" in ComfyUI Manager. No models, no downloads - it's pure pixel math, which is exactly the point. If you find yourself reaching for saturation at the end of every single workflow, that's a good sign you want it wired permanently into your save-node chain.

Category✨ LF Nodes/Filters

Inputs (3)

NameTypeDefaultDescription
imageIMAGEInput image tensor or a list of image tensors.
intensityFLOAT1.20–51.0 = no change, <1 = desat, >1 = saturation boost.
ui_widgetoptLF_COMPARE[object Object]

Outputs (2)

NameTypeDescription
imageIMAGEImage tensor with saturation effect applied.
image_listIMAGEList of image tensors with saturation effect applied.