Retrieve available TTS voices

July 4, 2025

Table of contents

  1. Request Headers
  2. Query Parameters
  3. Responses
  4. Model
  5. Examples
  6. Try It

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}
Query Parameters
  • email is optional when only one account configured.
    However, if you have multiple accounts configured, this parameter becomes required.
  • page is optional, defaults to 1 for pagination
  • limit is optional, defaults to 29, maximum 10000
  • language is optional, filter voices by language name
  • voice_id is optional, when specified returns details for a specific voice
Responses
  • 200 OK

    Voice List Response (when voice_id is 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_id is 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"
        }
      }
    }
    
  • 401 Unauthorized

    {
      "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())
    
Try It