Skip to main content
Glama
dha-aa
by dha-aa

Set Text

set_text
DestructiveIdempotent

Modify text content, font, size, color, or range styling on an After Effects text layer; only passed fields change, and results return updated values.

Instructions

Set text and styling on a whole text layer; only the fields you pass change, read back in the result (skipped: what After Effects refused). font: PostScript name (find_fonts). leading turns auto leading off; stroke_color turns the stroke on; horizontal/vertical_scale in percent. box_size resizes box text (point text cannot become box text: add_layer options.box_size). time sets a keyframe. ranges style part of the text after the whole-layer fields (AE 24.3+): match (every occurrence of a string) or start/end (character indexes from 0, end exclusive, default the end). New text clears earlier part styling (ranges_cleared): pass ranges in the same call.

Input Schema

NameRequiredDescriptionDefault
fillNo
fontNo
sizeNo
textNo
timeNo
colorNo
tsumeNo
rangesNo
strokeNo
leadingNo
all_capsNo
box_sizeNo
layer_idYes
trackingNo
faux_boldNo
ligaturesNo
subscriptNo
small_capsNo
faux_italicNo
left_indentNo
space_afterNo
superscriptNo
auto_leadingNo
right_indentNo
space_beforeNo
stroke_colorNo
stroke_widthNo
justificationNo
baseline_shiftNo
vertical_scaleNo
horizontal_scaleNo
stroke_over_fillNo
first_line_indentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.22.0

TDQS

A3.9/5.0
Behavior3/5

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

Annotations cover idempotence, destructiveness, and open-world, but the description adds meaningful behavior not in annotations: 'skipped: what After Effects refused' discloses partial-failure semantics, and 'New text clears earlier part styling (ranges_cleared)' discloses data loss. However, it doesn't disclose return format degrees of detail or authentication/permission behavior for a 33-param write tool.

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

Conciseness3/5

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

The content is dense and front-loaded onto key behaviors, but it's written as run-on sentences with multiple concepts packed into each (semicolons joining unrelated param notes). Not wasteful given 33 params, but readability suffers and a more structured list would be clearer.

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

Completeness3/5

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

For a 33-param mutation tool with no output schema, the description covers the highest-value semantics (partial failure, range clearing, non-obvious param meanings) but leaves many parameters unexplained and doesn't describe the return/read-back shape beyond 'read back in the result'. It's adequate but not complete for the schema complexity.

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 0% across 33 parameters, so the description must compensate. It does partially: clarifies font as PostScript name, maps leading to disabling auto leading, stroke_color to enabling stroke, horizontal/vertical_scale units as percent, box_size resizing and that point text cannot become box text, time as keyframe, and range match vs start/end semantics with end exclusive. That covers the trickiest params, but many others (tracking, tsume, baseline_shift, indents, ligatures) remain undocumented.

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?

States a specific verb ('Set') and resource ('text and styling on a whole text layer') and distinguishes scope from sibling get_text. The agent knows exactly what operation this performs on which object.

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?

Explains key mechanics ('only the fields you pass change', 'pass ranges in the same call' after new text) that guide correct usage. It implies when ranges are needed but never names an alternative tool or states exclusions (e.g., when to use set_property or get_text instead).

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