Convert speech to a target voice
Convert the speaker identity of source audio to a target voice.
Keeps the words, timing, and prosody of the source recording while
re-rendering it in the target speaker's voice (zero-shot, via the
Chatterbox S3Gen stack). Provide either target_voice_id (saved
library voice) or target_audio_base64 (6-10s of clean speech).
Use ?sync=true to block until audio is ready. Otherwise poll
GET /api/v1/conversion/progress and GET /api/v1/conversion/result.
sync?SyncWait for conversion to complete and return audio directly
falseapplication/json- body
source_audio_base64*Source Audio Base64Base64-encoded source audio (WAV) whose speech will be converted
target_voice_id?|Saved library voice to convert to. Either this or target_audio_base64 is required.
target_audio_base64?|Base64-encoded target reference audio (WAV), 6-10 seconds of clean speech
model_family?|Voice conversion model. Query GET /api/v1/conversion/models for options. Defaults to chatterbox.
cfg_rate?|Classifier-free guidance strength for the S3Gen flow. Higher pushes harder toward the target voice. Defaults to 0.7.
steps?|Flow-matching diffusion steps. More steps can sound smoother but take longer. Defaults to 10.
Conversion started (async) or completed result (sync).
application/json- response
started*StartedWhether the generation job was enqueued
queue_position*Queue PositionPosition in the generation queue (0 = next to run)
curl -X POST 'http://127.0.0.1:8100/api/v1/conversion/convert' \ -H 'Content-Type: application/json' \ -d '{ "source_audio_base64": "UklGRi4AAABXQVZFZm10IBAAAA..."}'{ "started": true, "queue_position": 0}