Skip to main content
Glama

Generate subtitles (Faster-Whisper → SRT/VTT)

generate_subtitles

Transcribe a public audio URL with Faster-Whisper and assemble SRT or VTT in the Worker. Pass audio_url to start or job_id to poll; format is srt (default) or vtt. Cost: 2 credits per call. Compliance / SSRF: Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "generate_subtitles"
  }
}

Input Schema

NameRequiredDescriptionDefault
formatNoSubtitle container to build in the Worker after Whisper finishes (`srt` or `vtt`).srt
job_idNoExisting Faster-Whisper job id. Polling never creates a new upstream job.
languageNoOptional language code (e.g. `en`, `zh`). Omit for auto-detect.
audio_urlNoPublic http(s) URL of the audio to subtitle (<= 2048 chars). Required to start a new job; omit when polling with `job_id` only.
wait_secondsNoHow long to wait for a result, 0–55 seconds (default 30).
idempotency_keyNoOptional caller correlation key. Billing is handled by mcp-credit-gateway.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false), the description discloses the concrete cost (2 credits per call), that calls are rate-limited and metered by mcp-credit-gateway, that a valid sk_live_ key is required, that output URLs expire on a limited TTL, and that SSRF/compliance constraints apply to the source material. These are exactly the operational facts an agent cannot infer from the annotations, and they are consistent with openWorldHint=true and the non-read-only classification.

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 first two sentences are well front-loaded and carry the essential operating instructions. The compliance/legal paragraph and the parenthetical Chinese restatement of the same rules are lengthy and partially duplicate the English text, which dilutes signal for an agent. The structure is readable but not tight.

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?

With six optional parameters and no output schema, the description adequately covers cost, auth, rate limits, TTL, and the two calling modes. It does not say what the response actually contains when a job is not yet finished (job id versus subtitle URL versus inline SRT), nor how long the TTL is. That is a modest gap, for a metered, asynchronous media job.

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 every parameter, including `format` enum, `job_id`, `audio_url`, and `language`, is already documented in the schema. The description reinforces the `format` values and the start/poll split between `audio_url` and `job_id` but adds no new semantics for `wait_seconds`, `idempotency_key`, or language handling. The baseline of 3 is appropriate when the schema does the heavy lifting.

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?

The description names a specific verb and resource: transcribe a public audio URL with Faster-Whisper and assemble SRT/VTT output in the Worker. It clearly describes what the tool produces (subtitle files). It does not distinguish itself from the sibling `transcribe_audio`, so an agent cannot tell from this text alone why one should be chosen over the other.

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?

The two invocation modes are spelled out explicitly: pass `audio_url` to start a job, or `job_id` to poll an existing one. That removes most ambiguity about how to call the tool. It gives no guidance on when to prefer this tool over `transcribe_audio` or `translate_subtitle`, and it does not state prerequisites such as the job needing to have been created first.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.