Voices
List saved voices
GET
Return all saved voices, optionally filtered by type (clone or design).
voice_type?|Filter by voice type: 'clone' or 'design'
Successful Response
application/json- response
voices*array<>List of saved voices
curl -X GET 'http://127.0.0.1:8100/api/v1/voices'Example Response
{ "voices": [ { "id": "a1b2c3d4", "name": "My Custom Voice", "transcript": "Hello, this is a sample of my voice.", "ref_text": "string", "voice_type": "clone", "created_at": "2026-01-15T10:30:00Z", "duration_seconds": 8.5, "has_voice_clone_prompt": false, "word_timestamps": [ {} ], "transcript_manual": true, "created_with_model": "string", "starter_key": "string", "source": { "task_id": "string", "start": 0, "end": 1 } } ]}Finalize streaming session POST
Collect all streamed audio into a complete WAV and return as base64. Waits for generation to complete, concatenates all chunks, stores the result as the last generation result, and removes the session. Call this after the audio stream finishes to get the full audio.
Save voice to library POST
Save a new voice (audio + transcript) to the voice library. Clone audio can be up to 30 seconds long. A clone longer than 15 seconds is cut to 15 seconds or less, on sentence ends where it can, and the response carries the cut voice.