Nodes/ComfyTV/Video LUT
ComfyUI Node

Video LUT

Bake a finished look onto every frame

By jtydhr88·Created 3 months ago·Updated about 15 hours ago· 725
Video LUT
  • video
  • video
force_run_token0
project_id
parent_output_id0
lut_file
interptetrahedral

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_file is 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.

CategoryComfyTV/VideoFX

Inputs (6)

NameTypeDefaultDescription
force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
project_idSTRINGInternal — populated by the projectStore on the frontend.
parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
lut_fileSTRINGfile name from the LUT library
interpCOMBOtetrahedral5 options: tetrahedral, trilinear, nearest, pyramid, prism
videooptCOMFYTV_VIDEO

Outputs (1)

NameTypeDescription
videoCOMFYTV_VIDEO