Stream cloned speech
Start a streaming voice clone session.
Returns a session_id immediately. Connect to
GET /api/v1/streaming/{session_id}/audio to receive chunked WAV audio
as it is generated. Call POST /api/v1/streaming/{session_id}/finalize
when done to get the complete audio as base64.
Cancels any in-progress generation to prioritize the stream.
application/json- body
ref_audio_base64?|Base64-encoded reference audio (WAV). Optional if voice_id is provided.
ref_text?Ref TextTranscript of the reference audio
""target_text*Target TextText to generate speech for
language?LanguageTarget language. Query GET /api/v1/models/active for supported languages per variant.
"Auto"voice_id?|Voice ID for prompt caching. If provided, saved audio is used as fallback when ref_audio_base64 is omitted.
quality?|Quality/variant tier. Query GET /api/v1/models/active for available tiers.
generation_params?|Advanced sampling parameters
model_family?|TTS model to use. If omitted, uses the currently configured model. Triggers auto-load if needed.
emotion?|Emotion to apply. If set and not 'neutral', uses emotional clone. Query GET /api/v1/models/active for supported emotions.
intensity?|Emotion intensity (very_mild/mild/normal/strong/extreme). Defaults to 'normal' when emotion is set.
Successful Response
application/json- response
started*StartedWhether the streaming session was created
session_id*Session IdUnique session ID for streaming endpoints
queue_position*Queue PositionPosition in the generation queue
curl -X POST 'http://127.0.0.1:8100/api/v1/generation/clone/stream' \ -H 'Content-Type: application/json' \ -d '{ "target_text": "Welcome to the voice cloning demo."}'{ "started": true, "session_id": "a1b2c3d4", "queue_position": 0}Generate cloned speech POST
Clone a voice from reference audio or a saved voice ID. Provide `ref_audio_base64` with a 3-15 second WAV clip of clear speech, plus `ref_text` (the transcript of that audio) for best quality. Alternatively, provide a `voice_id` from the voice library — the saved audio is used automatically, and `ref_audio_base64` can be omitted. Use `?sync=true` to block until audio is ready (up to 600s). Otherwise, poll `GET /api/v1/generation/progress` and `GET /api/v1/generation/result`.
Generate designed speech POST
Generate speech using a natural language voice description. Describe the desired voice in `instruct_text` (e.g. 'a deep male voice with an American accent, speaking confidently'). The model creates a new voice matching the description each time — results vary between calls. To reuse a designed voice, save it via `POST /api/v1/voices` and use `POST /api/v1/generation/design/saved` instead.