LayerColor: LUT Apply
LUT Apply
- image
- image
If you want a professional color grade in one node, this is it. LayerColor: LUT Apply takes a .cube lookup table - the same LUT format used in DaVinci Resolve, Premiere, and every serious color pipeline - and applies it to your image. A LUT is a precomputed color transform: it maps every input color to an output color, so a single file can encode an entire cinematic grade, a film-stock emulation, or a stylized look. Instead of stacking exposure, temperature, and balance nodes and eyeballing it, you drop a LUT and get a designed look instantly.
The controls:
- LUT - a dropdown of the
.cubefiles the node can see. This is the key thing to understand: the list is populated from LUT files bundled with the pack (plus whatever you add). A fresh install may show only a sample likeBlueArchitecture.cube. To get your own looks, drop.cubefiles into the pack's LUT folder and restart ComfyUI - they'll appear in this dropdown. - color_space -
linearorlog. This has to match how the LUT was authored. Most creative/look LUTs expect standard footage and wantlinear; log LUTs are built to be applied to log-encoded footage. Pick wrong and the grade comes out crushed or washed, so if a LUT looks broken, this toggle is the first thing to flip. - strength - 0 to 100, default 100. How much of the LUT to blend in. Drop it to dial back an over-strong look; 100 is the full effect.
Feed an image, get the graded image back.
Where this shines: consistent, repeatable looks across a whole set of images, and borrowing grades from the film/video world that would be a pain to rebuild by hand. There's a huge library of free .cube LUTs out there, and once you've dropped your favorites into the folder they're one dropdown away forever. It's also the natural last step in a LayerColor chain - correct exposure and balance first, then stamp the creative look with a LUT.
The gotchas are real but manageable. First, that color_space mismatch - the single most common "why does my LUT look wrong" answer. Second, the dropdown only knows about files it can find, so a LUT you downloaded won't show up until it's in the right folder and you've restarted. Third, a strong LUT can clip or posterize an already-graded image, which is what the strength slider is for. Get those three right and this is one of the highest-leverage nodes in the pack.
Install is the pack standard. Easiest is ComfyUI Manager - search ComfyUI Layer Style (or "LayerStyle"), install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/chflame163/ComfyUI_LayerStyle, then pip install -r requirements.txt from inside the folder using ComfyUI's Python, and restart. On a hosted ComfyUI it's usually already there - though note you may not be able to add your own .cube files to a shared image, in which case you're limited to whatever LUTs ship with it.
The pack-wide caveat: Layer Style is infamous for import failures - install it, restart, and the whole node set shows up red or missing. It's rarely the individual node; it's a dependency clash. The pack pulls a heavy stack (transformers, onnxruntime, opencv), and one mismatched version - a stray transformers or tensorflow being the classic - takes the entire pack down on import. Fix: read the ComfyUI startup log for the traceback (it names the offending package), reinstall requirements against ComfyUI's own Python, and use Manager's Try Fix. If LUT Apply is missing, every LayerStyle node is, and that shared import failure is the real fix.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| LUT | COMBO | 1 options: BlueArchitecture.cube | |
| color_space | COMBO | 2 options: linear, log | |
| strength | INT | 1000–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |