Skip to main content
Glama

List voices

list_voices
Read-only

List available voices for UGC videos, filter by language, gender, age, use case, or model, and pick by name or ID. Preview audio links included.

Instructions

List the voices for make_ugc's voice field: the presets first, then catalog voices in 31 languages. Filter by language (the voice's native language; any voice speaks any supported language), gender, age, use_case and model; an unknown filter value is refused with the allowed values. Pick a voice by name (e.g. voice="george"); a name always means the same voice. voice_id is an escape hatch for a raw vendor voice id that is not listed, such as a cloned voice. Without voice or voice_id the default voice follows the actor's gender: sarah for a woman, george for a man, taken from actor_id or from actor_gender next to image. With image and no actor_gender the voice is george and a warning says so: pass the gender of the person in the photo as actor_gender (ask the user only when you cannot tell), or pick a voice here. Keep any voice the user chose. A voice with preview_url has a short-lived audio sample spoken by that voice with that model; play it to the user before a paid render instead of judging a voice by its description. It expires at preview_expires_at: call this tool again for a fresh link, never store it. A voice without preview_url has no sample yet. Free. Script limits by speech model: eleven_v3: 5000 characters; eleven_flash_v2_5: 10000 characters; eleven_turbo_v2_5: 10000 characters. Count includes spaces, audio tags and stress marks; emoji may count as two characters. There is no word-count limit. Duration and price are estimates until measured.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ageNoAge label as list_voices prints it (young, middle_aged, old); an unknown value is refused with the allowed list
modelNoOnly voices whose language this speech model supports
genderNoGender label of the voice
languageNoNative language of the voice. A filter, not a limit: any voice speaks any supported language
use_caseNoUse case label as list_voices prints it (narrative_story, social_media, …); an unknown value is refused with the allowed list

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.20.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark this as read-only and non-destructive, and the description goes well beyond them. It discloses voice ordering, refusal of unknown filter values, default voice selection based on actor gender, preview URL expiry (never store it), pricing ('Free'), and per-model script character limits.

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?

The description is long but densely packed with non-redundant information, and the most important details are front-loaded. Every major section (filtering, selection, defaults, previews, limits) earns its place, though a slightly tighter structure would improve readability.

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 tool with no output schema and five optional parameters, the description is remarkably complete: it covers output ordering, default behavior, preview URL semantics and expiry, pricing, script limits, and character counting rules. An agent has enough context to call the tool and correctly interpret its results.

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 coverage is 100%, so the baseline is 3. The description mostly restates what the schema already documents, such as language being a filter rather than a limit and unknown values being refused; it adds little new semantic information about the five parameters themselves.

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 and resource: 'List the voices for make_ugc's `voice` field' and immediately distinguishes the tool's scope from siblings like list_actors. It adds meaningful structure (presets first, then catalog voices in 31 languages) rather than merely restating the title.

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?

The description gives explicit operational guidance: how to filter, how to pick a voice by name, when to use voice_id as an escape hatch, what happens without voice/voice_id, and when to play preview_url before a paid render. It even tells the agent when to ask the user for actor_gender instead of guessing, which is highly actionable.

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