> 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.

# Create voice

POST https://api.hume.ai/v0/tts/voices
Content-Type: application/json

Saves a new custom voice to your account using the specified TTS generation ID.

Once saved, this voice can be reused in subsequent TTS requests, ensuring consistent speech style and prosody. For more details on voice creation, see the [Voices Guide](/docs/text-to-speech-tts/voices).

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

## Authentication

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

## Request

### Body (application/json)

This endpoint expects an OctaveVoiceDesignSaveArgs.

- `generation_id` (string, required) — A unique ID associated with this TTS generation that can be used as context for generating consistent speech style and prosody across multiple requests.
- `name` (string, required) — The name of a **Voice**.

## Response

### 200

Successful Response

- `id` (string, required, nullable) — The unique ID associated with the **Voice**.
- `name` (string, required) — The name of a **Voice**.
- `provider` (enum, required) — Specifies the source provider associated with the chosen voice. - **`HUME_AI`**: Select voices from Hume's [Voice Library](https://app.hume.ai/tts/voice-library), containing a variety of preset, shared voices. - **`CUSTOM_VOICE`**: Select from voices you've personally generated and saved in your account. If no provider is explicitly set, the default provider is `CUSTOM_VOICE`. When using voices from Hume's **Voice Library**, you must explicitly set the provider to `HUME_AI`. Preset voices from Hume's **Voice Library** are accessible by all users. In contrast, your custom voices are private and accessible only via requests authenticated with your API key.
  - Allowed values: `HUME_AI`, `CUSTOM_VOICE`

## Errors

### 422 Unprocessable Entity Error

Validation Error

- `detail` (list of ValidationError, optional)

## Types

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### ValidationErrorLocItems

## Examples

**Request**

```json
{
  "generation_id": "",
  "name": "David Hume"
}
```

**Response**

```json
{
  "id": "c42352c0-4566-455d-b180-0f654b65b525",
  "name": "David Hume",
  "provider": "CUSTOM_VOICE"
}
```