Skip to main content
Glama

Generate speech

generate_speech

Turn a script into a ready-to-use voiceover: speaks the text in a Lazybird voice and returns a link to the MP3, which the user can play, download or put in a video, podcast, ad or course. Uses one character from the user's balance per character of text. Up to 5000 characters per call; split longer scripts into parts.

Input Schema

NameRequiredDescriptionDefault
textYesWhat to say
speedNoSpeaking rate, 1 is normal
localeNoLocale to speak in, with its region, e.g. "fr-FR". Any voice can take one
voiceIdYesA voice id from search_voices
instructionNoHow to act the text, in a few words, e.g. "whispering, nervous"; never spoken

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / instruction
      Added value: +{
      +  "description": "How to act the text, in a few words, e.g. \"whispering, nervous\"; never spoken",
      +  "maxLength": 200,
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Goes well beyond the annotations: annotations only say it is a non-readonly, non-idempotent, non-destructive write, while the description discloses the cost model (one character of balance per character of text), the 5000-character hard limit, and the output format (MP3 link). Non-idempotency is implied by the per-call billing but not stated outright, which keeps it short of a 5.

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 the primary outcome (voiceover plus MP3 link), then cost, then the size limit and workaround. Dense but every clause carries information; the 'play, download or put in a video, podcast, ad or course' list is slightly illustrative padding but harmless.

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?

No output schema exists, and the description compensates by describing the return value (a link to an MP3). With a fully documented schema and clear mutation annotations, only minor gaps remain — e.g. latency, error behavior when balance is insufficient, or whether the link expires.

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 baseline is 3. The description adds only the cost implication of 'text' (each character debits the balance) and restates the 5000-length cap already present as maxLength; it says nothing extra about voiceId, locale, speed or instruction.

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 ('turn a script into a ready-to-use voiceover') and names the concrete artifact produced — a link to an MP3 — so the agent knows exactly what comes back. This is clearly distinct from the sibling tools (design_voice, search_voices, save_voice), which do not synthesize audio.

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 context is implied rather than stated: the mention of Lazybird voices and the 'search_voices' reference in the schema indicate the lookup-then-generate workflow, and 'split longer scripts into parts' tells the agent what to do past the 5000-character cap. However, it never explicitly says when to use this versus design_voice or save_voice, and gives no exclusions or prerequisites (e.g. voice must already exist).

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.