🔌 Text-to-Speech API

Add natural-sounding voices to your apps, websites, and products. Simple REST API. Start building in minutes.

What can you build?

🎧
Audiobooks & Podcasts
Convert articles and books to audio
🤖
Voice Assistants
Add voice to chatbots and AI apps
🎬
Video Voiceovers
Generate narration for videos
Accessibility
Make content accessible to all
# Generate speech with one API call
curl -X POST https://cheaptts.com/api/v1/synthesize \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{"text": "Hello world!", "voice": "en-US-AriaNeural"}'
🎙️
500+ Voices

Natural-sounding neural voices in 153 languages. Male, female, and child voices available.

🎭
Emotion Control

47 voices support emotions like cheerful, sad, angry, excited, and more via SSML.

👥
Multi-Speaker

Create dialogues with multiple voices in a single request. Perfect for podcasts.

Fast & Reliable

Streaming support for real-time playback. High availability with 99.9% uptime.

📄
Subtitles

Get word-level timestamps and SRT/VTT subtitle files with your audio.

🔧
Easy Integration

Simple REST API. Embeddable widget with copy-paste code. Works everywhere.

✅ All plans include: API Keys, Embeddable Widget, Public Widget URL, Full API Docs, All 500+ Voices

Choose Your Plan

STARTER
$5/mo

Perfect for side projects & MVPs

  • 100,000 characters/month
  • API Key access
  • Embeddable widget
  • All 500+ voices
  • Email support
Sign Up for Starter - $5/mo
ENTERPRISE
Custom

Need more than 500K chars/month?

  • Unlimited characters
  • Volume discounts
  • Dedicated support
  • Custom SLA
  • Invoice billing
Contact Sales

💡 Looking to use TTS on this website instead?
The $7.99/month web plan gives you unlimited access to our online TTS tool.

📡 API Endpoints

POST /api/v1/synthesize

Convert text to speech. Returns JSON with audio URL. Supports SSML for emotions and multi-speaker dialogues.

GET /api/voices

List all 500+ available voices with language, gender, and emotion support info.

📚 Full API documentation available after signup in your dashboard.

💻 Code Examples

🐍 Python
import requests

# Step 1: Generate the audio
response = requests.post(
    "https://cheaptts.com/api/v1/synthesize",
    headers={"X-API-Key": "your_api_key"},
    json={
        "text": "Hello, welcome to my app!",
        "voice": "en-US-AriaNeural"
    }
)

data = response.json()
if data["success"]:
    # Step 2: Download the audio file
    audio = requests.get(data["audio_url"])
    with open("output.mp3", "wb") as f:
        f.write(audio.content)
JavaScript
// Step 1: Generate the audio
const response = await fetch("https://cheaptts.com/api/v1/synthesize", {
    method: "POST",
    headers: {
        "X-API-Key": "your_api_key",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        text: "Hello, welcome to my app!",
        voice: "en-US-AriaNeural"
    })
});

const data = await response.json();
if (data.success) {
    // Step 2: Play or download the audio
    const audio = new Audio(data.audio_url);
    audio.play();
}

❓ Quick Questions

What do I get when I subscribe?

Instantly! You'll get access to your API keys, embeddable widget code, and a public widget URL you can share. Start integrating TTS into your app right away.

What happens if I hit my character limit?

API calls will return an error. You can upgrade to Pro for 5x more characters, or wait for your limit to reset next month.

Can I cancel anytime?

Yes! Cancel anytime from your account settings. No questions asked.