Skip to main content
Glama

Make a subtitle file

caption_file

Transcribe a video or audio file into word-timed .srt or .vtt captions, saved beside the source and returned as text. Set a spend limit; requires write access.

Instructions

Transcribe a video or audio file in the media library (up to 20 minutes) into a word-timed .srt or .vtt. Filed next to the source; the text also comes back inline. Free: budgetUsd (default 2, max 10) is held while it runs and released. Needs the write scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namesNoBrand and product names to spell your way, comma-separated: "ShapelessAI, shapelessai.com".
formatNoDefault srt.
budgetUsdNoOptional: the most this call may spend, in dollars, default 2, max 10.
media_keyYesThe video or audio in your library, e.g. from an upload.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolYes
mediaYes
outputNoThe tool's own result, shaped by the tool.
chargedUsdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.4

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the annotations: it discloses the duration limit, the required write scope, where the artifact lands (next to the source) versus what streams back inline, and the budget hold/release lifecycle including that it is free. Annotations only supply readOnlyHint=false and destructiveHint=false, so the description carries the meaningful operational detail.

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?

Four sentences, purpose front-loaded, each carrying distinct information (what, where it lands, cost mechanics, permission requirement). The telegraphic 'Free:' clause is slightly compressed but is immediately unpacked by the following sentence, so nothing is wasted.

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?

For a write-producing tool with an output schema already present, the description supplies everything an agent needs: scope requirement, size limit, cost ceiling and hold behavior, output location, and inline return. Return-value details are correctly left to the output schema.

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 the baseline is 3, but the description adds semantics the schema does not state: the budget is held during execution and released (i.e., not necessarily consumed), and the media_key is scoped to media 'in the media library' from an upload. The 'names' parameter is left entirely to 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?

States a precise verb and resource ('Transcribe a video or audio file in the media library') plus the concrete output artifact ('word-timed .srt or .vtt'), which no sibling tool produces. An agent can distinguish this from probe_media or generate_* tools without opening any schema.

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?

Gives real eligibility constraints — 20-minute cap, requires the write scope, budget must be within default 2 / max 10 — which tells the agent when this call can succeed. There is no sibling transcription alternative to route against, so the absence of explicit when-not guidance is a minor gap rather than an omission.

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