Retrieve available TTS voices
July 4, 2025 (August 21, 2025)
HeyGen API has been decommissioned. Currently we do not have plans to re-release it and recommend switching to Mureka API for speech and music generation.
Table of contents
This endpoint retrieves a list of available text-to-speech voices from HeyGen.
https://api.useapi.net/v1/heygen/tts/voices?β¦
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Query Parameters
emailis optional when only one account configured.
However, if you have multiple accounts configured, this parameter becomes required.pageis optional, defaults to1for paginationlimitis optional, defaults to29, maximum10000languageis optional, filter voices by language namevoice_idis optional, when specified returns details for a specific voice
Responses
-
Voice List Response (when
voice_idis not specified):{ "list": [ { "voice_id": "en-US-AriaNeural", "default_voice_engine": "azure", "voice_engines": ["azure", "elevenlabs"], "labels": ["premium", "neural"], "language": "English", "flag": "πΊπΈ", "locale": "en-US", "sort": 1, "gender": "female", "display_name": "Aria (Neural)", "preview": { "movio": "https://preview.heygen.com/voice/aria.mp3" }, "settings": { "openai_settings": { "model": "tts-1" } }, "ssml": { "style": ["chat", "customerservice", "newscast"], "lang": ["en-US"], "break_": true, "prosody": ["rate", "pitch", "volume"], "emphasis": "moderate", "say_as": ["characters", "spell-out"] }, "is_favorite": false, "support_realtime": true, "emotion_support": true, "provider": "azure", "voice_name": "en-US-AriaNeural", "support_locale": true, "status": "ACTIVE", "creator_username": null, "created_at": "2024-01-01T00:00:00Z", "source_type": null, "is_customer": false, "acl": null, "default_ac": null, "user_voice_clone_id": "" } ], "page": 1, "total": 150, "recommendations": { "category": "popular", "language": "English" } }Specific Voice Response (when
voice_idis specified):{ "voice": { "voice_id": "en-US-AriaNeural", "default_voice_engine": "azure", "voice_engines": ["azure", "elevenlabs"], "labels": ["premium", "neural"], "language": "English", "flag": "πΊπΈ", "locale": "en-US", "sort": 1, "gender": "female", "display_name": "Aria (Neural)", "preview": { "movio": "https://preview.heygen.com/voice/aria.mp3" }, "settings": { "clone_emotions": [ { "id": "happy", "icon": "π", "name": "Happy", "voice_source_url": "https://example.com/happy.wav", "preview_audio_url": "https://example.com/happy_preview.mp3" } ], "elevenlabs_settings": { "style": 50, "model_id": "eleven_multilingual_v2", "stability": 75, "similarity_boost": 85, "use_speaker_boost": true } }, "ssml": { "style": ["chat", "customerservice", "newscast"], "lang": ["en-US"], "break_": true, "prosody": ["rate", "pitch", "volume"], "emphasis": "moderate", "say_as": [] }, "is_favorite": false, "support_realtime": true, "emotion_support": true, "provider": "azure", "voice_name": "en-US-AriaNeural", "support_locale": true, "status": "ACTIVE", "creator_username": null, "created_at": "2024-01-01T00:00:00Z", "source_type": null, "is_customer": false, "acl": null, "default_ac": null, "user_voice_clone_id": "" }, "default_voice_engine_settings": { "elevenLabs": { "engine_type": "elevenlabs", "model_id": "eleven_multilingual_v2", "stability": 75, "similarity": 85, "style": 50, "use_speaker_boost": true }, "azure": { "engine_type": "azure" } } } -
{ "error": "Unauthorized", "code": 401 }
Model
Voice List Response (when voice_id is not specified):
{ // TypeScript, all fields are optional
list: {
voice_id: string
default_voice_engine: string | null
voice_engines: string[]
labels: string[]
language: string
flag: string
locale: string
sort: number
gender: string
display_name: string
preview: {
movio: string
}
settings: {
openai_settings?: {
model: string
}
}
ssml: {
style: string[]
lang: string[]
break_: boolean
prosody: string[]
emphasis: string
say_as: string[]
}
is_favorite: boolean
support_realtime: boolean
emotion_support: boolean
provider: string
voice_name: string
support_locale: boolean
status: string
creator_username: string | null
created_at: string
source_type: string | null
is_customer: boolean
acl: any | null
default_ac: any | null
user_voice_clone_id: string
}[]
page: number
total: number
recommendations: {
category: string | null
language: string
}
}
Specific Voice Response (when voice_id is specified):
{ // TypeScript, all fields are optional
voice: {
voice_id: string
default_voice_engine: string | null
voice_engines: string[]
labels: string[]
language: string
flag: string
locale: string
sort: number
gender: string
display_name: string
preview: {
movio: string
}
settings: {
clone_emotions: {
id: string
icon: string
name: string
voice_source_url: string
preview_audio_url: string
}[]
elevenlabs_settings: {
style: number
model_id: string
stability: number
similarity_boost: number
use_speaker_boost: boolean
}
}
ssml: {
style: string[]
lang: string[]
break_: boolean
prosody: string[]
emphasis: string
say_as: any[]
}
is_favorite: boolean
support_realtime: boolean
emotion_support: boolean
provider: string
voice_name: string
support_locale: boolean
status: string
creator_username: string | null
created_at: string
source_type: any | null
is_customer: boolean
acl: any | null
default_ac: any | null
user_voice_clone_id: string
}
default_voice_engine_settings: {
elevenLabs: {
engine_type: string
model_id: string
stability: number
similarity: number
style: number
use_speaker_boost: boolean
}
azure: {
engine_type: string
}
}
}
Examples
-
curl "https://api.useapi.net/v1/heygen/tts/[email protected]" \ -H "Accept: application/json" \ -H "Authorization: Bearer β¦" -
const token = "API token"; const email = "Previously configured account email"; const apiUrl = `https://api.useapi.net/v1/heygen/tts/voices?email=${email}`; const response = await fetch(apiUrl, { headers: { "Authorization": `Bearer ${token}`, }, }); const result = await response.json(); console.log("response", {response, result}); -
import requests token = "API token" email = "Previously configured account email" apiUrl = f"https://api.useapi.net/v1/heygen/tts/voices?email={email}" headers = { "Authorization" : f"Bearer {token}" } response = requests.get(apiUrl, headers=headers) print(response, response.json())