> This page is for Voice APIs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://dev.hume.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://dev.hume.ai/_mcp/server.

# List voices

GET https://api.hume.ai/v0/tts/voices

Lists voices you have saved in your account, or voices from the [Voice Library](https://app.hume.ai/tts/voice-library).

Reference: https://dev.hume.ai/voice/reference/voices/list

## Authentication

- `X-Hume-Api-Key` header (required) — API Key authentication via header

## Request

### Query parameters

- `provider` (enum, required) — Specify the voice provider to filter voices returned by the endpoint: - **`HUME_AI`**: Lists preset, shared voices from Hume's [Voice Library](https://app.hume.ai/tts/voice-library). - **`CUSTOM_VOICE`**: Lists custom voices created and saved to your account.
  - Allowed values: `HUME_AI`, `CUSTOM_VOICE`
- `page_number` (integer, optional, default: 0) — Specifies the page number to retrieve, enabling pagination. This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items 10-19), and so on. Defaults to 0, which retrieves the first page.
- `page_size` (integer, optional) — Specifies the maximum number of results to include per page, enabling pagination. The value must be between 1 and 100, inclusive. For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
- `ascending_order` (boolean, optional)
- `filter_tag` (list of string, optional) — Filter voices by tag using `TAG:TAG_VALUE` syntax. For example, `GENDER:Male` returns only voices with the `GENDER` tag set to `Male`. Tag types are case-insensitive; tag values are case-sensitive. Multiple values are ANDed together; for example, `[GENDER:Male, LANGUAGE:Japanese]` returns only voices matching both criteria.

## Response

### 200

Success

- `page_number` (integer, required) — The page number of the returned list. This value corresponds to the `page_number` parameter specified in the request. Pagination uses zero-based indexing.
- `page_size` (integer, required) — The maximum number of items returned per page. This value corresponds to the `page_size` parameter specified in the request.
- `total_pages` (integer, required) — The total number of pages in the collection.
- `voices_page` (list of return_voice_octave_public, required) — List of voices returned for the specified `page_number` and `page_size`.

## Types

### return_voice_octave_public

An Octave voice available for text-to-speech

- `id` (string, required) — ID of the voice in the `Voice Library`.
- `name` (string, required) — Name of the voice in the `Voice Library`.
- `provider` (enum, required) — The provider associated with the created voice. Voices created through this endpoint will always have the provider set to `CUSTOM_VOICE`, indicating a custom voice stored in your account.
  - Allowed values: `HUME_AI`, `CUSTOM_VOICE`
- `compatible_octave_models` (list of string, optional)

## Examples

**Response**

```json
{
  "page_number": 0,
  "page_size": 10,
  "total_pages": 1,
  "voices_page": [
    {
      "id": "c42352c0-4566-455d-b180-0f654b65b525",
      "name": "David Hume",
      "provider": "CUSTOM_VOICE"
    },
    {
      "id": "d87352b0-26a3-4b11-081b-d157a5674d19",
      "name": "Goliath Hume",
      "provider": "CUSTOM_VOICE"
    }
  ]
}
```