Skip to main content
Glama

transcribe_audio

Transcribes one uploaded audio file into text with speaker diarization and timestamped audio events (laughs, sighs, pauses), returning the full transcript, a turn-by-turn dialog with speaker labels and start/end timestamps, the detected events and the word count. Use it when a recording must become text for analysis, review or storage of the transcript. Provide the audio as file_base64 (base64 of the file bytes) plus optional filename; via MCP the request body is capped at 64 MB, so the file must stay under about 45 MB (larger recordings must go to POST /v1/audio/transcriptions as multipart, limit 1 GB), and the audio duration is limited to 3 hours, with accepted MIME types audio/mpeg, audio/mp3, audio/mp4, audio/m4a, audio/wav, audio/wave, audio/x-wav, audio/flac, audio/x-flac, audio/ogg, audio/opus, video/ogg, audio/webm, video/webm, audio/aac and audio/x-aac. model is optional and defaults to falaai-transcribe-1, the only supported value; language is an optional two-letter code (pt, en, es, fr, de, it, ja, ko, nl, pl, ru, tr, zh, vi, id, th, ar, hi, cs, da, el, fi, he, hu, ms, no, ro, sk, sv, ta, uk) that forces the audio language and is auto-detected when omitted; client_reference_id is optional, charset A-Za-z0-9 space _/:.- up to 60 chars, echoed verbatim (not idempotency). This call consumes credits; usage reports credits_consumed and processing_ms. Stateless: the audio is processed in memory and never persisted (LGPD). Returns id (tr-), language, language_confidence, duration_seconds, text, dialog, audio_events, event_types, word_count and input metadata (duration, format, codec, sample rate, channels). IMPORTANT: this call charges credits and the result is NOT stored — you MUST read the FULL response and relay ALL of its information to the user (including the complete dialog and text, every audio_event with its timestamps, and input metadata; no omissions, no shortening), and persist it if the user may need it later; calling again charges again.

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": {
      "file_base64": "<file_base64>"
    },
    "name": "transcribe_audio"
  }
}

Input Schema

NameRequiredDescriptionDefault
modelNo
filenameNoaudio.bin
languageNo
file_base64Yes
client_reference_idNo

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?

With zero annotations the description carries the full burden and does so: it discloses credit consumption, statelessness/no persistence under LGPD, the 64 MB body cap and ~45 MB practical file limit, the 3-hour duration cap, accepted MIME types, and that client_reference_id is not an idempotency key. It also warns that repeat calls re-charge and mandates relaying the full response before the result is lost.

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?

Front-loaded with purpose and output shape, then limits, then per-parameter notes, so scanning is easy. It is long and mildly redundant — 'This call consumes credits' is restated in the IMPORTANT block — and the exhaustive MIME/language lists bulk it up, though both are operationally necessary.

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 paid, stateless, size-constrained transcription tool with no output schema and no annotations, the description covers input encoding, limits, cost, retention, return fields and post-call handling obligations. An agent has everything needed to call it correctly and safely without inspecting the schema.

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 description coverage is 0%, yet the description documents all five parameters: file_base64 as base64 of raw bytes, optional filename, model default 'falaai-transcribe-1' as the only valid value (schema default is null, so this adds real information), language as a two-letter code with the full accepted set and auto-detect behavior, and client_reference_id with charset, 60-char cap and echo 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?

States a specific verb+resource ('Transcribes one uploaded audio file into text with speaker diarization and timestamped audio events') and immediately enumerates the returned artifacts. Nothing about the sibling tools (diagnostic, health, risk_audit, extract_whatsapp) could be confused with this, and the single-file scope is explicit.

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 concrete trigger ('Use it when a recording must become text for analysis, review or storage of the transcript') and routes oversized inputs to an explicit alternative (POST /v1/audio/transcriptions multipart, 1 GB limit). No 'when not to use' or sibling-level exclusion is stated, but none of the siblings are plausible substitutes.

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