Skip to content

List voices

GET
/v1/audio/voices
curl --request GET \
--url 'https://api.aderra.ai/v1/audio/voices?gender=female&age=young%2Cmiddle_aged&accent=british&use_case=narration&style=calm' \
--header 'Authorization: Bearer <token>'

Every voice POST /v1/audio/speech accepts, with its gender, age, accent, use cases, style, description and a short sample (preview_url). Every voice speaks every supported language. All voices come back in one response: there is no pagination.

Filters. Values are comma-separated or repeated (style=calm,warm or style=calm&style=warm) and case-insensitive. gender, age and accent keep a voice that has any of the values given; use_case and style keep a voice that has all of them. Different parameters combine with AND. A value no voice has returns an empty list. The values in use, with counts, are voice_filters in GET /v1/audio/models.

Any Aderra key (API or terminal) may call it, and it is free: nothing is billed. Guide: https://aderra.ai/docs/api/voices/

gender
string

male or female. Any of the values given.

Example

female
age
string

young, middle_aged or old. Any of the values given.

Example

young,middle_aged
accent
string

For example american, british, indian, french, spanish, german, japanese, korean, italian, brazilian, portuguese, arabic, australian, chinese, slavic, southeast_asian, latin_american, african. Any of the values given.

Example

british
use_case
string

narration, conversational, educational, entertainment or social_media. A voice must have all the values given.

Example

narration
style
string

friendly, calm, soft, bright, confident, smooth, energetic, expressive, warm, neutral, deep, formal, breathy, dramatic, playful or raspy. A voice must have all the values given.

Example

calm

The voices that match the filters.

Media typeapplication/json
object
object
required
string
Allowed value: list
model
required

The speech model these voices belong to.

string
total
required

How many voices matched (the length of data).

integer
data
required
Array<object>
object
id
required

The name to send as voice. Case-insensitive.

string
object
required
string
Allowed value: voice
gender
required

male or female.

string | null
age
required

young, middle_aged or old.

string | null
accent
required

The voice’s accent.

string | null
use_case
required

What the voice suits: narration, conversational, educational, entertainment, social_media.

Array<string>
style
required

How the voice sounds.

Array<string>
description
required
string | null
languages
required

Every voice speaks every language the model supports.

string
Allowed value: all
preview_url
required

A short public mp3 of the voice. No key is needed to fetch it.

string | null format: uri

Example

{
"object": "list",
"model": "aderra-voice-1",
"total": 200,
"data": [
{
"id": "Daniel",
"object": "voice",
"gender": "male",
"age": "middle_aged",
"accent": "british",
"use_case": [
"narration",
"entertainment",
"educational"
],
"style": [
"calm",
"deep",
"smooth",
"friendly"
],
"description": "Low British baritone that sits still and lets the facts do the work. Built for documentaries, explainers, and other long, even reads.",
"languages": "all",
"preview_url": "https://aderra.ai/docs/voice-samples/Daniel.mp3"
}
]
}

The key is missing, unknown or revoked: authentication_error / unauthorized.

Media typeapplication/json
object
error
required
object
type
string
param

The request field at fault, when there is one (speech).

string | null
code

The machine-readable reason. A string, except on upstream_error where it is the upstream HTTP status.

One of:
string
message
string

Example

{
"error": {
"message": "Send an Aderra API key as a Bearer token.",
"type": "authentication_error",
"param": null,
"code": "unauthorized"
}
}