Skip to main content
Glama

Apply LUT

apply_lut

Apply a color LUT to a TOP in TouchDesigner with strength and bypass controls. Supports Cube, 3DL, CC, CCC files and image-based LUTs via OCIO or fallback paths.

Instructions

Apply a colour Look-Up Table (LUT) to an existing TOP inside a self-contained baseCOMP. Prefers an OpenColorIO TOP for .cube/.3dl/.cc/.ccc files; falls back to a Movie File In + Lookup TOP for image LUTs or when OCIO is unavailable. A .cube file with no OCIO is parsed in Python into a Script TOP ramp. Exposes Strength and Bypass controls on a custom page. Pass source_path to grade an existing TOP, or omit it for a standalone preview on a grey Constant TOP.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lut_pathYesAbsolute path to the LUT file. Accepts `.cube`, `.3dl`, `.cc`, `.ccc` (routed to OpenColorIO when available, otherwise parsed in Python for `.cube` or loaded via Movie File In for image-format LUTs). PNG/EXR/etc. always use the Movie File In + Lookup TOP fallback.
source_pathNoAbsolute TD path of the existing TOP to grade (e.g. '/project1/render1'). TD wires can't cross COMPs, so the source is pulled in via a Select TOP referencing the absolute path. When omitted, a Constant TOP (mid-grey, 1280×720) is created as a stand-in so the chain cooks and previews standalone.
ocio_config_pathNoOptional absolute path to an OCIO config file (`.ocio`). Only used when the OCIO branch is taken.
strengthNoBlend amount between source (0 = untouched) and graded output (1 = full LUT). Drives the Cross TOP crossfade parameter.
bypassNoWhen true, forces the Cross TOP crossfade to 0 so the source passes through unchanged. Also exposed as a toggle on the custom page.
preferNoBranch selection. `auto` probes OpenColorIO availability at runtime and uses it for `.cube`/`.3dl`/`.cc`/`.ccc` files, falling back to the Lookup TOP path for images. `ocio` forces the OCIO branch. `lookup` forces the Movie File In + Lookup TOP path even when OCIO is available.auto
expose_controlsNoWhen true, appends custom-page parameters Strength (float 0..1) and Bypass (toggle) on the container COMP and binds them to the Cross TOP crossfade.
parent_pathNoParent COMP network where the LUT chain container is created./project1
container_nameNoBase name for the container COMP (a numeric suffix is auto-applied by TD).apply_lut
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses behavioral traits: internal COMP wiring, OCIO parsing, fallback paths, crossfade blending, and standalone preview. It reveals limitations like TD wire constraints and parameter bindings, offering rich context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph that efficiently covers purpose, fallback logic, parameter usage, and defaults. It could be slightly more structured (e.g., bullet points) but each sentence contributes meaningfully.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no output schema, and moderate complexity, the description explains core behavior, parameter interactions, and standalone mode. It lacks explicit output specification but the implicit result (container with LUT chain) is clear enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining why parameters work as they do (e.g., source_path uses Select TOP, strength drives Cross TOP crossfade, prefer branch logic). It provides semantic context beyond schema labels.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Apply' and resource 'LUT to an existing TOP' in a specific context (self-contained baseCOMP). It distinguishes from siblings by detailing LUT format handling and fallback behavior, which is unique among similar tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool (e.g., with a LUT file, optionally with a source TOP) and explains the OCIO vs lookup fallback mechanism. It lacks explicit 'when not to use' statements but covers main use cases well.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pantani/tdmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server