Skip to main content
Glama

Get video transcript

get_transcript
Read-onlyIdempotent

Fetch the full transcript for a video or media file. Accepts a YouTube video ID or URL, TikTok and Instagram URLs, and direct media file URLs. If no transcript comes back, the result says whether captions definitively do not exist (aiFallback.captionsUnavailable) and whether transcribing the audio would still work (aiFallback.available). When it does, call this tool again with ai_fallback: true.

Input Schema

NameRequiredDescriptionDefault
videoYesVideo ID or URL: YouTube (dQw4w9WgXcQ, youtu.be/…), TikTok, Instagram, or a direct media file URL.
chunksNoAlso return the transcript split into pieces of about 500 tokens for an embedding model or vector store (default false), each with its start and end time and a link to that moment. In the structured result only.
markdownNoReturn the transcript as Markdown (default false): a title line, then paragraphs that each open with their time, linked to that moment on YouTube. Use it when you will quote or cite the video.
timestampsNoInclude the timestamped segments in the structured result (default true). Set false when only the text is needed: the segments repeat the transcript's words with timings, so leaving them out keeps the response smaller.
ai_fallbackNoSkip captions and use AI Fallback Transcription of the audio instead. Use this only after a previous call reported aiFallback.available. Charged 1 credit per started 5 minutes of audio, minimum 1 credit, on delivery; short media may return inline, while longer work returns a processing result to collect with a later call.

Output Schema

NameRequiredDescriptionDefault
urlNoCanonical URL of the item, when known.
textNoThe full transcript text.
jobIdNoAI-transcription job id, present when outcome is 'processing'.
titleNoTitle, or the post caption on TikTok and Instagram.
chunksNoThe transcript in pieces of about 500 tokens. Present when the call passed chunks: true.
reasonNoStructured failure reason when there is no transcript (no_captions, captions_disabled, age_restricted, upstream_error, …).
sourceNocaptions or audio: where the words came from.
balanceNoRemaining credit balance after this call, when known.
channelNoCreator: channel name, @handle, username or uploader.
outcomeNoFetch outcome (ok, no_transcript, processing, …).
videoIdNoThe item's id on its platform (YouTube id, TikTok numeric id, Instagram shortcode, or the URL for a file).
durationNoMedia length in seconds, when known.
languageNoCaption track language, or the language detected by AI Fallback Transcription.
markdownNoThe transcript as Markdown with timestamped paragraphs. Present when the call passed markdown: true.
platformNoyoutube, tiktok, instagram or file.
segmentsNoTimestamped transcript segments.
aiFallbackNoPresent when no transcript came back. Says what was established about captions and whether AI Fallback Transcription can still be tried.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
thumbnailUrlNoPoster image; TikTok and Instagram URLs are signed and expire.
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered; the description adds the failure-path behavior agents actually need — that a missing transcript is reported explicitly rather than being an error, and that a second call with ai_fallback is the recovery path. Credit costs and async delivery for fallback are disclosed in the parameter description rather than the main text.

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?

Four short sentences, front-loaded with what it does and which inputs it accepts, followed by the failure/retry guidance. No filler or restatement of the title.

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?

Output schema exists, yet the description still surfaces the two result fields critical to decision-making (captionsUnavailable, available) and the follow-up action. For a read-only, single-required-parameter tool this covers everything an agent needs before and after the call.

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 already 100%, so the baseline is 3; the description goes beyond by explaining the cross-parameter retry flow (ai_fallback only after a prior call reports availability) and by naming the result fields that signal caption unavailability. The per-parameter meaning of chunks/markdown/timestamps is left to the schema, which is appropriate.

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 and resource (fetch the full transcript) and enumerates the exact source types accepted (YouTube ID/URL, TikTok, Instagram, direct media URL). An agent can distinguish this from search_videos or list_channel_videos purely from this sentence.

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 a clear conditional workflow: when no transcript comes back, inspect aiFallback.captionsUnavailable and aiFallback.available, and only then retry with ai_fallback: true. It does not discuss when to prefer this over sibling discovery tools, but for a leaf retrieval tool the key decision path is covered.

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.