Nodes/Mikey Nodes/HaldCLUT
ComfyUI Node

HaldCLUT

Film-emulation color grading without a diffusion pass

By bash-j·Created 3 years ago·Updated 10 months ago· 188
HaldCLUT
  • image
  • image
hald_clut
gamma_correction

If you've ever used a photo editor's "film simulation" filters - the Kodak Gold look, the Ilford black-and-white stock, that slightly warm Agfa Vista tint - this node is the ComfyUI version of that same trick, applied to whatever image just came out of your sampler. No second diffusion pass, no extra model weights. It just remaps colors.

How it works

A Hald CLUT is a square PNG that encodes a full 3D color lookup table: every possible RGB triplet gets a target color baked into that image's own pixel grid, the same technique RawTherapee and Darktable use for their film emulation presets. This node reads your chosen Hald CLUT file and remaps every pixel of the input image through it - genuinely just a lookup, not a model doing any generation. That's why it's fast regardless of image size and completely deterministic: same image, same LUT, same result every time.

The pack ships a batch of these ready to use - the schema's dropdown samples real film stocks (Kodak Gold 200, Kodak Kodachrome 64, Kodak TRI-X 400, Ilford HP5, Agfa Vista 200) alongside generic looks like retro.png, modern.png, bw.png, bw_warm.png, and a ColorNegative.png, 23 choices total straight out of the box.

The inputs and outputs that matter

  • image - whatever you want graded. Usually the output of a VAE Decode, but it'll take any IMAGE.
  • hald_clut - the LUT to apply, picked from the pack's bundled set (23 by default).
  • gamma_correction (True/False) - whether the node linearizes the image before reading it through the LUT and converts back after. Hald CLUTs are built assuming a specific gamma space, so this toggle is the one thing that changes how the lookup is interpreted, not what look it produces. If a particular LUT looks wrong - too flat, or blown out in a way the film stock shouldn't be - this is the first thing to flip.
  • image (output) - the graded result, single image, ready for a Save node.

How to install it

HaldCLUT comes with the rest of Mikey Nodes - install once, get all of it. Fastest route is ComfyUI Manager, searching for "Mikey Nodes." Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/bash-j/mikey_nodes

then restart. The built-in 23 LUTs ship inside the pack itself, so there's nothing extra to download to get started. If you want more than what's bundled, the README points at rawtherapee.com's shared HaldCLUT pack - drop the PNGs alongside the ones the node already ships with and restart to see them appear in the dropdown.

Common issues & troubleshooting

Colors look wrong or inverted. Try flipping gamma_correction. Since a Hald CLUT is built for a specific color space, applying it in the wrong one is the most common way a "film look" ends up looking like a color-shift bug instead.

This isn't an exposure or lighting fix. It's a pure color remap. If the underlying generation is badly lit or blown out, no LUT is going to rescue it - feed this node a reasonably clean image and let it do the styling, not the repair work.

Stacking multiple looks. Because the output is an IMAGE and the input is an IMAGE, you can chain two HaldCLUT nodes for a combined look. It works, but each pass through a lookup table compounds a little banding - for a subtle grade, one or two passes is plenty; don't build a five-node LUT chain expecting it to keep improving.

Dropdown missing a LUT you added. New PNGs only show up after a restart - ComfyUI reads the node pack's file list once at startup, not live.

CategoryMikey/Image

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
hald_clutCOMBO23 options: retro.png, modern.png, Hald_CLUT_Identity_12.png, Kodak Gold 200.png, h8.png, Kodak Kodachrome 64.png, +17
gamma_correctionCOMBO2 options: True, False

Outputs (1)

NameTypeDescription
imageIMAGE