ComfyUI Node Runs on cloud

Load LUT

Get a film look without opening a grading app

By WASasquatch·Created 4 years ago·Updated a day ago· 1,864
Load LUT
    • lut
    ◄look▾►
    ◄builtin_size33►
    ◄custom_ev0.00►
    ◄custom_contrast1.00►
    ◄custom_saturation1.00►
    ◄custom_vibrance0.00►
    ◄custom_gamma1.00►
    ◄custom_temperature0.00►
    ◄custom_tint0.00►
    ◄custom_red_balance0.00►
    ◄custom_green_balance0.00►
    ◄custom_blue_balance0.00►

    A LUT is the honest way to finish a render. It's a table: this colour in, that colour out. No diffusion pass, no seed lottery, no rewritten faces, milliseconds. If you've ever re-generated an image because the colours were slightly off, that was a LUT's job being done by the most expensive tool available.

    Load LUT doesn't touch your image at all. It produces the table. Output is a single lut socket, and that's the bit beginners get wrong - an IMAGE input wants an image, and a LUT socket wired into a preview shows you nothing. The table goes into Apply LUT to grade pictures, LUT Blender to mix two looks, or Save LUT (.cube) to keep it.

    What it does

    This is the pack's extras group, and Load LUT is the entry point to four nodes that hand a grade around as a file. What it hands you is one of three things, chosen by the look menu:

    • A file. Any .cube the pack can find shows up as a LUT: <name> entry. Search order is the pack's own luts directory first - <ComfyUI user dir>/was-node-suite/luts, or whatever paths.luts points at - then every models/LUT folder under your ComfyUI models roots. That covers people who've collected Resolve LUTs for years and want them inside ComfyUI.
    • A built-in look. Names like Cinematic, Teal and Orange, Golden Hour, Day for Night, Cross Process, Cyberpunk, Arctic and a handful more. These aren't shipped as data; they're generated from grading settings in code, so they cost nothing on disk and nothing to install.
    • Custom. A table built on the spot from the widgets below.

    The controls that matter

    For Custom, the useful ones, in the order you'll probably reach for them:

    • custom_ev - exposure in stops. +1.0 doubles brightness. The blunt instrument, use it first.
    • custom_contrast and custom_gamma - contrast is around mid grey; gamma is a power curve that moves the midtones and leaves black and white where they are. Dull render? Nudge gamma up slightly before you touch contrast.
    • custom_saturation and custom_vibrance - vibrance is the weighted one, lifting muted colours and leaving already-loud ones alone, which is why it's safe on skin. Saturation is a flat multiplier and hits skin first.
    • custom_temperature, custom_tint, custom_red_balance, custom_green_balance, custom_blue_balance - white balance, then per-channel gain. Use the three balances together to match a reference render channel by channel.
    • builtin_size (default 33) - edge length of the cube. 33 is the industry standard and plenty; 65 is eight times the memory for a difference you generally can't see. It's ignored the moment you pick a file, since the file carries its own size.

    Install

    ComfyUI Manager, search WAS Node Suite v3, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
    

    Nothing gets installed, built or downloaded. ComfyUI 0.14.0+ and Python 3.10+. First start writes config.yaml and creates the pack's folders, LUTs included, then subsequent starts are normal speed. If you want to skip the old tutorials telling you to pip install -r requirements.txt - do. That file is empty in v3 by design, and the opencv/insightface version fights those guides were written for are exactly what the rewrite removed.

    Where people get burned

    Somewhere in the 2024-2025 archive there's a thread of people fighting "Import Failed" after a ComfyUI update. That was v2 pinning packages the rest of the stack had moved past. It doesn't happen in v3, so if you're troubleshooting from an old post, ignore most of it.

    Your .cube file doesn't appear in the menu. The list is scanned when ComfyUI builds node definitions, not every time the node runs. Drop the file in and restart ComfyUI (or refresh node definitions) - same for a LUT you just wrote with Save LUT.

    Nothing changes when you move the sliders. custom_* widgets are only read when look is Custom. With Cinematic selected, every one of those controls is decoration.

    Colours shift more than you wanted. Imported .cube LUTs are usually built for log or camera footage and assume input already in that space. Your render is sRGB, so they hit hard. Blend at partial strength with Apply LUT rather than pushing the table around by hand.

    CategoryWAS Suite/Image/LUT

    Inputs (12)

    NameTypeDefaultDescription
    lookCOMBOWhich table to produce. 'Custom' builds one from the controls below and ignores any file; the named looks are built in and need no file; entries starting 'LUT: ' are .cube files found in a models/LUT directory or in the pack's own luts directory.
    builtin_sizeINT3317–65Edge length of the cube built for a named look or for 'Custom', in samples. 33 is the industry-standard size and is plenty; 65 is finer and eight times the memory. Ignored when a .cube file is chosen, since the file sets its own size.
    custom_evFLOAT0.00-4–4Exposure in photographic stops, for the 'Custom' look. +1.0 doubles the brightness, -1.0 halves it, 0.0 changes nothing.
    custom_contrastFLOAT1.000.1–3Contrast for the 'Custom' look, around mid grey. Above 1.0 deepens shadows and brightens highlights, below 1.0 flattens the picture towards grey, 1.0 changes nothing.
    custom_saturationFLOAT1.000–3Colour intensity for the 'Custom' look. 0.0 gives black and white, 1.0 changes nothing, 2.0 doubles the distance of every colour from grey.
    custom_vibranceFLOAT0.00-1–1Colour intensity for the 'Custom' look, weighted towards the muted colours. Positive lifts pale colour without pushing already-strong colour further, which is the gentler way to add life to skin tones; 0.0 changes nothing.
    custom_gammaFLOAT1.000.1–3Midtone brightness for the 'Custom' look, leaving black and white where they are. Above 1.0 opens up shadow detail, below 1.0 deepens it, 1.0 changes nothing.
    custom_temperatureFLOAT0.00-1–1Warmth for the 'Custom' look. Positive shifts towards orange, as though shot under tungsten light; negative shifts towards blue, as though shot in shade; 0.0 changes nothing.
    custom_tintFLOAT0.00-1–1Green-magenta balance for the 'Custom' look, the second half of white balance. Positive adds green, negative adds magenta, which is what corrects a fluorescent cast. 0.0 changes nothing.
    custom_red_balanceFLOAT0.00-1–1Red channel gain for the 'Custom' look, applied on its own. +0.1 raises red by a tenth, -0.1 lowers it, 0.0 changes nothing.
    custom_green_balanceFLOAT0.00-1–1Green channel gain for the 'Custom' look, applied on its own. Use the three balance controls together to match a reference render channel by channel. 0.0 changes nothing.
    custom_blue_balanceFLOAT0.00-1–1Blue channel gain for the 'Custom' look, applied on its own. +0.1 raises blue by a tenth, -0.1 lowers it, 0.0 changes nothing.

    Outputs (1)

    NameTypeDescription
    lutLUTThe colour lookup table, for Apply LUT, LUT Blender or Save LUT.