OCIO LookTransform
The finishing move Nuke has and ComfyUI finally gets
- image
- video
- image/sequence/video
- ComfyUI Video
In Nuke, an OCIO look is a named transform you can apply between two colorspaces - a creative or technical pass that a facility has baked into its config so every comp uses the identical version. OCIOLookTransform brings that to ComfyUI: pick in_colorspace and out_colorspace, pick a look from the active config, and the image is pushed through that look between the two spaces. It's the direct port of Nuke's OCIOLookTransform.
The built-in ACES studio config the pack ships with has exactly one real look on offer: ACES 1.3 Reference Gamut Compression, plus (none) to bypass. That's not an oversight - a stock config carries a reference gamut-compression look precisely so people can pull out-of-gamut color back inside the working gamut without crushing the image, which is a genuinely useful finishing move for AI output that saturates into colors a delivery can't hold. invert_direction runs the look backwards, mix blends it with the original, and config_path is where a custom .ocio (dropped in the input folder) brings its own looks to the party.
Like the rest of the color nodes, image and video are mutually exclusive inputs and a VIDEO in gives you a VIDEO out - so this sits in a native ComfyUI video graph as a finishing stage: Load Video → OCIOLookTransform → Save Video. Outputs are image/sequence/video and ComfyUI Video.
The honest take
Don't install this pack for this node. With one stock look, it's mostly a slot waiting for a real config: the moment you drop in a facility .ocio that carries its own looks, this is how you apply them, and it'll be the only node in ComfyUI that speaks that language. Without a custom config, it's the gamut-compression look or nothing - and gamut compression is a subtle tool you'll reach for on specific shots, not daily.
Two gotchas carry over from the rest of the pack. First, the same bounded-domain rule as OCIO FileTransform: a look is a LUT under the hood, with a finite input domain, so scene-linear data past that domain gets clamped to the edge silently. Keep the data in the domain the look was authored for. Second, this is a color transform, not a tone map - it won't fix a badly exposed image, and applying it in the wrong direction is the standard way to make something look broken. The mix slider is your friend for easing a look in instead of slamming it.
Install via ComfyUI Manager (search "ComfyUI-OCIO", pick Nightly - the numbered registry entries are stale and flagged) or clone https://github.com/SlavaSexton/ComfyUI-OCIO into custom_nodes and pip install -r requirements.txt, then restart. It lives under OCIO. If your config dropdown shows only the built-in ACES config, that's normal until a .ocio lands in the input folder.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| in_colorspace | COMBO | ACES2065-1 | Colorspace from the active config. |
| out_colorspace | COMBO | sRGB - Display | Colorspace from the active config. |
| look | COMBO | (none) | OCIO look from the config. '(none)' = no look. |
| invert_direction | BOOLEAN | false | — |
| mix | FLOAT | 1.000–1 | Blend with the original: 1.0 = full effect, 0.0 = bypass. |
| imageopt | IMAGE | — | |
| videoopt | VIDEO | — | |
| config_pathopt | COMBO | (built-in ACES config) | OCIO config: built-in ACES, or a .ocio file dropped in the ComfyUI input folder. Pick from the list. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image/sequence/video | IMAGE | Image with the OCIO look applied (or inverted). |
| ComfyUI Video | VIDEO | — |