Skip to content
DashboardGet API Key

List voices for speaker assignment

GET/v1/video-translate/voices

Lists the voices that can be used as values in config.speaker_voices. voice_id is the external voice ID to submit. name and is_favorite reflect the authenticated account’s personalization; default_name is the catalog name. Ordered by favorites first, then name (case-insensitive), then voice_id.

Query ParametersExpand Collapse
application: optional string

Case-insensitive exact match on the voice’s application (use case), for example narration (max 100 characters).

maxLength100
favorite: optional boolean

Only favorites (true) or only non-favorites (false).

gender: optional "Male" or "Female" or "Other"

Case-insensitive gender filter.

One of the following:
"Male"
"Female"
"Other"
language: optional string

Case-insensitive exact match on the voice’s primary language or any of its verified languages (max 100 characters).

maxLength100
limit: optional number

Page size. Non-integers and values below 1 are rejected with 400; values above 100 are clamped to 100.

minimum1
maximum100
offset: optional number

Number of items to skip. Non-integers and negative values are rejected with 400.

minimum0
ReturnsExpand Collapse
voices: array of object { application, default_name, description, 5 more }
application: string

Intended use case, for example narration.

default_name: string
description: string
gender: "Male" or "Female" or "Other"
One of the following:
"Male"
"Female"
"Other"
is_favorite: boolean

Whether the authenticated account marked this voice as a favorite.

language: string

Primary language label.

name: string

Effective name (the account’s custom name when set, otherwise default_name).

voice_id: string

External voice ID. Use this value in config.speaker_voices.

List voices for speaker assignment

curl https://api.chamelaion.com/api/v1/video-translate/voices \
    -H "Authorization: Bearer $CHAMELAION_BEARER_TOKEN"
{
  "voices": [
    {
      "voice_id": "21m00Tcm4TlvDq8ikWAM",
      "name": "Rachel (narration)",
      "default_name": "Rachel",
      "description": "Calm, young adult female voice.",
      "language": "en",
      "application": "narration",
      "gender": "Female",
      "is_favorite": true
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 1
  }
}
{
  "error": "gender must be one of Male, Female, Other"
}
{
  "error": "favorite must be true or false"
}
{
  "error": "missing authorization header"
}
{
  "error": "invalid authorization format"
}
{
  "error": "missing token"
}
{
  "error": "invalid token"
}
{
  "error": "unauthorized"
}
{
  "error": "rate limit exceeded"
}
{
  "error": "internal error"
}
Returns Examples
{
  "voices": [
    {
      "voice_id": "21m00Tcm4TlvDq8ikWAM",
      "name": "Rachel (narration)",
      "default_name": "Rachel",
      "description": "Calm, young adult female voice.",
      "language": "en",
      "application": "narration",
      "gender": "Female",
      "is_favorite": true
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 1
  }
}
{
  "error": "gender must be one of Male, Female, Other"
}
{
  "error": "favorite must be true or false"
}
{
  "error": "missing authorization header"
}
{
  "error": "invalid authorization format"
}
{
  "error": "missing token"
}
{
  "error": "invalid token"
}
{
  "error": "unauthorized"
}
{
  "error": "rate limit exceeded"
}
{
  "error": "internal error"
}