Skip to main content

Documentation Index

Fetch the complete documentation index at: https://heygen-1fa696a7.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

List voices via GET /v3/voices; inspect one via GET /v3/voices/{voice_id}. To create a new voice instead, see Design Voices or Clone a Voice. For TTS, see Text to Speech.

Quick Example

curl -X GET "https://api.heygen.com/v3/voices?language=English&gender=female&limit=5" \
  -H "X-Api-Key: $HEYGEN_API_KEY"

Query Parameters

ParameterTypeRequiredDefaultDescription
typestringNo"public""public" for the shared library or "private" for your cloned voices.
enginestringNoFilter by voice engine (e.g. "starfish"). Only compatible voices are returned.
languagestringNoFilter by language (e.g. "English", "Spanish").
genderstringNoFilter by "male" or "female".
limitintegerNo20Results per page (1–100).
tokenstringNoOpaque cursor token for the next page (from a previous response’s next_token).

Response Fields

Each voice object in the data array contains:
FieldTypeDescription
voice_idstringUnique identifier. Pass this to POST /v3/voices/speech, POST /v3/videos, or POST /v3/video-agents.
namestringDisplay name of the voice.
languagestringPrimary language (e.g. "English").
genderstring"male" or "female".
typestring"public" (shared library) or "private" (your cloned voice).
preview_audio_urlstring or nullURL to a short audio preview.
support_pausebooleanWhether the voice supports SSML pause/break tags.
support_localebooleanWhether the voice supports locale variants (e.g. en-US vs en-GB).

Filtering Examples

By Language

curl
curl -X GET "https://api.heygen.com/v3/voices?language=Spanish" \
  -H "X-Api-Key: $HEYGEN_API_KEY"

By Gender

curl
curl -X GET "https://api.heygen.com/v3/voices?gender=male" \
  -H "X-Api-Key: $HEYGEN_API_KEY"

Your Private (Cloned) Voices

curl
curl -X GET "https://api.heygen.com/v3/voices?type=private" \
  -H "X-Api-Key: $HEYGEN_API_KEY"

TTS-Compatible Voices Only

To get voices that work with POST /v3/voices/speech, filter by the starfish engine:
curl
curl -X GET "https://api.heygen.com/v3/voices?engine=starfish" \
  -H "X-Api-Key: $HEYGEN_API_KEY"

Pagination

If has_more is true, pass the next_token value as the token query parameter to fetch the next page.
curl
curl -X GET "https://api.heygen.com/v3/voices?token=eyJsYXN0X2lkIjoiMTIzIn0" \
  -H "X-Api-Key: $HEYGEN_API_KEY"