Voices
List available voices, and clone or design a new one from an audio sample or a prompt.
Voices power audio generation. You can use your own cloned voices, your team’s, or system presets — and create new ones by cloning from a sample or designing from a prompt.
List voices
GET /v1/voices
Returns your and your team’s voices plus system presets. The cursor paginates only the owned/team collection; the full preset catalog repeats on every page so you never merge partial catalogs.
| Query param | Default | Description |
|---|---|---|
presets |
true |
Set false to exclude system presets |
cursor |
— | Opaque cursor from the previous page — do not construct it |
limit |
all (legacy) | Owned/team voices per page (1–100); supplying it activates pagination |
{
"data": {
"voices": [
{ "id": "uuid", "name": "My Voice", "status": "ready", "source_type": "cloned" }
],
"presets": [
{ "id": "uuid", "name": "Aria", "status": "ready", "source_type": "preset" }
]
},
"meta": { "has_more": false }
}
Get a voice
GET /v1/voices/:id
Accessible for your own voices and presets. A voice owned by another user returns 403.
Clone or design a voice
POST /v1/voices/clone
Asynchronous — returns 201 with status: "processing". Poll GET /v1/voices/:id until ready or failed. Requires an Idempotency-Key.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name |
string | yes | — | 1–100 characters |
description |
string | no | — | Max 500 characters |
source_url |
string (URL) | yes for clone | — | An owned Someone HTTPS audio sample |
model |
enum | no | minimax |
minimax or qwen3 |
setup_mode |
enum | no | voice_clone |
voice_clone or voice_design |
webhook_url |
string | no | — | Held — returns 503 webhook_delivery_unavailable |