Descriptions are in English
HeyGen Voices
The HeyGen voice catalogue with filters by language, accent, gender and render engine.
Fetch the accepted filter values from GET /voices/heygen/filters first — the
spelling there is the provider's (English, en-US). Pages are numbered from zero.
Required key permission: voices.read.
On this page(3)
Parameters
The inputs live inside the request line: fill in a value and you get a ready URL. Below are the type, whether it is required and the allowed values of every parameter.
- stringin queryoptional≤ 32 caracteres
Voice gender.
Allowed values - stringin queryoptional≤ 64 caracteres
Voice language in HeyGen spelling (
English,Spanish, …). Listed byGET /voices/heygen/filters. - stringin queryoptional≤ 16 caracteres
Region/accent (
en-US,en-GB, …). Listed byGET /voices/heygen/filters. - stringin queryoptional≤ 512 caracteres
Render engine; several values comma-separated. Listed by
GET /voices/heygen/filters. - stringin queryoptional≤ 128 caracteres
Search by voice name and internal
voice_name. - stringin queryoptional
Ordering. Defaults to
default.Allowed values - integerin queryoptional≥ 0
Page number. Numbered from zero.
- integerin queryoptional1..200
Page size. Defaults to 55.
Possible responses
200Success. The payload is in data.
Success. The payload is in data.
{
"success": true,
"message": "HeyGen voices retrieved successfully.",
"data": {
"voices": [
{
"voice_id": "7f3a9c1e2b8d4f56a0c3e7f91b2d5a68",
"voice_name": "Yb56nzJ2XkQ0Fh1PmT8L",
"display_name": "Cassidy Pro",
"gender": "female",
"language": "English",
"locale": null,
"accent": "en-US",
"flag_url": "https://resource2.heygen.ai/flags/us.png",
"preview_url": "https://api.lumean.app/api/voice-preview?u=eyJpdiI6IjZmM2E5YzFlMmI4ZDRmNTYiLCJ2YWx1ZSI6ImZha2UifQ%3D%3D&signature=9f8e7d6c5b4a3928170f6e5d4c3b2a1908f7e6d5c4b3a2918f7e6d5c4b3a2918",
"voice_engines": [
"elevenLabs"
],
"labels": [
"Conversational",
"Warm"
],
"support_realtime": true,
"emotion_support": false,
"support_locale": false
},
{
"voice_id": "c159d4a2f6b7483d95e0a1c8f4b2d637",
"voice_name": "Xt4Wq8LmZ2VbPc6RfShu",
"display_name": "Marcus Energetic",
"gender": "male",
"language": "English",
"locale": null,
"accent": "en-GB",
"flag_url": "https://resource2.heygen.ai/flags/gb.png",
"preview_url": "https://api.lumean.app/api/voice-preview?u=eyJpdiI6ImMxNTlkNGEyZjZiNzQ4M2QiLCJ2YWx1ZSI6ImZha2UifQ%3D%3D&signature=1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b",
"voice_engines": [
"elevenLabs",
"azure"
],
"labels": [
"Energetic"
],
"support_realtime": false,
"emotion_support": true,
"support_locale": true
}
],
"total": 2,
"page": 0,
"page_size": 55,
"has_more": false
}
}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.
voicesrequiredVoices from the HeyGen catalogue.
array<object>
Voices from the HeyGen catalogue.
Voice identifier — goes into a heygen template’s config.voice_id.
The provider’s original name for the voice.
Display name of the voice.
Voice gender. Usable as a value for the gender filter.
Language in the provider’s spelling (English, Spanish). This is exactly what the language filter accepts — take it from here or from /voices/heygen/filters instead of guessing.
Voice locale, when the provider supplies one.
Accent in the provider’s spelling (en-US). The value for the accent filter.
Link to the language flag icon — for decorating a list.
Preview clip of the voice. The link points at our server, not the provider.
Rendering engines available for this voice. The values work as voice_engine filter input.
Provider-supplied labels: delivery, use case, emotion.
Whether the voice supports the provider’s streaming mode.
Whether the voice accepts emotion directives.
Whether a locale can be set for the voice independently of the language.
How many voices match the filters, across all pages.
Page number, zero-based.
Page size the server applied.
Whether another page exists.
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).
422Validation error. Offending fields are listed in errors.
Validation error. Offending fields are listed in errors.
{
"message": "string",
"errors": {}
}Errors overview.
errorsrequiredA detailed description of each field that failed validation.
object
A detailed description of each field that failed validation.
Nearby
The same in words
Neighbouring operations
Feed this page to an AI
spec 0.0.1