Skip to main content
Glama

generate_tts

Idempotent

Create completed text-to-speech audio synchronously from a quote, stable request ID, and budget; then display the inline player and original audio link using the returned task handle.

Instructions

Generate TTS synchronously: this call waits for audio and returns the completed result with model and available voice name. After success call preview_audio_task with the returned task_handle to show the inline player, and include a named original audio link. No extra get_generation_task polling is required. The card uses article_title and labels this as synthesized speech. Requires a quote, stable request_id and budget for the selected credits or characters. Timeout or cancellation may leave backend synthesis running; unknown submissions are never retried.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
budgetYes
quote_idYes
request_idYesStable caller-generated ID. Reuse it for retries of the same submission.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover safety (readOnly=false, destructive=false, idempotent=true, openWorld=true), but the description adds behavior they cannot express: synchronous blocking semantics, the failure mode that 'Timeout or cancellation may leave backend synthesis running', and that 'unknown submissions are never retried'. The request_id retry guidance is consistent with idempotentHint=true.

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 core action and return contract, and nearly every sentence carries operational information. It is dense to the point of being run-on, and the card-rendering detail ('The card uses article_title and labels this as synthesized speech') is presentation trivia that slightly dilutes the guidance.

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?

With no output schema, the description steps in to describe the return payload (task_handle, model, voice name, original audio link) and the required follow-up call. For a 3-required-param synchronous generator, an agent has everything needed to call it, handle success, and reason about timeouts.

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 only 33%, so the description must compensate, and it does map all three required inputs (quote, stable request_id, budget) and clarifies the budget is 'for the selected credits or characters'. It stops short of saying where the quote comes from (e.g. estimate_tts_cost) or how budget limits are interpreted, so it is good but not fully compensating.

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?

Opens with a specific verb+resource ('Generate TTS synchronously') and immediately states the execution model — it waits and returns the completed result with model and voice name. This distinguishes it from async siblings like generate_image/generate_music that require get_generation_task polling, and from generate_sts which is a different conversion.

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?

Gives explicit routing: 'No extra get_generation_task polling is required' rules out the alternative path, and 'After success call preview_audio_task with the returned task_handle' names the exact follow-up tool and argument. Prerequisites are also stated ('Requires a quote, stable request_id and budget').

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