Turn any text into natural studio-quality speech in 11 Indian languages — from your own app, script, bot or workflow. Same engine that powers DetheAI.
Generate your first voiceover in 30 seconds. Get a key from the API console (Pro & Business plans), then:
curl -X POST https://www.dethe.in/api/v1/tts \
-H "Authorization: Bearer dth_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "नमस्ते! यह DetheAI की आवाज़ है।",
"voice": "priya",
"languageCode": "hi-IN"
}' | jq -r .audioBase64 | base64 -d > voice.mp3Every request needs your API key in the Authorization header. Keys are issued instantly on the API console after upgrading to Pro or Business.
Authorization: Bearer dth_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
🔒 Keep your key secret — anyone holding it can spend your credits. Revoke & reissue anytime from the console.
| Method | Endpoint | What it does |
|---|---|---|
| POST | /api/v1/tts | Text → speech (returns base64 MP3) |
| GET | /api/v1/voices | All 37 voices + 11 languages (no auth) |
| POST | /api/keys/issue | Issue a key (needs payment proof — console does this) |
| POST | /api/keys/info | Check key balance & expiry |
| POST | /api/keys/revoke | Permanently delete a key |
| Field | Type | Notes |
|---|---|---|
| text required | string | 1–3,000 characters per request |
| voice | string | Any of the 37 voices below. Default: shubh |
| languageCode | string | hi-IN (default), en-IN, ta-IN, te-IN, mr-IN, bn-IN, gu-IN, pa-IN, kn-IN, ml-IN, od-IN |
| speed | number | 0.5 – 2.0, default 1.0 |
{
"audioBase64": "//uQxAAAAAABJRU5ErkJggg==…", // base64 MP3
"mimeType": "audio/mpeg",
"provider": "sarvam", // sarvam | edge | google-translate
"voice": "priya",
"languageCode": "hi-IN",
"words": 7,
"creditsUsed": 500,
"creditsRemaining": 49500,
"plan": "Pro"
}500 credits per 100-word block (min 500/request). Pro = 50,000/month, Business = 200,000/month — credits refill automatically every 30 days.
Max 3,000 characters. Keys stay valid while your plan is active (monthly = 30 days, yearly = 365 days).
If synthesis fails, credits are auto-refunded. You only pay for audio you actually receive.
| Status | code | Meaning |
|---|---|---|
| 401 | unauthorized / invalid_key / key_expired | Missing, wrong or expired key |
| 400 | empty_text | text field missing |
| 413 | text_too_long | Over 3,000 characters — split the text |
| 402 | insufficient_credits | Monthly quota over — upgrade plan |
| 503 | synthesis_failed / storage_unavailable | Temporary — retry, credits refunded |
const r = await fetch(
"https://www.dethe.in/api/v1/tts",
{
method: "POST",
headers: {
Authorization: "Bearer dth_live_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
text: "Welcome to DetheAI!",
voice: "aditya",
languageCode: "en-IN",
}),
}
).then((x) => x.json());
const audio = new Audio(
"data:" + r.mimeType +
";base64," + r.audioBase64
);
audio.play();import requests, base64
r = requests.post(
"https://www.dethe.in/api/v1/tts",
headers={"Authorization":
"Bearer dth_live_KEY"},
json={
"text": "नमस्ते दोस्तों!",
"voice": "priya",
"languageCode": "hi-IN",
},
).json()
with open("voice.mp3", "wb") as f:
f.write(base64.b64decode(
r["audioBase64"]))14 female + 23 male ultra-realistic voices. Try them all on the DetheAI studio before you pick.
API access is included with Pro (₹799/mo) and Business (₹2,499/mo) — same credits work on the website and the API.