Skip to main content
Catalog and management endpoints require authentication. List/get return public catalog voices plus private voices visible to the caller’s organization. Create, update, delete, reference, publish, and sample operations additionally require an API key associated with an organization and user, and operate only on voices that organization owns. Every {voice_id} path field accepts a numeric voice ID or a public handle. The {ref_id} path field is the integer reference ID returned by list or upload.

List Voices

Get a list of available voices.

Query Parameters

integer
default:"20"
Maximum number of voices to return (1-100)
integer
default:"0"
Offset for pagination
string
Language filter on the BCP-47 tags in supported_languages, case-insensitive. A bare language code matches every accent of it: de returns de-DE, de-AT and de-CH voices. A full tag matches only that accent: de-AT returns Austrian German voices only. total and pagination count the matching public catalog voices; your own matching voices come with every page and are not part of total. Omit it (or send it empty) to list every voice.
The listing returns every voice visible to you; unknown query parameters are ignored.

Response

Example


Get Voice

Get details for a specific voice.

Path Parameters

string
required
The voice handle or legacy numeric ID

Response

Example


Create Voice

Create a new voice with optional reference audio files.

Request Body

Send either application/json with the metadata fields directly in the body, or multipart/form-data when attaching reference files. Multipart requests use the parts below.
JSON
required
JSON object with voice metadata (sent as a JSON part):
file[]
Reference audio files (WAV, MP3, OGG, M4A, FLAC). Can include multiple files; each file is limited to 50 MiB.
During voice creation, empty files, unsupported extensions, and files larger than 50 MiB are skipped while the voice is still created. Use the dedicated reference-upload endpoint when you need a rejected file to fail the request.

Response

Example


Update Voice

Update voice metadata. Only provided fields are changed.

Path Parameters

string
required
The voice handle or legacy numeric ID

Request Body (JSON)

string
Voice name (1-200 chars)
string
Voice description (maximum 2000 characters)
string
Generative voice description (maximum 2000 characters)
string
narrative_story, conversational, characters_animation, social_media, entertainment_tv, advertisement, or informative_educational
string
young, middle_age, or old
string
male, female, or neutral
string
low, mid, or high
array
Language tags: BCP-47 (de-DE, en-GB) or a bare language code (de)
string
Text for sample generation (maximum 2000 characters)

Example


Delete Voice

Archive a voice you own. The endpoint returns 204 No Content.

Path Parameters

string
required
The voice handle or legacy numeric ID

Example


List Voice References

Get reference audio files associated with a voice.

Response

Example


Add Voice Reference

Upload a reference audio file to a voice.

Request Body (multipart/form-data)

file
required
Non-empty reference audio file (WAV, MP3, OGG, M4A, FLAC), maximum 50 MiB. An empty or unsupported file returns 400; an oversized file returns 413.
string
default:""
Optional transcript of the reference audio.

Example


Delete Voice Reference

Remove a reference audio file from a voice.

Example


Upload Avatar

Upload a PNG, JPEG, or WebP avatar image for a voice you can edit. The format is detected from the file content. Avatars of public voices cannot be changed (403).

Request Body (multipart/form-data)

file
required
The image file. Maximum 10 MB (413 above that); an empty file returns 400, and a file that is not PNG, JPEG, or WebP returns 400 "Unsupported avatar format. Use PNG, JPEG, or WebP.".

Example

Response


Publish Voice

Request publication of a voice. This sets pending_verification: true; an admin review decides whether the voice becomes public. is_public is not changed by this call.

Example


Generate Voice Sample

Trigger sample audio generation for a voice that has at least one reference.

Example

Response

sample_s3_path is always a string. sample_url is a signed string | null.

Voice Object

Fields

List and get responses contain the catalog fields through avatar_url and sample_url. Create, update, and publish responses additionally contain the generative, publication, verification, and sample-text fields below. The list response wraps the voice objects in voices and also returns integer total, limit, and offset fields.

Voice Reference Fields

Categories

The accepted values when creating or updating a voice are narrative_story, conversational, characters_animation, social_media, entertainment_tv, advertisement, and informative_educational.

Supported Languages

Common language codes:

Error Responses

Notable management errors include 400 VALIDATION_ERROR for invalid metadata or files, 403 UNAUTHORIZED when the key has no organization/user identity, 404 NOT_FOUND for an invisible voice or missing reference, 413 VALIDATION_ERROR for a reference upload over 50 MiB or an avatar over 10 MB, and 501 VALIDATION_ERROR when voice management is unavailable on the deployment.
See Error Codes for the full TTS and voice API error lookup table.
Last modified on September 23, 2026