ProPostApplyLUT
Drop a real color grade onto your render
- image
- IMAGE
AI renders tend to come out oversaturated and a little too contrasty - a known tell, and one of the easier ones to fix in post. Color grading with a proper LUT is the professional-video-and-film way to do that, and it's a different beast from just nudging saturation and contrast sliders: a LUT (Look-Up Table) is a precomputed mapping that transforms every color in your image according to a specific, deliberately designed "look," the same technique colorists use on actual film and video. ProPostApplyLUT brings that into ComfyUI as a single node.
How it works
It applies a 3D LUT in the industry-standard .cube format to your image - one lookup table, applied once, transforming the whole color space at whatever strength you dial in. Under the hood the implementation is heavily inspired by BilboX's LUT node for ComfyUI, credited directly in the pack's own docs. On install, ProPost creates a luts folder inside ComfyUI/models/ (not really a "model" in the usual sense, but that's where the pack puts it) - drop .cube files in there and they show up in the node's dropdown.
The inputs and outputs that matter
- lut_name - a dropdown populated from whatever
.cubefiles you've dropped intoComfyUI/models/luts/. Empty on a fresh install; you have to supply your own LUTs. Any standard.cubeLUT works - film-emulation packs (Kodak, Fuji-style stocks), cinema look packs, or ones you've made yourself in a grading tool. - strength (default 1.0, range 0.0–1.0) - how much of the LUT's effect to blend in. 1.0 is the full graded look; lower values ease it in if the LUT is too aggressive for your image straight out of the box.
- log (default false) - whether the image is converted to LOG color space before the LUT is applied. This one matters more than it sounds. A lot of professional cinema LUTs are built to be applied to log-encoded footage, not standard image data - apply one to a normal image without enabling
logand you'll typically get a blown-out or badly clipped result, because the LUT is expecting flatter, lower-contrast input than what it's actually receiving.
One image in, one IMAGE out.
Installing it
ComfyUI Manager: search propost, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/digitaljohn/comfyui-propost.git
pip install -r requirements.txt
After install, go find some .cube LUTs and put them in ComfyUI/models/luts/ - the node is useless without at least one.
Where people get tripped up
The dropdown showing nothing is the number one issue, and it's not a bug - it just means you haven't put any .cube files in ComfyUI/models/luts/ yet. If you add LUTs while ComfyUI is already running, you'll likely need to restart (or at minimum refresh the node) before the new files show up in the dropdown; ComfyUI generally scans model folders at startup, not live.
The second trap is the log toggle, and it's the one that actually costs you image quality if you get it wrong. If the graded result looks harsh, blown-out in the highlights, or just wrong compared to what the LUT is supposed to do, try flipping log - most film-style LUTs assume log input and will misbehave without it. And if a LUT looks like it's barely doing anything at strength 1.0, that's usually the LUT itself being subtle by design (a lot of "natural" film emulation LUTs are), not the node failing to apply it - try a more aggressive LUT to confirm the node's working before troubleshooting further.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| lut_name | COMBO | 0 options: | |
| strength | FLOAT | 1.000–1 | — |
| log | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |