Skip to main content
Glama

Preview animation (contact sheet)

ae_render_contact_sheet
DestructiveIdempotent

Render several frames of an After Effects composition into one labeled contact sheet to evaluate motion, timing, and easing across time.

Instructions

Render several frames of a composition into ONE image (a grid, each cell labelled with its time and frame number), so you can judge motion, timing and easing, not just a single frame. Defaults to 9 frames spread over the work area. For one frame in detail use ae_render_frame. Writes a file only with outputPath, never replacing one unless overwrite.

Input Schema

NameRequiredDescriptionDefault
endNoEnd time in seconds (default: work area end).
compNoComposition: item id (number) or exact name. Omit (or "active") for the active/open composition.
startNoStart time in seconds (default: work area start).
timesNoExact times (seconds) instead of evenly spaced frames.
widthNoWidth of the returned image in pixels (default 1600).
framesNoNumber of evenly spaced frames (default 9).
columnsNoGrid columns (default: square-ish).
overwriteNoReplace an existing file at outputPath (default false: refuse).
outputPathNoOptional absolute path to also save the PNG to.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations flag destructiveHint=true and readOnlyHint=false; the description clarifies exactly what that means in practice — a file is written only when outputPath is supplied, and an existing file is never replaced unless overwrite is set. That is genuine added context beyond the annotation. Minor gap: it doesn't say whether rendering perturbs the open composition's playhead/state, which matters for idempotentHint=true.

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

Conciseness5/5

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

Three tight sentences: purpose and output shape first, defaults second, alternative tool and write-safety last. Nothing is wasted or buried.

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 zero-required-parameter preview tool with full schema coverage and annotations, the description covers output shape, defaults, file-write safety, and sibling routing. Only the interaction between `times` and `frames` (mutually exclusive selection of sampling) is left to the schema, which is a small residual gap.

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 description coverage is 100%, so all nine parameters already carry defaults and constraints. The description restates the frame-count and work-area defaults and the outputPath/overwrite relationship, which is useful reinforcement but adds no semantics the schema lacks.

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?

Specific verb ('render several frames') plus specific output form (one grid image with per-cell time/frame labels), and it explicitly distinguishes itself from ae_render_frame. An agent knows exactly what this produces without opening the schema.

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?

Gives the use case ('judge motion, timing and easing, not just a single frame') and names the alternative with the selecting condition ('For one frame in detail use ae_render_frame'). This is explicit when-to-use routing, not inference.

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