Nodes/Boyonodes/Boyo Apply LUT
ComfyUI Node

Boyo Apply LUT

Colour-grade your generations in the graph — 80+ LUTs shipped in the box

By DragonDiffusionbyBoyo·Created 2 years ago·Updated 27 days ago· 16
Boyo Apply LUT
  • image
  • IMAGE
lut_file
strength1.00
interpolation
clamptrue

A LUT - lookup table - is the same trick video editors have used for decades: bake a color grade into a table that maps every input color to an output color, then apply it instantly to any frame. Boyo Apply LUT brings that to ComfyUI as a node, and unlike most LUT nodes you'll find, this one ships with a working library. The pack's luts/ folder comes pre-loaded with 80+ .cube files - vintage, Fujifilm, Sony cinematic, vlog skin tones, film emulation, the lot. Open the dropdown and there's a whole grading suite waiting.

Why bother, when you could grade in an external editor afterward? Because doing it in the graph means the grade is part of the pipeline. You can preview a generation with the grade baked in, batch it across every image in a run, and keep the look reproducible. If you're generating a set of images that need to match - a dataset, a storyboard, a client batch - a fixed LUT is the cheapest consistency you'll ever get. It can't fix a bad image, but it can make a run of decent ones look like they came from the same shoot.

How it works

The node reads the LUT file with colour-science, the industry-standard Python colour library, then pushes every pixel of your image through the table using one of three interpolation methods:

  • tetrahedral (default) - the accurate one. Higher quality, slightly slower, right choice for footage-like work.
  • trilinear - the faster, slightly less precise classic.
  • linear - labelled as a third option, but the source honestly maps it straight to trilinear under the hood. Pick tetrahedral or trilinear; "linear" is there for muscle memory.

strength (0–1, default 1) blends between your original and the graded result, so 0.3 gives you a whisper of the look rather than the full grade. clamp (default on) clips the output back to the 0–1 range after grading - leave it on unless you have a specific reason to carry out-of-range values downstream.

The dropdown rescans the luts/ folder on every execution (the node hashes the folder's modification time), so drop a new .cube in and it appears without restarting ComfyUI. It processes every frame of an image batch, which is exactly what you want for video-frame batches.

Setting it up

This is one of the few Boyonodes that needs a pip dependency. The rest of the pack is happy with just a clone, but here:

cd ComfyUI/custom_nodes && git clone https://github.com/DragonDiffusionbyBoyo/Boyonodes
pip install colour-science

Then restart ComfyUI. Note where LUTs actually live: ComfyUI/custom_nodes/Boyonodes/luts/ - inside the pack folder, not your ComfyUI input/ directory. Drop your own .cube, .3dl, or .spi3d files there.

Where people get burned

  • The node errors with "[No LUTs found]" - you've moved or emptied the luts/ folder. The pack ships it, so usually this only happens if you cloned selectively or an update recreated the folder.
  • Colours look clipped or blown - try strength below 1 or turn clamp on. Some aggressive film LUTs push way out of gamut, and the blend is your safety valve.
  • "linear" not behaving like you expect - see above; it's trilinear. Not a bug, just a label.

One honest caveat: most of these shipped LUTs are consumer-grade looks, and a few are gimmicky. The star of the show isn't the preset list - it's that you can drop in your own professional .cube files and the whole pipeline works exactly the same. That's the node's real value: a deterministic grade, applied to anything that comes through the graph, forever reproducible.

CategoryBoyoNodes/Colour

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
lut_fileCOMBO83 options: 01_Best LUTs_Boost Shadow.cube, 01_Fujifilm LUTs_Retro Sharpen.cube, 01_Vintage_LUTs_Vintage.cube, 02_Sony LUTs_Cinematic.cube, 04_Color Finale LUTs_Insta Look.cube, 04_Film Emulation LUTs_Dramatic Light.cube, +77
strengthFLOAT1.000–1
interpolationCOMBO3 options: tetrahedral, trilinear, linear
clampBOOLEANtrue

Outputs (1)

NameTypeDescription
IMAGEIMAGE