Voices
Manage voice configurations and imports from providers (e.g. ElevenLabs). Voices are assigned to agents and determine how the agent sounds on calls. For UUID / phone / datetime formats used below, see Data formats.List Voices
Returns all voices available to your organization (both system voices and custom/cloned voices).cURL
Response
data (array of voice objects), meta.
Get Voice
cURL
Import Voice from Provider
Import an existing voice from ElevenLabs (or another provider) into your organization. Use this when you already have a voice ID from a provider and want to use it with your agents.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the voice in your dashboard |
provider | string | No | Voice provider. Default: elevenlabs |
provider_voice_id | string | Yes | The voice ID from your provider (e.g. ElevenLabs voice ID) |
Example
cURL
data (voice object) and meta. May return 422 or 502 if the provider rejects the request (e.g. invalid voice ID or quota exceeded).
Clone Voice from Audio
Create a voice clone from your own audio samples. Upload one or more audio files (base64-encoded), and the system will clone the voice via ElevenLabs and import it to Ultravox for use with agents. Requires credits on your account.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the cloned voice (max 40 characters) |
files | object[] | Yes | One or more audio files. Each file is { filename, data, content_type } |
files[].filename | string | Yes | File name including extension (e.g. sample.mp3) |
files[].data | string | Yes | Base64-encoded audio file content |
files[].content_type | string | No | MIME type. Default: audio/mpeg. Supports: audio/mpeg, audio/wav, audio/mp4, audio/x-m4a |
- Use 1–5 minutes of clear, noise-free audio
- Avoid music or background noise
- MP3 or WAV at 44.1kHz works best
Example
cURL
data (voice object with status: "active") and meta. The voice is immediately ready for use. Returns 422 if name exceeds 40 characters or no files are provided. Returns 402 if your account lacks sufficient credits.
Update Voice
Update the display name of a voice. Thename is passed as a query parameter.
Parameters
Query parameters:| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | New display name for the voice |
cURL
Delete Voice
Deletes the voice from your organization. Agents using this voice will need to be updated.cURL
Sync Voice
Re-syncs a voice with Ultravox (the underlying AI platform). Use this if a voice shows as inactive or if you encounter sync errors. May return 422 if the sync fails (e.g. provider error).cURL
Preview Voice
Generate a short audio preview of the voice speaking a given text. Returns raw WAV audio bytes.Parameters
Query parameters:| Parameter | Type | Description |
|---|---|---|
text | string | Text for the voice to speak. Defaults to a standard greeting if omitted. |
cURL
Voice Object
| Field | Type | Description |
|---|---|---|
id | UUID | Voice ID |
name | string | Display name |
provider | string | Provider: elevenlabs, google, azure, openai |
type | string | reference (imported) or custom (cloned) |
language | string | Language code (e.g. en-US) |
status | string | active, training, or failed |
created_at | datetime | When the voice was added |
updated_at | datetime | Last updated |

