MLiang Color Correction (Legacy)
The 'Legacy' color correction node — same sliders, older name, still works
- image
- image
If you're staring at "MLiang Color Correction (Legacy)" in your node menu and wondering what the Legacy is all about, here's the short version: it's the same color grading node under an older registration name. The pack's author renamed his classes from "Codex" to "MLiang" and kept the old ones around so saved workflows wouldn't break. Nothing else changed.
How "Legacy" happens
Open the pack's source and it's literally two lines:
class CodexColorCorrection(MLiangColorCorrection):
DEPRECATED = True
That's the entire node. It subclasses the current MLiangColorCorrection - the exact same exposure, brightness, contrast, saturation, gamma, temperature, tint, hue_shift, shadows, highlights, and strength inputs, the same single IMAGE output, the same pure-PyTorch math. The DEPRECATED flag is a note to you, not a removal. It still registers, still runs, and the behavior is byte-for-byte identical to the main node. If you load an old workflow that references CodexColorCorrection, it just works.
Why you'd see it
Two reasons. Either you loaded a workflow JSON from before the rename - at which point ComfyUI's "Install Missing Custom Nodes" pulled this pack in and resolved the old class name - or you're browsing and the node list is showing both this and the current node. That's expected. The pack ships all four classes (color correction + white balance, each with a modern and a legacy name) so both old and new workflows resolve.
Should you use it?
If you're starting a workflow from scratch, add MLiangColorCorrection instead and ignore the legacy entry - there's zero functional difference, and the modern name is what the README and the example workflow use. If an existing project already references the legacy node, leave it alone. It runs the same math, so there's nothing to migrate and no reason to risk re-wiring the graph for cosmetics.
The actual grading behavior - f-stop exposure, contrast pivoting at 0.5, warm/cool channel multipliers, shadows and highlights built from squared luma masks, gamma as a power curve, and a strength blend back to the original - is identical to the modern node, so read that page if you want the mechanism, the gotchas (clipping at 0–1, additive brightness washing out) and the install:
cd ComfyUI/custom_nodes
git clone https://github.com/dingmuliang/comfyui_mliang_color_correction.git
Restart ComfyUI after cloning. Same pack, same zero dependencies - no models, no pip install, just one file of torch.
One thing worth flagging since these pages get no traffic: the pack is a tiny early-stage project (single commit, one star, tip jar in the README), and there's basically no community discussion of it. That's fine for a finishing node this simple - but if a workflow you care about depends on the legacy class name, it's worth being aware you're relying on a one-person project that could rename again. Not a reason to avoid it; just a reason to keep your workflows backed up.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| exposure | FLOAT | 0.00-5–5 | — |
| brightness | FLOAT | 0.00-1–1 | — |
| contrast | FLOAT | 1.000–3 | — |
| saturation | FLOAT | 1.000–3 | — |
| gamma | FLOAT | 1.000.1–5 | — |
| temperature | FLOAT | 0.00-1–1 | — |
| tint | FLOAT | 0.00-1–1 | — |
| hue_shift | FLOAT | 0-180–180 | — |
| shadows | FLOAT | 0.00-1–1 | — |
| highlights | FLOAT | 0.00-1–1 | — |
| strength | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |