Voice Cloning Quickstart

Clone a voice and synthesize with it in minutes

The fastest path to a working cloned voice: a short sample, a consent record, one create call, and you are synthesizing in the new voice.

Cloning requires the speaker’s consent. You will pass a consent record with a full name and email on the create call.
1

Set your API key

$export SPEECHIFY_API_KEY="your-api-key-here"
2

Record a sample

Capture 10-30 seconds of clean speech, under a minute and under 5MB. Avoid background noise.

3

Create the voice

POST
/v1/voices
1curl -X POST https://api.speechify.ai/v1/voices \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: multipart/form-data" \
4 -F avatar=@<file1> \
5 -F consent="string" \
6 -F gender="male" \
7 -F name="string" \
8 -F sample=@string

Keep the voice_id from the response.

4

Synthesize

Pass the voice_id to the speech endpoint:

POST
/v1/audio/speech
1curl -X POST https://api.speechify.ai/v1/audio/speech \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "input": "Hello! This is the Speechify text-to-speech API.",
6 "voice_id": "geffen_32",
7 "audio_format": "mp3",
8 "model": "simba-3.2"
9}'
Response
1{
2 "audio_data": "example",
3 "audio_format": "wav",
4 "billable_characters_count": 10,
5 "speech_marks": {
6 "chunks": [
7 {}
8 ],
9 "end": 1,
10 "end_time": 1,
11 "start": 1,
12 "start_time": 1,
13 "type": "example",
14 "value": "example"
15 }
16}
Use simba-english or simba-multilingual for cloned voices. The curated simba-3.2 set does not play cloned voices.

Next steps