Nodes/ComfyUI-OCIO/OCIO LookTransform
ComfyUI Node

OCIO LookTransform

The finishing move Nuke has and ComfyUI finally gets

By SlavaSexton·Created 2 months ago·Updated 3 days ago· 99
OCIO LookTransform
  • image
  • video
  • image/sequence/video
  • ComfyUI Video
in_colorspaceACES2065-1
out_colorspacesRGB - Display
look(none)
invert_directionfalse
mix1.00
config_path(built-in ACES config)

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.

CategoryOCIO

Inputs (8)

NameTypeDefaultDescription
in_colorspaceCOMBOACES2065-1Colorspace from the active config.
out_colorspaceCOMBOsRGB - DisplayColorspace from the active config.
lookCOMBO(none)OCIO look from the config. '(none)' = no look.
invert_directionBOOLEANfalse
mixFLOAT1.000–1Blend with the original: 1.0 = full effect, 0.0 = bypass.
imageoptIMAGE
videooptVIDEO
config_pathoptCOMBO(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)

NameTypeDescription
image/sequence/videoIMAGEImage with the OCIO look applied (or inverted).
ComfyUI VideoVIDEO