WAS Load LUT
Build or load a color-grading LUT without leaving ComfyUI
- lut
A LUT (look-up table) is just a fixed recipe for remapping color - feed it a color, it hands back a graded one. It's how film and video colorists get a consistent "look" across a whole project without redoing the grade by hand every shot. WAS Load LUT brings that into ComfyUI's graph instead of making you round-trip through DaVinci Resolve: pick a preset, dial in a custom grade, or load your own .cube file, and it hands you a LUT you can apply, blend, or save.
It's part of a small pipeline WAS_Extras ships together (the pack's own README groups them under WASLUT.py): WAS Load LUT to get a LUT, WAS LUT Blender to combine two, WAS Apply LUT to actually grade an image with one, and WAS Save LUT to export back to .cube (its own article, since it's also in our set). This node is the entry point.
How it works
The look dropdown gives you named presets - Cinematic, Vibrant, Desaturated, High Contrast, Soft - plus Custom. It also scans your ComfyUI/models/LUT folder at startup and appends any .cube files it finds there, so the real dropdown you see is usually longer than just those five presets once you've dropped a downloaded or exported LUT into that folder. builtin_size sets the resolution of the generated cube (17–65, odd steps - 17/33/65-point is the standard sizing grading software already expects).
Pick Custom and the ten custom_* sliders take over, synthesizing a LUT from scratch rather than loading one: exposure, contrast, saturation, vibrance (per its tooltip, boosts low-saturation areas more than already-saturated ones), gamma, white-balance temperature and tint, and per-channel red/green/blue balance. It's a fast way to bake a grade without wiring up a chain of separate image-adjustment nodes.
The inputs and outputs that matter
look- the preset or.cubefile to load, orCustomto build one.builtin_size(default 33) - LUT resolution, matters for both builtins and custom synthesis.- The ten
custom_*fields - only do anything whenlookisCustom. Each has a tooltip explaining exactly what it nudges (exposure, contrast, saturation, vibrance, gamma, temperature, tint, red/green/blue balance), so trust those over guessing.
Output: lut (LUT type) - this doesn't touch pixels by itself. Wire it into WAS Apply LUT to grade an image, into WAS LUT Blender to combine it with another, or into WAS Save LUT to write it out as a portable .cube file.
How to install it
Via ComfyUI Manager: search WAS_Extras, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/WAS_Extras
Restart ComfyUI. No model downloads and no extra dependencies for this node - it's pure Python color math plus whatever .cube files you supply yourself.
Common issues & troubleshooting
Your custom .cube files never show up in the dropdown. The node only scans ComfyUI/models/LUT - if that folder doesn't exist yet, create it, drop your .cube files in, and restart ComfyUI (or refresh the node's definitions) so it re-scans.
Changed the custom_* sliders and nothing happened. Those only apply when look is set to Custom. Any other selection ignores them entirely, silently - check the dropdown before assuming the node's broken.
Can't wire lut into an image node. That's expected - LUT is its own WAS-specific socket type, not an IMAGE. You need WAS Apply LUT downstream to actually affect pixels; this node only produces the recipe.
Grade looks flat or barely different from the source. If you're on a builtin look, it's a fixed, fairly gentle recipe by design - for something stronger, switch to Custom and push custom_contrast/custom_saturation/custom_vibrance further than you'd expect, or load a punchier third-party .cube.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| look | COMBO | Select a builtin look, a discovered .cube LUT, or 'Custom'. | |
| builtin_size | INT | 3317–65 | LUT dimension used for builtins or custom synthesis. |
| custom_ev | FLOAT | 0.00-4–4 | Exposure value adjustment (Custom). |
| custom_contrast | FLOAT | 1.000.1–3 | Contrast multiplier (Custom). |
| custom_saturation | FLOAT | 1.000–3 | Saturation multiplier (Custom). |
| custom_vibrance | FLOAT | 0.00-1–1 | Boost low-saturation more than high (Custom). |
| custom_gamma | FLOAT | 1.000.1–3 | Gamma correction (Custom). |
| custom_temperature | FLOAT | 0.00-1–1 | White-balance temperature (Custom). |
| custom_tint | FLOAT | 0.00-1–1 | White-balance tint (Custom). |
| custom_red_balance | FLOAT | 0.00-1–1 | Red channel balance (Custom). |
| custom_green_balance | FLOAT | 0.00-1–1 | Green channel balance (Custom). |
| custom_blue_balance | FLOAT | 0.00-1–1 | Blue channel balance (Custom). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| lut | LUT | — |