Developer
TTS Now API
Integrate text-to-speech into your apps, websites, and workflows. The API is currently free with rate limiting (20 requests/minute). API keys coming with Pro plan.
API Status: Free (Rate Limited)
The API is currently open and free to use with rate limiting (20 requests per minute per IP). No API key required yet. Authentication and API keys will be added with the Pro plan.Contact us →
Step 1
Quick start (no key needed)
How to get your API key
API keys are available on the Pro plan ($9/month) and above. Once you subscribe, your API key will appear in your dashboard.
1. Subscribe to the Pro plan ($9/month)
2. Go to your dashboard (coming soon)
3. Copy your API key (starts with ttsnow_)
4. Use the key in your API requests (see below)
Step 2
Quick start
Convert text to speech
Send a POST request to /api/tts with your API key:
cURL
curl -X POST https://ttsnow.vercel.app/api/tts \
-H "Authorization: Bearer ttsnow_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello world!",
"voice": "en-US-AriaNeural",
"format": "mp3"
}' \
--output speech.mp3JavaScript
const response = await fetch('https://ttsnow.vercel.app/api/tts', {
method: 'POST',
headers: {
'Authorization': 'Bearer ttsnow_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: 'Hello world!',
voice: 'en-US-AriaNeural',
format: 'mp3'
})
});
const blob = await response.blob();
const url = URL.createObjectURL(blob);
const audio = new Audio(url);
audio.play();Python
import requests
response = requests.post(
'https://ttsnow.vercel.app/api/tts',
headers={
'Authorization': 'Bearer ttsnow_your_api_key',
'Content-Type': 'application/json'
},
json={
'text': 'Hello world!',
'voice': 'en-US-AriaNeural',
'format': 'mp3'
}
)
with open('speech.mp3', 'wb') as f:
f.write(response.content)Reference
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | Yes | Text to convert (max 50,000 chars on Pro) |
| voice | string | Yes | Voice ID (e.g., en-US-AriaNeural) |
| speed | number | No | Speech rate (0.5 to 2.0, default: 1.0) |
| pitch | number | No | Pitch offset (-50 to +50 Hz, default: 0) |
| format | string | No | Output format: mp3, wav, or mp4 |
Limits
Rate limits
10K
requests/month (Pro)
1M+
requests/month (Enterprise)
50K
characters per request (Pro)