API Reference
Voice Cloning
BetaCreate a personalised voice from a short audio sample. Returns a voice_id you can pass to the TTS endpoint to synthesize speech in the cloned voice.
Endpoint
POST /v1/voice-clone/
Upload 6–30 seconds of clean reference audio as multipart/form-data. On success the response includes a voice_id that can be passed straight to TTS. Returns HTTP 201.
Authentication
Pass your API key in the xi-api-key header. See Authentication.
Form fields
| Field | Type | Required | Description |
|---|---|---|---|
audio | file | Yes | Reference audio (WAV, MP3, WebM). 6–30 seconds recommended. Maximum 50 MB. |
name | string | No | Display name for the cloned voice. Defaults to "Cloned Voice". Truncated to 100 characters. |
Response
json
{
"voice_id": "clone-9f3a1c4b",
"name": "My Brand Voice",
"status": "ready"
}Examples
bash
curl -X POST https://sauti.finiflowlabs.com/v1/voice-clone/ \
-H "xi-api-key: YOUR_KEY" \
-F "audio=@reference.wav;type=audio/wav" \
-F "name=My Brand Voice"python
import requests
with open("reference.wav", "rb") as f:
response = requests.post(
"https://sauti.finiflowlabs.com/v1/voice-clone/",
headers={"xi-api-key": "YOUR_KEY"},
files={"audio": ("reference.wav", f, "audio/wav")},
data={"name": "My Brand Voice"},
)
response.raise_for_status()
print(response.json())Limits & errors
413— audio file exceeds 50 MB.422— invalid or too-short audio.429— rate limit exceeded. See Rate Limits.
Try it interactively in the Voice Clone playground.