Skip to main content
HeyGen provides 300+ pre-built voices across dozens of languages, plus the ability to generate custom AI voices from a text description, clone an existing speaker, or synthesize speech directly. This guide walks the full browse → design → use workflow; deeper guides for each step live at Browse Voices, Design Voices, and Text to Speech.

Step 1: Browse Available Voices

Use GET /v3/voices to list available voices with cursor-based pagination. Filter by language, gender, type, or engine.
Response

Query Parameters

Response Fields

Each voice includes a preview_audio_url — play these to audition voices before using one in your video.

Step 2: Design a Custom Voice (Optional)

If none of the pre-built voices fit, use POST /v3/voices to generate up to 3 AI voice options from a text description. The endpoint returns a ranked list — pick the one that fits best. For more detail and prompting patterns, see Design Voices. To clone an existing speaker from audio samples instead, use POST /v3/voices/clone.
Response

Parameters

Prompting tips for voice design:
  • Specify gender and approximate age ("young woman in her 20s", "mature male voice")
  • Describe the accent ("American Midwest", "slight French accent")
  • Set the tone ("warm and friendly", "authoritative", "playful")
  • Mention pacing ("measured and calm", "energetic and fast")
  • Reference a use case ("suitable for corporate training", "good for storytelling")

Step 3: Use a Voice in Video Creation

Once you have a voice_id, pass it when creating a video. To render speech directly without an avatar, use Text to Speech (POST /v3/voices/speech).

With Video Agent

With Direct Video Creation

Set the voice alongside your avatar and script:

Voice Settings

When using POST /v3/videos, you can fine-tune playback via voice_settings: