Skip to main content
Glama

generate speech

generate_speech
Destructive

Create one independent billable Studio task. All creation tools use input with original model parameters, reference_files and explicit file_bindings. Read list_models.defaults for the default model of this tool, then get_model_schema for the complete schema. generate_task requires model; shortcuts may omit it. Explicit model selects that public task model. Set the documented mode in input; no mode, model fields, defaults or voice choices are inferred or injected. Flat model parameters and legacy reference_images/reference_audio are not accepted. Backend validation is authoritative. Use session_title for a new topic, session_id to continue, and session_id plus base_run_id for a version. Preserve returned model/task_id/session_id/run_id/media_type. Never automatically resubmit or change model/session after rejection or an unconfirmed submission. In user-facing replies, omit technical identifiers by default, including user/profile IDs, task_id, session_id, run_id, base_run_id, voice_id, and file IDs. Retain the exact returned identifiers for tool arguments, task queries, session continuation, version appends, and voice reuse; never redact, regenerate, or guess these references. Show an identifier only when the user explicitly asks for it or a specific troubleshooting step requires that exact value, and show only the reference needed. Prefer plain-language status, model names, result previews/download links, and Studio links built from the returned session_id. This changes reply presentation only; tool result fields remain available for the workflow.

Input Schema

NameRequiredDescriptionDefault
inputYesFollow the complete get_model_schema.schema for model parameters, including nested objects and arrays. Values pass unchanged to backend validation; no plugin field or mode whitelist. Use direct media URLs or reference_files with explicit file_bindings, without mixing them. Routing, identity and session overrides are not model inputs. Metadata does not prove content or access.
modelNoOmit to use this tool's default from list_models.defaults. Supply a canonical ID or exact slug to select another task model; read its complete schema first.
session_idNoUse a returned or user-provided Studio session ID to add related work to that project. Never guess a session ID.
base_run_idNoTo revise a specific work, pass its returned run_id and the same session_id. Omit to create an independent work in the project.
file_bindingsNoUse paths declared in schema.mcp.attachments. Replace [] with an explicit input array index, e.g. elements[0].image_urls; provide parent objects and their metadata in input. Bind every file once using zero-based file_indices in intended order. Never overwrite direct URLs or guess fields or ordering.
session_titleNoRequired for a new Studio topic: 1-255 characters after trimming. Ignored when session_id is provided.
reference_filesNoChatGPT files in original order. file_id is metadata, never a URL or permission proof. Temporary download URLs are used only in this call. Do not invent MIME, byte size, dimensions or duration.

Output Schema

NameRequiredDescriptionDefault
errorYes
modelYes
stateYes
run_idNo
task_idYes
progressYes
voice_idYes
created_atYes
media_typeYes
session_idNo
completed_atYes
preview_urlsYes
text_outputsNo
download_urlsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Goes beyond the annotations meaningfully: it flags the task as "billable," states that backend validation is authoritative, warns that no mode/model/defaults/voice choices are inferred or injected, and instructs never to auto-resubmit or change model/session after a rejection. Those are real behavioral constraints an agent could otherwise violate. It omits runtime traits like latency or whether the returned task is synchronous vs. polled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The speech-specific content is buried after generic boilerplate, and the identifier-handling guidance is repeated three times in slightly different words (preserve the identifiers / retain the exact identifiers / show only when asked). The opening sentence is not front-loaded with the tool's actual purpose, so an agent must read the whole block to learn anything about speech generation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema, full annotation coverage, and 100% parameter descriptions, the structural burden is low, and deferring detailed params to get_model_schema is a reasonable design. But nothing describes what a successful speech result contains or the workflow for retrieving it (get_generation is a sibling that is never referenced), leaving the end-to-end flow under-explained.

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 the baseline is 3, but the description adds constraints not captured in the schema: flat model parameters and legacy reference_images/reference_audio are rejected, and modes must be set explicitly rather than defaulted. It also clarifies the session_title vs session_id vs base_run_id relationship. The actual model-passthrough fields are deferred entirely to get_model_schema, leaving the input surface opaque here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with "Create one independent billable Studio task," a generic creation statement that never says this tool synthesizes speech/audio. Sibling tools (generate_image, generate_music, generate_video, generate_task) share the same boilerplate, so nothing here distinguishes the resource this tool actually produces beyond the tool name itself. Only a passing mention of "voice choices" hints at the domain.

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?

Provides concrete procedural context: read list_models.defaults for the default model, then get_model_schema for the full schema, and notes that generate_task requires model while shortcuts may omit it. It also distinguishes session workflows (session_title for a new topic, session_id to continue, session_id + base_run_id for a version). It does not, however, tell the agent when to pick this over generate_music/generate_video/generate_task for a speech-shaped request.

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