Skip to main content
Glama

transcribe_podcast

Transcribe podcast audio or video files into word-level timestamps with speaker labels, providing the metadata needed to analyze content and generate clips.

Instructions

STEP 1 — Transcribe a podcast video/audio file. This is typically the first tool you call.

What it does: Uses Whisper AI for word-level timestamps, with speaker detection (who said what) on by default. Speaker labels are what let a clip tell a question from an answer, so leave them on for any interview. Pass enable_diarization=false to skip them and save time on a single-speaker recording. Returns: Lightweight metadata only — duration, language, word/segment counts, speaker summary, and packed_ready flag. The actual transcript body is NOT returned here (it would be 500KB+ for a typical episode). Read the content via get_ui_state(include_transcript: true) which returns a compact phrase-grouped markdown view (~10x smaller than raw segments). Caching: Results are cached by file hash — same file won't be re-transcribed. Supported formats: MP4, MOV, WebM, MKV, MP3, WAV.

After transcription: call get_ui_state(include_transcript: true) to read the transcript, then analyze it for viral moments and call suggest_clips.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
engineNoTranscription engine
languageNoISO language code
file_pathYesAbsolute path to the podcast file
model_sizeNoWhisper model sizebase
num_speakersNoExact number of speakers if known (e.g. 2). Auto-detects if omitted.
enable_diarizationNoSpeaker labels (who is speaking). On by default: without them a clip cannot tell a question from an answer. Set false only for a single-speaker recording. Falls back to no labels with a warning where torch is unavailable.
Behavior5/5

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

With no annotations provided, the description carries the full burden — and it delivers. It explicitly discloses that only lightweight metadata is returned and the transcript body (500KB+) is NOT here, that results are cached by file hash so the same file won't be re-transcribed, supported formats, and the packed_ready flag's purpose. This prevents an agent from wrongly expecting the transcript content in the response.

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 tightly structured with labeled sections (STEP 1, What it does, Returns, Caching, Supported formats, After transcription) and is front-loaded with the purpose. Every section earns its place — the Returns disclosure is critical behavioral info, not filler. Slightly verbose, but nothing is redundant.

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 complex tool with 6 parameters, no output schema, and no annotations, this is impressively complete. It explains the return shape (metadata fields including packed_ready), the redirect to get_ui_state for the actual transcript, caching semantics, format constraints, and the end-to-end workflow. An agent has everything needed to call it correctly and know what to expect.

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 description coverage is 100%, so the baseline is 3. The description adds real value beyond the schema: it explains why enable_diarization matters ('without them a clip cannot tell a question from an answer') and when to disable it, and it ties the file_path parameter to the file-hash caching behavior. Remaining params (language, num_speakers, model_size) are adequately covered by 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 specific verb+resource: 'Transcribe a podcast video/audio file.' It clearly differentiates from siblings by declaring it's 'typically the first tool you call' and by explicitly noting the actual transcript body is NOT returned, which distinguishes it from get_ui_state and import_transcript. The Whisper AI + speaker-detection detail makes its function unmistakable.

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?

Provides strong workflow context: explicitly labeled 'STEP 1', states when to call it versus later steps, and repeatedly routes to get_ui_state(include_transcript: true) and suggest_clips afterwards. It also gives a parameter condition (enable_diarization=false for single-speaker). However, it never names explicit alternatives for the 'already have a transcript' case (import_transcript/parse_transcript siblings), so there's no explicit when-not-to-use.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nmbrthirteen/podcli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server