Skip to main content
Glama

Create depth silhouette

create_depth_silhouette

Extract a body silhouette from depth or video sources using blur and threshold, with options to invert or fill with color. Outputs a mask for compositing or reactive visuals.

Instructions

Extract a silhouette / body mask from a depth or video source — a person's white outline on black you can composite, fill with colour, or use as a mask for reactive visuals (interactive installations / camera-reactive sets). The signal is smoothed (Blur TOP), keyed to a mask (Threshold TOP), optionally inverted (Level TOP) and optionally filled with a colour keyed through the mask (Constant + multiply Composite). Creates a new baseCOMP under parent_path holding the source, Blur, Threshold, Level, optional Constant + Composite fill, and a Null output. Source defaults to a self-contained synthetic noise field so it builds and previews with ZERO device permissions; pick 'file' for a clip, or a 'kinect_azure'/'kinect'/'realsense' sensor for the live installation (may prompt for macOS permission). Exposes Threshold (bind to proximity/audio), Smooth, Invert (+ FillColor) and outputs a Null TOP. Use create_depth_displacement instead for true 3D relief geometry rather than a flat 2D mask. Returns a summary plus a JSON block with the container path, created node paths, the mask/output paths, exposed controls, any node errors, warnings, and an inline preview image.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceNoWhere the depth/luma signal comes from. 'synthetic' (the default) = a self-contained animated noise/ramp field that needs ZERO device permissions, so the network builds and previews immediately — use it to dial in the look. 'file' = a movie/image file (source_file_path). 'kinect_azure' | 'kinect' | 'realsense' = a live depth/IR sensor (the real installation source); creating it may pop a one-time macOS camera/depth-permission dialog — click Allow. (The depth-device op names are confirmed to exist; their per-device params still need live confirmation.)synthetic
source_file_pathNoMovie/image file path for source='file' (e.g. a pre-recorded depth or IR clip). Ignored for other sources.
thresholdNoDepth/luma cutoff (0..1) that separates the body from the background: pixels brighter than this become the white silhouette, the rest go black. The headline 'Threshold' knob and the parameter to bind to audio/beat/proximity later.
smoothNoEdge smoothing — a Blur TOP filter size applied to the raw mask to round off jagged sensor edges before the silhouette is keyed. 0 = hard, aliased edges; higher = softer outline.
invertNoInvert the mask (swap silhouette and background). Off = white body on black; on = black body on white. Drives a Level TOP's invert.
fill_colorNoOptional hex colour ('#rrggbb') to fill the silhouette with instead of plain white — keyed through the mask via a Constant TOP composited (multiply) against it. Omit for a white-on-black mask.
expose_controlsNoWhen true (default), expose live Threshold / Smooth / Invert (+ FillColor) controls on the system container.
parent_pathNoParent network where the silhouette container is created (default '/project1')./project1
Behavior4/5

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

Describes internal signal chain (Blur TOP, Threshold TOP, Level TOP, Constant, Composite) and that it creates a container under parent_path. Mentions synthetic source requires no permissions while real sensor may prompt. Does not cover all edge cases but is thorough beyond annotations.

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?

Efficiently structured: front-loads purpose, then signal chain, source options, controls, and alternative. Length is appropriate for the tool's complexity; no redundant sentences.

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

Completeness5/5

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

Even without output schema, description fully explains return format (summary + JSON block with paths, errors, preview). Covers all major aspects: source, internal ops, controls, and usage context.

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

Parameters3/5

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

Schema has 100% coverage with detailed parameter descriptions. The tool description adds overall context (e.g., synthetic default, threshold as bindable knob) but does not significantly augment individual parameter meanings beyond the schema.

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?

Description starts with 'Extract a silhouette / body mask from a depth or video source', a specific verb+resource. It also explicitly distinguishes from sibling 'create_depth_displacement', making the purpose unmistakable.

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

Usage Guidelines5/5

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

Provides clear guidance: synthetic for preview (no permissions), file for clips, sensor for live; also explicitly names alternative 'create_depth_displacement' for 3D relief. Covers when/why to use each option.

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