Text-to-Speech API
Natural. Fast. Affordable.
Turn text into lifelike speech with 35+ AI voices in 9 languages. Streaming support, word-level timestamps, and up to 90% savings vs ElevenLabs.
Available voices
42+ voices across 9 languages
English (US)
Alloy
Neutral, balanced
Nova
Bright, friendly
Echo
Warm, conversational
Onyx
Deep, authoritative
Heart
Warm, engaging
Bella
Smooth, natural
Michael
Clear, professional
Aoede
Melodic, pleasant
Kore
Youthful, vibrant
Jessica
Friendly, approachable
Nicole
Polished, articulate
River
Calm, steady
Sarah
Warm, trustworthy
Sky
Light, airy
Eric
Confident, clear
Fenrir
Strong, resonant
Liam
Natural, versatile
Puck
Lively, expressive
Adam
Casual, relatable
Santa
Jolly, festive
English (UK)
Alice
Refined, elegant
Emma
Warm, natural
Isabella
Graceful, composed
Lily
Gentle, calming
Daniel
Confident, polished
Fable
Expressive, dynamic
George
Distinguished, clear
Lewis
Friendly, articulate
Japanese
Haruto
Clear, natural
Yuki
Soft, gentle
Chinese
Xiaobei
Clear, modern
Yunjian
Confident, natural
Spanish
Carlos
Warm, authoritative
Maria
Friendly, expressive
French
Pierre
Smooth, sophisticated
Amelie
Bright, engaging
Hindi
Arjun
Clear, professional
Priya
Warm, natural
Italian
Luca
Expressive, melodic
Giulia
Elegant, warm
Portuguese (BR)
Pedro
Friendly, clear
Ana
Warm, inviting
Code examples
OpenAI-compatible. Use your existing SDK — just change the base URL.
curl -X POST https://api.tryspeakeasy.io/v1/audio/speech \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Hello, welcome to SpeakEasy!",
"voice": "alloy"
}' \
--output speech.mp3from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.tryspeakeasy.io/v1"
)
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Hello, welcome to SpeakEasy!"
)
response.stream_to_file("speech.mp3")const res = await fetch('https://api.tryspeakeasy.io/v1/audio/speech', {
method: 'POST',
headers: {
Authorization: `Bearer ${'{'}apiKey{'}'}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'tts-1',
input: 'Hello, welcome to SpeakEasy!',
voice: 'alloy',
}),
});
const audioBlob = await res.blob();Built for developers
Drop-in Compatible
Works with OpenAI and ElevenLabs SDKs. Switch providers by changing one URL.
Real-time Streaming
Stream audio chunks as they're generated for instant playback in voice apps and chatbots.
Word Timestamps
Get precise timing for each word. Perfect for syncing speech with text animations.
Multiple Voices
35+ voices across 9 languages with different personalities. Choose the perfect tone for your app.
Multiple Formats
Output in MP3, Opus, AAC, FLAC, or WAV. Optimize for quality or file size.
90% Cheaper
Save up to 90% compared to ElevenLabs with comparable voice quality.
Text-to-Speech Pricing
~3.3 million characters included with your $10/month plan.
Additional usage at $0.25 per additional hour (~67K characters per hour).
View full pricing →Frequently asked questions
What voices are available?
What output formats are supported?
Is streaming supported?
How many characters can I convert per request?
Do you provide word-level timestamps?
How does this compare to OpenAI and ElevenLabs?
$1. 50 hours. Both STT and TTS.
Your current speech API provider is charging you too much. Switch in one line of code.