Clone a voice
/voices /cloneClone a voice from an audio recording. Send audio as a base64-encoded string. The cloned voice will be available in GET /voices.
Request body
application/jsonaudiostringrequiredBase64-encoded audio data (max ~7.5MB decoded)
at most 10000000 characters
contentTypeenum (6 values)requiredMIME type of the audio
Possible values
"audio/webm""audio/wav""audio/mpeg""audio/ogg""audio/mp4""video/webm"namestringrequiredName for the cloned voice
at least 1 character
languageenum (8 values)requiredLanguage of the voice
"en"English
"fr"French
"es"Spanish
"de"German
"it"Italian
"pt"Portuguese
"ru"Russian
"zh"Mandarin Chinese
Response
201idstringRevox's internal ID of the cloned voice record. The other endpoints use cartesiaVoiceId instead.
cartesiaVoiceIdstringID of the voice at Cartesia, which hosts cloned voices: the voice's id in
GET /voicesand the {id} ofDELETE /voices/{id}. Give the voice to an assistant with voice.provider 'cartesia' and this value as voice.id.namestringName of the cloned voice.
languagestringLanguage of the voice.
createdAtstringWhen the voice was cloned (ISO 8601).
Errors
- 400Invalid request: a field or parameter failed validation
{ "message"?: string, "error"?: string, "bodyErrors"?: {…} } - 401Missing or invalid API key
{ "message"?: string, "error"?: string, "bodyErrors"?: {…} } - 502An upstream provider failed
{ "message"?: string, "error"?: string, "bodyErrors"?: {…} }
Error bodies carry an error (or message) string; a 400 adds bodyErrors.issues. See Errors.