Text-to-Speech API

Turn text into natural speech with one API call

The text-to-speech API turns text into natural-sounding audio from a single request. This page takes you from an API key to saved audio in a few minutes, then points to the streaming, voice, and SSML guides once you have the basics working.

1

Get your API key

  1. Sign up at platform.speechify.ai
  2. Go to API Keys
  3. Copy your default API key (or create a new one)
$export SPEECHIFY_API_KEY="your-api-key-here"

API keys are sensitive. Never expose them in client-side code or public repositories. See the Authentication guide for security best practices.

2

Install the SDK

$pip install speechify-api
Prefer raw HTTP? No install needed. Use the cURL tab in the examples below.
3

Generate speech

Send text to POST /v1/audio/speech. These examples come straight from the SDKs and the live spec:

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}'

A successful call returns the audio payload:

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}
The SDKs return decoded audio bytes. The raw HTTP response base64-encodes the audio in the audio_data field, so decode it before saving.

Request essentials

The speech endpoint takes a small, predictable set of fields.

FieldRequiredNotes
inputYesThe text (or SSML) to speak. Up to 2,000 characters on the speech endpoint.
voice_idYesA built-in, curated, or cloned voice ID.
modelNoDefaults to simba-english. Use simba-3.2 for new English integrations.
audio_formatNoOutput format such as mp3 or wav.
For new integrations, set model: "simba-3.2" and pass one of its curated voices (beatrice_32, dominic_32, edmund_32, geffen_32, harper_32, hugh_32, imogen_32, wyatt_32) as the voice_id. See Models.

Choose a voice

List the built-in voices and pass an id as the voice_id:

GET
/v1/voices
1curl https://api.speechify.ai/v1/voices \
2 -H "Authorization: Bearer <token>"

Popular built-in voices: george, henry, carly, sabrina. You can also clone a voice from a short sample.

Next steps