HeyGen Voice Filters
The reference of filter values for the HeyGen catalogue: render engines, languages, accents and labels — each with a count of publicly visible voices.
Call this before GET /voices/heygen so you know what to put into language,
accent and voice_engine: the spelling is the provider's (English, en-US) and
is not worth guessing.
Required key permission: voices.read.
On this page(2)
Possible responses
200Success. The payload is in data.
Success. The payload is in data.
{
"success": true,
"message": "HeyGen voice filters retrieved successfully.",
"data": {
"voice_engines": [
{
"value": "elevenLabs",
"count": 1820
},
{
"value": "azure",
"count": 410
},
{
"value": "cartesia",
"count": 98
}
],
"genders": [
{
"value": "female",
"count": 1240
},
{
"value": "male",
"count": 1080
},
{
"value": "unknown",
"count": 10
}
],
"languages": [
{
"value": "English",
"count": 640
},
{
"value": "Spanish",
"count": 210
},
{
"value": "French",
"count": 150
}
],
"accents": [
{
"value": "en-US",
"count": 420
},
{
"value": "en-GB",
"count": 180
},
{
"value": "es-ES",
"count": 110
}
],
"labels": [
{
"value": "Conversational",
"count": 530
},
{
"value": "Warm",
"count": 340
},
{
"value": "Energetic",
"count": 275
}
]
}
}Success flag. Branch on the HTTP status code instead: any 2xx response carries true here, while an error comes back in a different shape that need not contain this field at all.
A human-readable note in the account language. Fine to show to a user; do not parse it — the wording changes without notice and is not an error code.
datarequiredThe response payload.
object
The response payload.
voice_enginesrequiredAllowed values for the voice_engine filter, each with a voice count.
array<object>
Allowed values for the voice_engine filter, each with a voice count.
The value to put into the filter.
How many voices remain when this value is applied.
gendersrequiredAllowed values for the gender filter, with counts.
array<object>
Allowed values for the gender filter, with counts.
The value to put into the filter.
How many voices remain when this value is applied.
languagesrequiredAllowed values for the language filter — in the provider’s spelling, with counts.
array<object>
Allowed values for the language filter — in the provider’s spelling, with counts.
The value to put into the filter.
How many voices remain when this value is applied.
accentsrequiredAllowed values for the accent filter, with counts.
array<object>
Allowed values for the accent filter, with counts.
The value to put into the filter.
How many voices remain when this value is applied.
labelsrequiredVoice labels with counts. There is no dedicated filter for them — use search instead.
array<object>
Voice labels with counts. There is no dedicated filter for them — use search instead.
The label value.
How many voices carry this label.
401The key is missing, unknown, disabled or expired.
The key is missing, unknown, disabled or expired.
{
"success": false,
"message": "API key is missing. Provide it in the X-API-KEY header.",
"data": null
}Always false in error responses.
Error text in the key's language (set through the X-Locale header).
Always null when the request is rejected before processing.
403The key lacks the required permission, or the object belongs to another user.
The key lacks the required permission, or the object belongs to another user.
{
"success": false,
"message": "This API key does not have permission to perform this action."
}Always false in error responses.
Error text in the key's language (set through the X-Locale header).
Nearby
The same in words
Neighbouring operations
Feed this page to an AI
spec 0.0.1