Skip to main content
Glama

captions.generate

Generate subtitle files (SRT/ASS) or animated caption HTML from transcription segments or an SRT file, with styles for word highlighting, pop-in, or background boxes.

Instructions

Write captions from transcription segments or an SRT file: subtitle files (srt/ass) or a HyperFrames composition HTML for animated captions (karaoke word highlight, word-pop, background box).

Input Schema

NameRequiredDescriptionDefault
srtNoPath to an input .srt file (used as-is, lines and timings preserved)
styleNoCaption style: "plain", "karaoke" (word highlight), "pop" (scale-in), "box" (background plate). Default "plain".
widthNoFrame width for ass/hyperframes output (default 1080)
formatYesOutput format
heightNoFrame height for ass/hyperframes output (default 1920)
outputYesPath of the file to write
durationNoComposition duration in seconds (default: end of the last cue)
maxLinesNoTranscript lines per caption chunk (default 2)
transcriptNoTranscription segments (inline), or a path to a JSON file holding an array of segments or {segments:[…]}
maxCharsPerLineNoTranscript wrapping limit per line (default 42)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It identifies generated formats but does not state whether the output file is overwritten, whether directories are created, what permissions are needed, or that one of transcript/srt is effectively required despite the schema only requiring format and output.

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?

A single front-loaded sentence with no filler; the colon and parenthetical pack format and style details efficiently. It is slightly dense but every clause carries useful information.

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?

With 10 parameters and no annotations or output schema, the description covers purpose, main inputs, and outputs but omits prerequisites such as requiring transcript or srt, overwrite semantics, and differentiation from captions.render. It is adequate but leaves notable gaps for an agent to call it safely.

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 the schema already documents all 10 parameters and baseline is 3. The description maps 'karaoke word highlight, word-pop, background box' to style options and mentions SRT input/output, adding conceptual clarity but no syntax or constraints beyond the schema.

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

Purpose4/5

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

States a specific verb and resource, 'Write captions,' and enumerates input sources and output artifact types (srt, ass, HyperFrames HTML). It does not name or differentiate from the sibling captions.render, so the agent cannot fully rule out the alternative from the description alone.

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

Usage Guidelines3/5

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

The phrase 'from transcription segments or an SRT file' implies usage when those inputs exist, and the output formats give context. However, there is no explicit when-to-use/when-not guidance and no mention of the captions.render sibling as an alternative.

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