Skip to main content
Glama
audio-transcriber

audio-transcriber

Transcribe Speech

transcribe_speech
Read-onlyIdempotent

Convert SHA-256-verified base64 audio or video payloads into text with language detection, timestamps, and optional speaker labels.

Instructions

Capability: speech-to-text. Transcribe one base64 audio or video payload (verified by its sha256 digest) to text with detected language, segment timestamps, optional word timestamps and a diarisation availability report. Converts any container format with ffmpeg. Returns a typed result whose status is ok or refused (refusal_code INVALID_ARGUMENT, DIGEST_MISMATCH, MEDIA_TOO_LARGE, MEDIA_TOO_LONG, UNSUPPORTED_MEDIA or TRANSCRIPTION_FAILED).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "artifact_b64": "<artifact_b64>",
      "digest": "<digest>"
    },
    "name": "transcribe_speech"
  }
}

Input Schema

NameRequiredDescriptionDefault
taskNo'transcribe' or 'translate' (to English).transcribe
digestYessha256 of the raw bytes, hex, optionally 'sha256:'-prefixed.
diarizeNoAsk for speaker labels; the result reports whether supported.
languageNoLanguage code; detected when omitted.
media_typeNoThe MIME type, audio/* or video/*.audio/wav
artifact_b64YesThe audio bytes, base64 encoded.
word_timestampsNoInclude word-level timestamps.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.3.12

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive and closed-world, so the description focuses on adding genuinely new behavior: sha256 digest verification of the raw bytes, ffmpeg-based container conversion, and a complete enumeration of refusal codes (INVALID_ARGUMENT, DIGEST_MISMATCH, MEDIA_TOO_LARGE, MEDIA_TOO_LONG, UNSUPPORTED_MEDIA, TRANSCRIPTION_FAILED). That is substantive disclosure about failure modes, though it stops short of stating limits (actual byte/duration thresholds) that would let an agent pre-validate a payload.

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?

Three sentences, front-loaded with the capability and input shape, then outputs, then error surface. Dense but every clause carries information; the only mild cost is the packed parenthetical list of refusal codes, which is long but genuinely useful.

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 an output schema present the description needn't detail return values, yet it usefully summarizes the ok/refused status model. Combined with annotations covering the safety profile and a fully documented 7-parameter schema, an agent has nearly everything needed; the only gap is the absence of concrete size/duration limits and of routing guidance among the many sibling transcription tools.

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 the schema already documents every parameter including digest format, media_type, language auto-detection, word_timestamps and diarize. The description restates these at a high level ('optional word timestamps', 'detected language', 'diarisation availability report') without adding format or constraint detail beyond the schema, so baseline 3 applies.

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 opens with a clear verb+resource statement ('Transcribe one base64 audio or video payload ... to text') and enumerates the outputs (detected language, segment timestamps, word timestamps, diarisation report). It is specific about input shape and output content, but it never distinguishes this tool from close siblings such as transcribe_audio or audio_transcriber_transcribe, leaving the agent to guess which transcriber to pick.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'one base64 audio or video payload' hints at a single synchronous artifact-based call, and the digest requirement hints at a verification step. There is no explicit statement of when to prefer this over the sibling transcription tools, nor any exclusions or prerequisites (size/length limits are implied only indirectly by MEDIA_TOO_LARGE/MEDIA_TOO_LONG refusal codes).

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