Skip to main content
Glama

transcribe

Transcribe audio or video to text, including per-word timestamps for precise editing. Three-call flow: (1) call with filename to receive {job_id, payment_challenge}; (2) pay via MPP, then call with job_id + payment_credential to receive {upload_url} (presigned PUT, 1h expiry); (3) PUT the bytes, then complete_upload(job_id), then poll get_job_status(job_id). On completion, get_job_status returns two outputs: role transcript (SRT) and role transcript-words (JSON matching /.well-known/weftly-transcript-v2.schema.json, with segment-level and per-word timestamps). For other formats, pass format=srt|txt|vtt|json|words|edit to get_job_status to receive content inline — txt and vtt are derived from SRT, json is v1 (segments only), words is v2 (segments + words), edit is a plain-text "[NNNN] words..." paragraph list for editing by hand. Flat price: audio $0.50, video $1.00 — see /.well-known/mpp.json for the authoritative table. Use for podcasts, interviews, meetings, lectures, and especially for creating clips, multicamera edits, or edit-video-from-transcript where word boundaries matter. Retrying any call with job_id alone returns current state (idempotent). Failed jobs auto-refund.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
job_idNoJob ID returned from a previous call. Include along with payment_credential to confirm payment and receive the presigned upload URL. Also include alone to recover the current challenge/state if the original response was lost.
filenameNoFilename with extension (e.g. "podcast.mp3"). Required on the first call — used to infer media type (audio vs video) and label outputs. Supported extensions: mp3, wav, m4a, ogg, flac, mp4, mov, webm, mkv.
payment_credentialNoMPP payment credential (full Authorization header value, e.g. "Payment eyJ...") obtained by paying the challenge returned from the first call. Include with job_id to verify payment and receive the upload URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries full behavioral disclosure. It discloses the multi-step payment flow, presigned URL expiry (1h), idempotency ('Retrying any call with job_id alone returns current state'), auto-refund on failure, and details the exact output roles and formats. This is exceptionally transparent for a complex tool.

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?

The description is long but every sentence earns its place. It is front-loaded with the core purpose, then the flow, then formats, pricing, and edge cases. It avoids fluff and uses structured lists (numbered steps, pipe-separated formats). Slightly longer than minimal but appropriately dense for the tool's complexity.

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?

Given the three-call flow, no output schema, and multiple formats, the description covers everything an agent needs: the exact call sequence, parameter usage, output formats via get_job_status, pricing table reference, idempotency, and refunds. Nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter already has a description, but the tool description adds meaningful context beyond the schema: filename infers media type, payment_credential is the full Authorization header value, and job_id alone recovers state if the response was lost. It explains how each parameter fits into the three-call flow, substantially enriching semantics.

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?

The description opens with a specific verb-resource pair ('Transcribe audio or video to text') and immediately distinguishes itself by noting per-word timestamps for precise editing. It also names the three-call flow and output formats, clearly differentiating it from sibling tools like get_job_status or edit_from_transcript without requiring schema inspection.

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?

Explicitly lists use cases: 'podcasts, interviews, meetings, lectures, and especially for creating clips, multicamera edits, or edit-video-from-transcript where word boundaries matter.' It also prescribes the sequential calls to other tools (complete_upload, get_job_status). However, it does not explicitly state when NOT to use it or name an alternative tool for other cases, so it stops short of a 5.

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.

Resources