Voices
Browse the Text-to-Speech (TTS) voices available for audio generation, exposed through client.voices.
List voices
voices = client.voices.list(
search=None, # search by name or slug
per_page=10, # 1-100, default 10
page=1,
sort=None, # name, -name, slug, -slug, id, -id, order_column, -order_column
is_premium=None, # filter by premium status (sent to the API as 1/0)
gender=None, # "male" or "female"
age_group=None, # ones, tens, twenties, thirties, fourties, fifties, sixties, seventies
extra_params=None, # dict of additional query parameters
timeout=None, # override the client's default timeout, in seconds
)
Returns a paginated response:
{
"data": [
{
"name": "ޙައްޖަ",
"slug": "hajja",
"gender": "female",
"age_group": "thirties",
"is_premium": False,
"audio_sample_url": "https://...",
"unit_charged": "character",
"rate": 0.01,
},
...
],
"links": {"first": "...", "last": "...", "prev": None, "next": None},
"meta": {"current_page": 1, "last_page": 1, "per_page": 10, "total": 8, ...},
}
Get a voice
voice = client.voices.get("hajja")
# override the request timeout for this call only
voice = client.voices.get("hajja", timeout=5)
{
"data": {
"name": "ޙައްޖަ",
"slug": "hajja",
"gender": "female",
"age_group": "thirties",
"is_premium": False,
"audio_sample_url": "https://...",
"unit_charged": "character",
"rate": 0.01,
}
}
Raises dhivehigpt_sdk.NotFoundError when no voice exists with the given slug.