Skip to main content
Glama

agent-media

generate_audio

Speak text in a named voice (jessica, sarah, liam, chris, roger, lily, bill, matilda, or a raw ElevenLabs voice id). A cloned voice cannot speak Hebrew: a stock voice of the same gender speaks a Hebrew line. Emotion tags like [excited] or [whispers] are honoured. For a talking-head clip you usually do NOT need this: generate_video renders native speech when the words are in the prompt. Use it for voiceover over b-roll or a standalone audio file. Models: elevenlabs-tts. Spends 16 credits per 1,000 characters, rounded up. Returns a job id, poll get_run_status for the mp3 URL. The mp3 URL can be passed as an audio_ref to generate_video.

RETRY SAFETY: set request_id to a fresh UUID for a new generation. Reuse the exact same request_id and inputs only to recover a lost response; that returns the original job without another charge. A deliberately new generation needs a new request_id. Keep the returned job_id and poll get_run_status. Never invent a refund.

Input Schema

NameRequiredDescriptionDefault
textYesThe words to speak. Emotion tags like [excited] or [whispers] are honoured. Priced per character; see list_models.
toneNoenergetic | calm | confident | dramatic.
modelNoA live audio model id from list_models, or "auto". Omit for the default (elevenlabs-tts).
voiceNoA voice name: jessica (young female), sarah (female), liam (young male), chris (male), roger (male), lily (elder female), bill (elder male), matilda (warm), or a raw ElevenLabs voice id. A cloned voice cannot speak Hebrew: a stock voice of the same gender speaks a Hebrew line.sarah
request_idNoUnique request identity (prefer a UUID). Reuse with identical inputs to recover the same job after a lost response; choose a new identity only for an intentionally new generation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (which only flag non-readonly, open-world, non-idempotent, non-destructive), the description discloses credit cost (16 per 1,000 characters, rounded up), the async job model, and a detailed retry-safety contract for request_id including that replay returns the original job without recharging. That idempotency nuance is especially valuable given idempotentHint=false.

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?

Purpose and the sibling comparison are front-loaded, and the retry-safety block is clearly separated from the core description. It is long and repeats the voice list already present in the schema, but nearly every sentence carries operational information (pricing, polling, audio_ref chaining).

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?

Although there is no output schema, the description explains the return value (a job id to poll via get_run_status for the mp3 URL) and that the resulting URL can be chained into generate_video as an audio_ref. For a 5-parameter async generation tool, nothing an agent needs to call and follow up correctly is missing.

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 100%, so baseline is 3, but the description adds real meaning beyond it: the voice roster with gender/age characterizations, the cloned-voice Hebrew limitation, and the request_id reuse-vs-new-generation distinction. The tone enum and model parameter are left to the schema, and the voice list is partly duplicated from the schema description, keeping it from a 5.

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?

The description opens with a specific verb+resource ("Speak text in a named voice") and immediately enumerates the voice options. It explicitly distinguishes itself from the closest sibling by stating generate_video renders native speech when words are in the prompt, 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?

It states both when NOT to use it ("for a talking-head clip you usually do NOT need this") and when to use it instead ("voiceover over b-roll or a standalone audio file"), naming the alternative tool explicitly. Constraints like the Hebrew/cloned-voice rule further narrow correct usage.

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