Skip to main content

Voices Endpoint

This endpoint provides access to the available voices in the Uberduck API. You can retrieve a list of all voices or filter them by various attributes.

Request

GET /v1/voices

Query Parameters

ParameterTypeRequiredDescription
agestringNoFilter by voice age (e.g., child, young, middle_aged, old).
genderstringNoFilter by voice gender (e.g., male, female).
accentstringNoFilter by voice accent (e.g., american, british, australian).
moodstringNoFilter by voice mood (e.g., happy, sad, angry).
stylestringNoFilter by voice style (e.g., casual, formal, newsreader).
languagestringNoFilter by voice language (e.g., english, spanish, french).
limitintegerNoMaximum number of voices to return. Default: 100. Maximum: 1000.
offsetintegerNoNumber of voices to skip. Used for pagination. Default: 0.
namestringNoFilter by voice name.
uuidstringNoFilter by voice UUID.
modelstringNoFilter by model ID (e.g., polly_neural, google_wavenet, azure_neural).
search_termstringNoSearch term to match against voice name or display name.
tagstringNoFilter by voice tag (e.g., characters, celebrities, accents).

Model-Specific Filtering

For model filtering, you can use these special formats:

  • polly_neural - Returns Polly voices that support the neural engine
  • polly_standard - Returns Polly voices that support the standard engine
  • google_wavenet - Returns Google WaveNet voices
  • google_neural2 - Returns Google Neural2 voices
  • google_standard - Returns Google standard voices
  • azure_neural - Returns Azure neural voices

Example Request

curl -X GET "https://api.uberduck.ai/v1/voices?language=english&gender=female&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

Response Body

FieldTypeDescription
voicesarrayArray of voice objects.
totalintegerTotal number of voices matching the filter criteria.

Voice Object

FieldTypeDescription
voicemodel_uuidstringUnique identifier for the voice.
display_namestringDisplay name of the voice.
descriptionstringDescription of the voice.
is_privatebooleanWhether the voice is private.
agestringAge category of the voice.
genderstringGender of the voice.
accentstringAccent of the voice.
stylestringStyle of the voice.
moodstringMood of the voice.
image_urlstringURL to an image representing the voice.
sample_urlstringURL to a sample audio of the voice.
namestringInternal name of the voice.
languagestringLanguage of the voice.
tagsarrayArray of tags associated with the voice.
featuresarrayArray of features supported by the voice.

Example Response

{
"voices": [
{
"voicemodel_uuid": "polly_joanna",
"display_name": "Joanna",
"description": "Professional female voice with an American accent",
"is_private": false,
"age": "middle_aged",
"gender": "female",
"accent": "american",
"style": "professional",
"mood": "neutral",
"image_url": "https://static.uberduck.ai/voices/polly_joanna.png",
"sample_url": "https://static.uberduck.ai/voices/samples/polly_joanna.mp3",
"name": "polly_joanna",
"language": "english",
"tags": ["professional", "clear", "friendly"],
"features": ["ssml", "neural-quality"]
}
// More voice objects...
],
"total": 150
}

Error Codes

Status CodeError CodeDescription
400invalid_requestInvalid request parameters.
401unauthorizedInvalid or missing API key.
429rate_limit_exceededRate limit exceeded.
500internal_errorInternal server error.

Usage Notes

  • Use pagination parameters (limit and offset) to navigate through large result sets.
  • Combine multiple filter parameters to narrow down the results.
  • The search_term parameter performs a partial match search on both the name and display_name fields.
  • For provider voices, the voicemodel_uuid includes the provider prefix (e.g., polly_joanna, google_wavenet_a).
  • The tags field is useful for finding voices with specific characteristics.