Instant Cloning (/v1/voices/clone)
Clone a custom voice from a short audio sample and use it like any built-in voice in subsequent text-to-speech calls.
Upload a WAV or MP3 file (max 25 MB). The server extracts a speaker embedding and returns a custom voice ID with the uc_ prefix that can be passed directly to POST /v1/text-to-speech (and any other endpoint that accepts a voice_id). The original audio is uploaded to S3 in the background after the response is returned.
Limits
- Audio file: max 25 MB. Supported formats: WAV, MP3.
- Audio duration: 5 to 150 seconds.
- Voice name: 1-30 characters.
- Model:
ssfm-v21orssfm-v30. The cloned voice is bound to this engine model. - Each plan has a maximum number of active custom voices (the
custom_voice_slot). UseDELETE /v1/voices/{voice_id}to free a slot.
Typical flow
POST /v1/voices/clonewith the sample audio → receivevoice_id(e.g.uc_64a1b2...).POST /v1/text-to-speechwithvoice_idset to the cloned ID.DELETE /v1/voices/{voice_id}when you no longer need the voice.
/v1/voices/cloneAuthorizations
X-API-KEYstringheaderrequiredAPI key for authentication. You can obtain an API key from the Typecast API Console.
Multipart request body for instant cloning.
filestringrequiredAudio sample. WAV or MP3, max 25 MB, 5-150 seconds.
namestringrequiredVoice name (1-30 characters).
modelssfm-v21 | ssfm-v30requiredEngine model to clone the voice for.
ssfm-v21ssfm-v30Response
200Successful Response - Custom voice createdapplication/json
namestringHuman-readable voice name (1-30 characters).
modelssfm-v30 | ssfm-v21Engine model the voice was cloned for (ssfm-v21 or ssfm-v30).
ssfm-v30ssfm-v21statuspending | training | completed | failed생성/학습 상태
pendingtrainingcompletedfailedvoice_idstringCustom voice identifier with the uc_ prefix. Use this value as voice_id in POST /v1/text-to-speech and other endpoints that accept voice_id.