> ## Documentation Index
> Fetch the complete documentation index at: https://heygen-1fa696a7.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Browse Voices

> List and filter HeyGen voices by language, gender, accent, and age. Returns voice IDs ready to use in video generation requests across all HeyGen video APIs.

<img className="w-full h-44 object-cover rounded-xl" src="https://mintcdn.com/heygen-1fa696a7/hfMXXwJzjE7vBSYZ/images/theme/research-2.webp?fit=max&auto=format&n=hfMXXwJzjE7vBSYZ&q=85&s=d6ee10585b27ddaf8137d6ed67791708" alt="" noZoom width="1400" height="788" data-path="images/theme/research-2.webp" />

List voices via [`GET /v3/voices`](/reference/list-voices); inspect one via [`GET /v3/voices/{voice_id}`](/reference/get-voice). To create a new voice instead, see [Design Voices](/docs/voices/design-voices) or [Instant Voice Clone](/docs/voices/heygen-voice-instant-clone). For TTS on a catalog voice, see [Third Party Speech](/docs/voices/speech).

## Quick Example

<CodeGroup>
  ```bash curl theme={null}
  curl -X GET "https://api.heygen.com/v3/voices?language=English&gender=female&limit=5" \
    -H "X-Api-Key: $HEYGEN_API_KEY"
  ```

  ```json Response theme={null}
  {
    "data": [
      {
        "voice_id": "1bd001e7e50f421d891986aad5c8bbd2",
        "name": "Sara",
        "language": "English",
        "gender": "female",
        "type": "public",
        "preview_audio_url": "https://files.heygen.ai/voice/preview_sara.mp3",
        "support_pause": true,
        "support_locale": true
      }
    ],
    "has_more": true,
    "next_token": "eyJsYXN0X2lkIjoiMTIzIn0"
  }
  ```
</CodeGroup>

## Query Parameters

| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `type` | string | No | `"public"` | `"public"` for the shared library or `"private"` for your cloned voices. |
| `engine` | string | No | — | Filter by speech engine: `"orca"` (HeyGen Voice), `"starfish"`, or `"elevenlabs"`. Only compatible voices are returned. |
| `language` | string | No | — | Filter by language (e.g. `"English"`, `"Spanish"`). |
| `gender` | string | No | — | Filter by `"male"` or `"female"`. |
| `limit` | integer | No | `20` | Results per page (1–100). |
| `token` | string | No | — | Opaque cursor token for the next page (from a previous response's `next_token`). |

## Response Fields

Each voice object in the `data` array contains:

| Field | Type | Description |
| - | - | - |
| `voice_id` | string | Unique identifier. Pass this to [`POST /v3/voices/speech`](/reference/generate-speech), [`POST /v3/videos`](/reference/create-video), or [`POST /v3/video-agents`](/reference/create-video-agent-session). |
| `name` | string | Display name of the voice. |
| `language` | string | Primary language (e.g. `"English"`). |
| `gender` | string | `"male"` or `"female"`. |
| `type` | string | `"public"` (shared library) or `"private"` (your cloned voice). |
| `preview_audio_url` | string or null | URL to a short audio preview. |
| `support_pause` | boolean | Whether the voice supports `<break>` pause tags. |
| `support_locale` | boolean | Whether the voice supports locale variants (e.g. `en-US` vs `en-GB`). |

## Filtering Examples

### By Language

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

### By Gender

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

### Your Private (Cloned) Voices

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

### Voices for one engine

Every catalog voice works with [`POST /v3/voices/speech`](/reference/generate-speech). To list the voices a given [engine](/docs/voices/speech#engines) can speak, filter by it; each voice also reports `available_engines` and `default_engine`:

```bash curl theme={null}
curl -X GET "https://api.heygen.com/v3/voices?engine=elevenlabs" \
  -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.

```bash curl theme={null}
curl -X GET "https://api.heygen.com/v3/voices?token=eyJsYXN0X2lkIjoiMTIzIn0" \
  -H "X-Api-Key: $HEYGEN_API_KEY"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.