Olm Lift Gamma Gain (LGG)
Color wheels in ComfyUI that don't make you re-run the graph
- image
- image
The single most annoying thing about color-grading inside ComfyUI is the feedback loop. You nudge a slider, re-run the whole graph, wait, look, nudge again. Olm LGG is the node that breaks that cycle: drag a color wheel and the preview updates in real time, no re-run needed, until you're happy and queue the final pass. It's one node, one purpose, and - refreshingly for this ecosystem - zero extra dependencies.
Olm Lift Gamma Gain (LGG) brings the classic three-way color grade to ComfyUI: Lift for shadows, Gamma for midtones, Gain for highlights. If you've ever graded video you know the muscle memory instantly. In the generative world it's your fix for the stuff AI images are infamous for - the oversaturated, high-contrast look that makes everything feel CGI. The modidex photorealism notes call pulling saturation down 5-10% and adding a subtle warm-or-cool cast the single highest-leverage post-process, and this node is built for exactly that: warm up a portrait's skin tones, kill a green tint, cool down a night scene, or match the mood of a batch so the shots don't fight each other.
How it actually works
Here's the clever bit. When you run the graph, the node caches a downscaled 512px copy of your image server-side, keyed to the workflow and node id. Every time you drag a wheel, the frontend POSTs your current lift/gamma/gain values to a tiny backend endpoint, which re-applies the grade to that cached thumbnail and sends back a base64 preview. You're grading a thumbnail in real time, then baking the result at full resolution when you finally run.
Under the hood the math is a straightforward single-pass RGB grade. Each range is a color vector built from wheel hue and saturation, scaled by strength, then applied three different ways: lift adds an offset (hits the shadows hardest), gamma applies a per-channel power curve (midtones), and gain multiplies (highlights). Each range also gets a luma offset as a pure brightness nudge.
The inputs that matter
Twelve controls, but you'll mostly touch a handful.
lift_strength,gamma_strength,gain_strength(0–2, default 1) - the sliders under each wheel. This is what you'll reach for constantly. Strength 1 is neutral; push past it to make a cast stronger.lift_luma,gamma_luma,gain_luma(−1 to 1) - brightness per tonal range. Handy when a shadow pull has crushed your blacks.lift_hue/lift_sat,gamma_hue/gamma_sat,gain_hue/gain_sat- hidden behind the color wheels in the UI. Drag the wheel to set hue and saturation together; you almost never touch these as raw numbers.version- a hidden string widget bumped on every run so ComfyUI doesn't skip the node as "unchanged." Don't touch it, but now you know it's there.
Output is a single image tensor. Wire it into a Preview Image node to check your work, or straight on to Save Image, an upscaler, or whatever's next in the pipeline.
Installation
Grab it from ComfyUI Manager (search "Olm LGG") or clone it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/o-l-l-i/ComfyUI-Olm-LGG.git
Then restart ComfyUI. No model downloads, no pip installs - the pack ships a single backend file plus some frontend widgets, and it leans on torch/PIL/aiohttp that ComfyUI already bundles. Worth knowing before you use it for anything you'd ship: the license is source-available, not MIT. Personal use and experimentation are fine; redistributing or rebranding the code isn't.
Gotchas
- The preview is dead until you run the graph once. There's no thumbnail to grade until the node has executed, so drop the image in, run, then start dragging.
- Swap the source image? Run once first. The cache holds the last executed image; a live preview of the old image while you've wired in a new one will briefly confuse you.
- It's RGB, single-pass. No LAB, no layer stacking, no presets. If you need DaVinci-grade control, this isn't that - it's a lean interactive tool, and the author says so outright.
- ComfyUI's Run (On Change) mode makes the live feel complete, since the real full-res grade still happens on graph execution.
Olm LGG is a young, single-developer node with basically zero footprint yet - but if you do any color work in ComfyUI, the real-time wheel is the reason to install it. It won't replace your whole grading stack. It'll just stop you from re-running the graph a hundred times to fix a green cast.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| version | STRING | init | — |
| image | IMAGE | — | |
| lift_hue | FLOAT | 0.0000–1 | — |
| lift_sat | FLOAT | 0.0000–1 | — |
| lift_strength | FLOAT | 1.000–2 | — |
| lift_luma | FLOAT | 0.00-1–1 | — |
| gamma_hue | FLOAT | 0.0000–1 | — |
| gamma_sat | FLOAT | 0.0000–1 | — |
| gamma_strength | FLOAT | 1.000.1–2 | — |
| gamma_luma | FLOAT | 0.00-1–1 | — |
| gain_hue | FLOAT | 0.0000–1 | — |
| gain_sat | FLOAT | 0.0000–1 | — |
| gain_strength | FLOAT | 1.000–2 | — |
| gain_luma | FLOAT | 0.00-1–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |