Video LUT
Bake a finished look onto every frame
- video
- video
A LUT is the industry's way of shipping a finished look as a file: you load a 3D lookup table and every pixel gets remapped through it. Video LUT is ComfyTV's version - pick a .cube LUT from your resource library, and the whole clip gets graded in one pass. It's the fastest way to make twenty generated shots look like one movie.
What it does
On ▶ Run it runs the clip through FFmpeg's lut3d filter and writes a new COMFYTV_VIDEO snapshot. The controls:
- lut_file - the LUT file name, resolved against ComfyTV's LUT resource library (the 8-tab sidebar's resource tab is where you manage them). Only the base filename is used; if it doesn't resolve, the node errors rather than silently passing through. Leave it empty to pass the clip through unchanged.
- interp - how the 3D LUT is sampled between grid points:
tetrahedral(default, the high-quality standard),trilinear,nearest(fastest, blockiest),pyramid,prism.
The one real trap is Hald .png LUTs. They're not supported here - they need a second input that this node doesn't have - so the node raises a clear error if you feed it a .png. Convert to .cube (or another lut3d-compatible format) and it works.
Where it fits
LUTs sit at the end of the color pipeline, usually after a primary grade: Video Color (wheels) or Video Curves to shape the image, then the LUT as the final "look." It's also how you apply a client's supplied show LUT or emulate a film stock without hand-matching it. The docs make the important professional point: LUTs assume a specific input color space. A Rec.709 look LUT on log footage (or vice versa) will look wrong - match the LUT to your footage, don't fight it.
Install and troubleshooting
Pack-standard: git clone https://github.com/jtydhr88/ComfyTV into ComfyUI/custom_nodes, restart, under ComfyTV → VideoFX. No models to download - the LUTs themselves are just files you manage in the resource library.
- "not found in the LUT library" - the exact filename isn't there, or it's in the wrong library. Check the resource library spelling; the node only references files by name.
- Hald .png LUT errors - convert to
.cube; this node doesn't do PNG LUTs. - Grade looks washed out or wrong - color space mismatch. Confirm the LUT was authored for the footage you're feeding it.
- No change at all -
lut_fileis empty, which is a documented pass-through.
Output is a COMFYTV_VIDEO snapshot; cross to native ComfyUI nodes with a ← ComfyTV Video Bridge. Inside the pack it chains straight into the next VideoFX stage.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| force_run_token | INT | 00–2147483647 | Internal — bumped on Run to invalidate ComfyUI's input cache. |
| project_id | STRING | Internal — populated by the projectStore on the frontend. | |
| parent_output_id | INT | 00–2147483647 | Internal — lineage parent set by spawn handlers on the frontend. |
| lut_file | STRING | file name from the LUT library | |
| interp | COMBO | tetrahedral | 5 options: tetrahedral, trilinear, nearest, pyramid, prism |
| videoopt | COMFYTV_VIDEO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | COMFYTV_VIDEO | — |