Or jump from this list on a smaller screen.
This is a page from the Audivra documentation. Developer exports — index: http://127.0.0.1:3000/docs/llms.txt, full corpus: http://127.0.0.1:3000/docs/llms-full.txt, OpenAPI: http://127.0.0.1:3000/docs/openapi.json, Postman: http://127.0.0.1:3000/docs/postman.json. Press ⌘K to search docs.
Voice cloning
Instant (short samples) or professional (multi-sample) custom voices on paid plans.
Custom voice slots
Each voice clone you create consumes one custom voice slot on your plan. Deleting a clone frees the slot. Preset library voices do not use slots.
Instant cloning requires Starter or above. Professional multi-sample cloning requires Creator Pro or Developer. Free tier cannot create clones.
- Starter: 1 custom voice slot · instant only
- Creator: 3 slots · instant + professional
- Developer: 10 slots · instant + professional
- Free: cloning not available
Clone creation uses a slot — not credits. TTS and video generation with a ready clone consume credits like any other voice.
/api/voices/cloneMultipart upload. Instant: 1–5 WAV/MP3 samples (5–10s each). Professional (Creator+): 5–25 files covering 2–30 minutes. Pass kind=professional and consent=true (stores a versioned consent record). Bearer sk_live_… or dashboard session.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | No | Display name for the clone |
| kind | string | No | instant (default) or professional |
| sample / samples | file | Yes | Audio samples (WAV/MP3). Instant: under 8 MB each. Professional: under 32 MB each. |
| engine | string | No | f5-tts (default) or xtts-v2 |
| consent | boolean | Yes | Must be true — stores a versioned voice-consent record |
| language | string | No | ISO language code (default: en) |
| webhook_url | string | No | Optional POST URL for clone.ready / clone.failed (falls back to dashboard default) |
Response
{
"clone": {
"id": "3f2c9a1e-…",
"name": "Founder voice",
"status": "queued",
"kind": "instant",
"engine": "f5-tts"
},
"voice_id": "3f2c9a1e-…",
"kind": "instant",
"samples_uploaded": 2,
"poll": "/api/voices/clone"
}Errors
| Status | Meaning |
|---|---|
| 401 | Missing session or API key |
| 402 | Free plan, slot limit, or professional cloning not on this tier |
Use the clone as voice_id
When status is ready, pass the clone UUID as voice_id to TTS and the unified generate API. Ready clones also appear in GET /api/v1/voices.
curl -X POST /api/v1/tts \
-H "Authorization: Bearer sk_live_…" \
-d '{"text":"Hello from my clone","voice_id":"<clone uuid>","model":"f5-tts"}' \
--output speech.wavGET /api/voices/clone
List your voice clones, kind, progress, and training status.
PATCH /api/voices/clone/{id}
Rename a clone you own. The voice_id stays the same. Preview the training sample with GET /api/v1/voices/clone/{id}/sample.
DELETE /api/voices/clone/{id}
Delete a clone and free a custom voice slot. Removes stored samples, speaker artifacts, and marketplace listings.
Clone webhooks
Pass webhook_url on upload or set a default in Settings. Audivra POSTs clone.ready or clone.failed once. See Webhooks.
Related: Remix · Marketplace · Models.