Skip to main content

Overview

Voices define how your AI persona sounds during a session. Each voice has a provider and a provider-specific voice ID. Assign a voice to a persona when creating or updating it. The catalogue runs to roughly a thousand voices across 44 languages, synced from the providers themselves — so filter server-side rather than fetching the whole list and filtering in your own code.

List Voices

Query parameters

All filters combine with AND. The repeatable ones accept a comma-separated list and match any of the values. The response carries a meta block alongside data so you can page without a second count query.

Response fields

A voice the provider withdraws is deactivated rather than deleted, so a persona already pointing at it keeps resolving. Deactivated voices are left out of listings unless you pass include_inactive.

Hear a Voice

One endpoint for every provider. Voices with a provider-hosted sample redirect to it; the rest are synthesized on demand.
string
The line to read, up to 300 characters. Applies only to the providers synthesized on demand. Defaults to a short conversational opener.
Responds 404 when the provider offers no sample for that voice.

Get Voice by ID

string
required
The voice UUID

Using Voices with Personas

Assign a voice when creating a persona:
Or override the voice for a specific meeting:
If you don’t specify a voice_id when creating a persona, a default voice is assigned based on the persona’s gender field.

Voice Providers

Gemini Live voices are produced by the model itself rather than by a text-to-speech step, so they only work on the Gemini Live pipeline. A persona using one falls back to the platform default voice on avatar, telephony and external-meeting calls, which run the cascaded pipeline.
Voice availability depends on your plan. Cloned voices are private to the account that created them and never appear in another caller’s list.