Skip to main content
Glama

WhisperAI

Transcribe from URL

transcribe_url

Downloads a publicly reachable audio or video file (up to 200MB) and starts transcribing it, counting against the user's plan minutes. Call it when the user shares a direct link to a media file they want transcribed; for files on the user's device use start_upload instead. Returns immediately with a recording id — poll get_transcript for the result.

Input Schema

NameRequiredDescriptionDefault
urlYesPublicly reachable http(s) URL of the audio/video file
titleNoTitle for the new recording (defaults to the file name from the URL)
languageNoSpoken language code, e.g. "en", "es" (default: auto-detect)
translateToNoAlso translate the finished transcript into this language code (e.g. "es", "fr") as soon as transcription completes
customPromptNoFree-form context about the audio that guides transcription (e.g. "a sales call about the Q3 renewal"). Use speakerNames/importantTerms for names and terms; use this only for context that fits neither.
speakerCountNoExact number of speakers in the audio, when the user knows it
speakerNamesNoNames of the people speaking, in no particular order (e.g. ["Lucas", "Eman"]) — the transcript labels speakers with these names instead of "Speaker 1/2"
speakerRolesNoRoles of the people speaking when names are unknown (e.g. ["doctor", "patient"] or ["interviewer", "candidate"]) — the transcript labels speakers with these roles. Supply names or roles, not both.
speakerLabelsNoDetect and label different speakers (default true)
importantTermsNoNames, jargon, or uncommon terms likely to appear in the audio — improves their spelling in the transcript
transcriptionStyleNoTranscription style preset (default "standard"): "verbatim" keeps every filler word and false start, "clean_readable" removes them, plus domain presets like "interview_qa", "legal", "medical", "technical"

Output Schema

NameRequiredDescriptionDefault
statusYesAlways "processing" on success
messageYesWhat happens next
recordingIdYesId of the new recording — poll it with get_transcript

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), and the description adds value beyond them: a 200MB size ceiling, the fact that processing consumes the user's plan minutes, and that the call is asynchronous, returning immediately with a recording id. Those are exactly the operational facts annotations cannot express.

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

Conciseness5/5

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

Three sentences, zero filler, and the most decision-relevant information (what it does, size limit, when to use it vs. start_upload) is front-loaded. The async/poll note closes it out efficiently.

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?

An output schema exists so return values needn't be detailed, yet the description still tells the agent it returns immediately with a recording id and to poll get_transcript — the critical control-flow fact. Combined with the quota and size limits, nothing needed to invoke it correctly is missing.

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 one of the 11 parameters is already documented in the schema, including enum meanings and default behavior. The description only restates the URL constraint (publicly reachable, 200MB) and adds no parameter guidance beyond that, so the baseline 3 applies.

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+resource (downloads a media file from a URL and starts transcribing) with concrete scope (publicly reachable, up to 200MB). It explicitly distinguishes itself from start_upload for local files, so an agent can route correctly without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger ("when the user shares a direct link to a media file they want transcribed"), an explicit exclusion with a named alternative ("for files on the user's device use start_upload instead"), and the follow-up step (poll get_transcript). This is the full when/when-not/next pattern.

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