Xuquuqda API
Isticmaal TTS.ai codsiyadaaga oo leh API-keena REST. OpenAI-ka-qaybgal ah qaabka u dhaqaaqista fudud.
Aragtida guud
The TTS.ai API siiyaa access programmic si ay dhammaan astaamaha platform: qoraal-to-dhaqanka, hadal-to-dhaqanka, codka isku-dhafan, audio kordhinta, iyo in ka badan. API isticmaalaa REST standard heshiisyada la JSON codsiga / jawaabta jirka.
Fadlan dooro
Ka hesho furaha API ka Goobaha xisaabta. Laga heli karaa qorshayaasha Pro iyo Enterprise.
URL-ka aasaasiga ah
https://api.tts.ai/v1/
Awoodsiinta
Tallaabo qaade Authorization madaxa
Aaminaad
/v1/tts/ shaqeeyo aan waxba u baahnayn, ilaa 5,000 xaraf / maalin IP kasta, iyadoo la adeegsanayo mid ka mid ah moodooyinkayaga bilaashka ah (piper, vits, melotts, kokoro). Ku soo biir xisaab bilaash ah si aad u hesho 15,000 xarafka bonus iyo helitaanka moodooyinka premium.
For models premium iyo xaddidaha heerka sare, la xaqiijiyo la Bearer calaamad ku Authorization madaxa.
Authorization: Bearer sk-tts-your-api-key-here
SDK-yada
SDKs rasmi ah waxay fududeeyaan in la isku daro TTS.ai codsigaaga. Labaduba waa asal furan oo ku yaal GitHub.
Python
pip install ttsai
from tts_ai import TTSClient
client = TTSClient(api_key="sk-tts-...")
audio = client.generate(
text="Hello world!",
model="kokoro"
)
client.save(audio, "output.wav")
JavaScript / Node.js
npm install @ttsainpm/ttsai
const { TTSClient } = require('@ttsainpm/ttsai');
const client = new TTSClient({
apiKey: 'sk-tts-...'
});
const audio = await client.generate({
input: 'Hello world!',
model: 'kokoro'
});
await client.saveToFile(audio, 'output.wav');
URL-ka aasaasiga ah
dhammaan dhamaadka waa la xiriira this URL-ka. tusaale ahaan, TTS dhamaadka waa:
Xaddidaadda
API heerka xaddidaadda kala duwanaan karaan qorshaha:
| Qorshe | Talooyin/daqiiqo | Isku-dhafan | Dhererka ugu badan ee qoraalka |
|---|---|---|---|
| Bilaash | 10 | 2 | 500 xarfo |
| Bilow | 30 | 3 | 1,000,000 xarfo |
| Pro | 60 | 5 | 1,000,000 xarfo |
| Shirkad | 300 | 20 | 50,000 xarfo |
Heerka xaddidaadda headers waxaa ku jira jawaab kasta: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Qiimaha deynta
| Adeeg | Qiimaha | Midab |
|---|---|---|
| TTS (models Bilaash ah: Piper, VITS, MeloTTS) | 1,000 xaraf | 1,000 xaraf kasta |
| TTS (Standard noocyada: Kokoro, CosyVoice 2, iwm) | 2,000 xarfo | 1,000 xaraf kasta |
| TTS (Models Premium: Tortoise, Chatterbox, iwm.) | 4,000 xarfo | 1,000 xaraf kasta |
| Hadal u beddel qoraal | 2,000 xarfo | per minute of audio |
| Duubista Codka | 4,000 xarfo | 1,000 xaraf kasta |
| Isbedelka Codka | 3,000 xaraf | per minute of audio |
| Kordhinta Muuqaalka | 2,000 xarfo | per minute of audio |
| Voice ka saarka / Qaybta | 3,000-4,000 xarfo | per minute of audio |
| Tarjumaadda hadalka | 5,000 xarfo | per minute of audio |
| Hadal hadal ah | 3,000 xaraf | wareeg kasta |
| Key Finder BPM | Bilaash | -- |
| Audio Beddelaan | Bilaash | -- |
Qoraalka u beddel hadal
U beddel qoraalka hadalka audio. Ku soo celiya faylka audio ee qaabka la dalbaday.
Fadliga dalabka
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| model | string | Ha | Model ID (eg, kokoro, chatterbox, piper). Haddii la iska indho tiri, waxaanu si otomaatig ah u dooranaynaa qaabka taageeraya language la dalbaday — kokoro ee en/ja/zh/ko/fr/de/it/pt/es/hi/ru, piper ee luqadaha kale ee la taageerayo (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/etc.). |
| text | string | Haa | Qoraalka loo beddelo hadalka. Per-dalbaday cap: 500 xarfaha (anonymous), 5,000 (qaybta bilaashka ah), 1,000,000 (lacagta qorshaha). Long injiisyada waa auto-chunked server-jiid. |
| voice | string | Haa | Aqoonsiga Codka (u isticmaal /v1/voices/ si aad u soo bandhigto codadka jira) |
| format | string | Ha | Nooca natiijada: mp3 (default), wav, flac, ogg
|
| speed | float | Ha | Kaaliyaha xawaaraha hadalka. Default: 1.0. Range: 0.5 to 2.0 |
| language | string | Ha | Koodka afka (tusaale ahaan, en, es). Si otomaatig ah ayaa loo ogaan doonaa haddii la joojiyo. |
| instructions | string | Ha | Dhaqanka / soo dejinta cues (≤500 xarfaha). tusaale ahaan \ |
| pronunciations | object | array | Ha | Codsiga-per afka ku beddelaya. Midkood {\ |
| stream | boolean | Ha | Fur jawaabta qulqulka. Fadlan: false |
Talooyin tusaale ah
curl -X POST https://api.tts.ai/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "kokoro",
"text": "Hello from TTS.ai! This is a test.",
"voice": "af_bella",
"format": "mp3"
}' \
--output output.mp3
Calaamadaha ee SSML
Tirada Wrap, taariikhda, lacag, lambarrada telefoonka, iyo acronyms in qaabka taariikhda ee asalka ah The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result. Poll this endpoint every 1-2 seconds until Fetch the Streaming alternative: For supported models (Kokoro, MeloTTS), use
Faahfaahin Input La Yidhi cardinal1234one thousand two hundred thirty-four ordinal21twenty-first date1999-12-31December soddon iyo mid, toddobaatan iyo sagaashan iyo sagaal time14:30two thirty PM telephone+1-555-867-5309plus one five five five eight six seven… currency$1,234.56one thousand two hundred thirty-four dollars and fifty-six cents spell-outNASAN A S A mdy Ingiriis iyo dmy meel kale; ku beddel format=\{
"model": "kokoro",
"voice": "af_bella",
"text": "Your appointment is on <say-as interpret-as=\"date\">2026-04-26</say-as> at <say-as interpret-as=\"time\">14:30</say-as>. Please call <say-as interpret-as=\"telephone\">+1-555-867-5309</say-as> if you need to reschedule."
}Jawaab
Step 1: Submit request
{
"uuid": "77b71db532874ce98e84a69a2d740d4c",
"job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
"status": "queued",
"credits_used": 11,
"credits_remaining": 15000
}Step 2: Poll for result
status is completed or failed.{
"status": "completed",
"result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}{
"status": "processing"
}Step 3: Download audio
result_url from the completed response to download the audio file.tusaale buuxa
import requests, time
API_KEY = "sk-tts-your-key"
BASE = "https://api.tts.ai"
# 1. Submit TTS request
resp = requests.post(f"{BASE}/v1/tts/", json={
"model": "kokoro",
"text": "Hello from TTS.ai!",
"voice": "af_bella"
}, headers={"Authorization": f"Bearer {API_KEY}"})
data = resp.json()
uuid = data["uuid"]
# 2. Poll for result
while True:
result = requests.get(f"{BASE}/v1/speech/results/",
params={"uuid": uuid}).json()
if result["status"] == "completed":
# 3. Download audio
audio = requests.get(result["result_url"])
with open("output.mp3", "wb") as f:
f.write(audio.content)
break
elif result["status"] == "failed":
raise Exception(result.get("error", "Generation failed"))
time.sleep(1.5)POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.
Hadal u beddel qoraal
Dhageyso audio in qoraalka. taageertaa 99 luqadood oo leh auto-ogaanshaha.
Fadliga dalabka (multipart/form-data)
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| file | file | Haa | Audio file (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Max 100MB. |
| model | string | Ha | STT qaab: whisper (default), faster-whisper, sensevoice
|
| language | string | Ha | Koodka afka. auto si loo ogaado si otomaatig ah (default). |
| timestamps | boolean | Ha | Ku dar calaamadaha wakhtiga ee heerka ereyga. Fadlan: false |
| diarize | boolean | Ha | Faahfaahin: false |
Jawaab
{
"text": "Hello, this is a transcription test.",
"language": "en",
"duration": 3.5,
"segments": [
{
"start": 0.0,
"end": 1.8,
"text": "Hello, this is",
"speaker": "SPEAKER_00"
},
{
"start": 1.8,
"end": 3.5,
"text": "a transcription test.",
"speaker": "SPEAKER_00"
}
]
}
Duubista Codka
abuuro hadalka in codka la duubtay. soo dejisan tilmaame audio iyo qoraalka.
Fadliga dalabka (multipart/form-data)
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| reference_audio | file | Haa | Codka codka ee codka ah (10-30 ilbiriqsi oo la soo jeediyay). Max 20MB. |
| text | string | Haa | qoraalka lagu hadli doono codka lakala soocay. |
| model | string | Ha | Qaab-dhismeedka isku-dhafka: chatterbox (default), cosyvoice2, gpt-sovits
|
| format | string | Ha | Nidaamka soo bixitaanka: mp3 (default), wav, flac
|
| language | string | Ha | Koodka afka la doonayo. Waa in ay taageeraan qaabka la doortay. |
Jawaab
Ku soo celin doonaa faylka audio sida xogta binary, sida TTS endpoint.
Isbedelka Codka
Audio u beddelaan si ay u maqlaan sida codka kala duwan. Upload audio asalka ah oo dooro codka la doonayo.
Fadliga dalabka (multipart/form-data)
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| file | file | Haa | Faylka audio asalka ah (MP3, WAV, FLAC). Max 50MB. |
| target_voice | string | Haa | Target voice ID to convert to (use /v1/voices/ to list available voices) |
| model | string | Ha | Muuqaalka isbeddelka codka: openvoice (default), knn-vc
|
| format | string | Ha | Nooca natiijada: wav (default), mp3, flac
|
Talooyin tusaale ah
curl -X POST https://api.tts.ai/v1/voice-convert/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@source_audio.mp3" \
-F "target_voice=af_bella" \
-F "model=openvoice" \
-o converted.wav
Jawaab
Ku soo celin doonaa file audio la beddelay sida xogta binary.
Tarjumaadda hadalka
Translate audio ku hadla ka afka mid kale. isku darka hadal-to-text, tarjumaadda, iyo qoraalka-to-speech in a telefoonka kaliya.
Fadliga dalabka (multipart/form-data)
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| file | file | Haa | Faylka maqalka ee asalka ah. Max 100MB. |
| target_language | string | Haa | Koodka afka la doonayo (tusaale, es, fr, de, ja) |
| voice | string | Ha | Codka loo yaqaan "%s" |
| preserve_voice | boolean | Ha | Dambiil si loo ilaaliyo astaamaha codka afka asalka ah. Default: false |
Jawaab
{
"original_text": "Hello, how are you?",
"translated_text": "Hola, como estas?",
"source_language": "en",
"target_language": "es",
"audio_url": "https://api.tts.ai/v1/results/translate_abc123.mp3",
"credits_used": 5
}
Hadal ilaa Hadal
U beddel qaabka hadalka, dareenka, ama soo bandhigida inta lagu jiro xakamaynta waxyaabaha. Faa'iido u ah hagaajinta toonta, pacing, iyo expressionness.
Fadliga dalabka (multipart/form-data)
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| file | file | Haa | Fayl maqal ah. Max 50MB. |
| voice | string | Haa | Target voice ID for the output speech |
| model | string | Ha | Midab: openvoice (default), chatterbox
|
| emotion | string | Ha | Target emotion: neutral, happy, sad, angry, excited
|
| speed | float | Ha | Isbeddelka xawaaraha. Default: 1.0. Range: 0.5 to 2.0 |
Jawaab
Ku soo celin doonaa faylka audio la beddelay sida xogta binary.
Qalabka Dhagaysiga
Audio processing endpoints si kor loogu qaado, tirtirka codka, stem kala qaybinta, iyo in ka badan.
Kordhinta tayada audio: denoise, hagaajinta caddaaladda, go'aan super.
| file file | Fayl maqal ah oo la xoojinayo |
| denoise boolean | Samee xakamaynta codka (default: true) |
| enhance_clarity boolean | Kor u qaad caddaaladda hadalka (default: true) |
| super_resolution boolean | Tayada maqalka u kordhi (default: false) |
| strength integer | 1-3 (cagaaran, dhexdhexaad ah, xoog leh). Default: 2 |
kala sooca vocals ka instrumentals (joojin vocal) ama kala qaybsan yihiin in ay tiir.
| file file | Faylka audio ee la kala saari doono |
| model string | demucs (default) ama spleeter |
| stems integer | Tirada dhir: 2, 4, 5, ama 6 (default: 2) |
| format string | Nidaamka soo bixitaanka: wav, mp3, flac |
Ka saar echo iyo reverb ka recordings audio.
| file file | Faylka maqalka ee la xalin doono |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
Falanqee audio si ay u ogaadaan furaha, BPM, iyo waqti saxiixa.
| file file | Fadlan dooro faylka la doonayo in la faallo |
{
"key": "C",
"scale": "Major",
"bpm": 120.0,
"time_signature": "4/4",
"camelot": "8B",
"compatible_keys": ["C Major", "G Major", "F Major", "A Minor"]
}
Audio u beddelaan u dhexeeya qaabab.
| file file | Faylka audio ee la beddeli doono |
| format string | Nidaamka la rabo: mp3, wav, flac, ogg, m4a, aac |
| bitrate integer | Bitrate soo bixitaan oo ku jira kbps: 64, 128, 192, 256, 320 |
| sample_rate integer | Tirada tusaale: 22050, 44100, 48000 |
| channels string | mono ama stereo |
Hadal hadal ah
U dir audio ama qoraalka iyo hel jawaabta AI la hadalka synthesized.
Fadliga dalabka (multipart/form-data ama JSON)
| Falanqaynta | Nooc | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|---|
| audio | file | Ha* | Input audio (ama audio ama text ayaa loo baahan yahay) |
| text | string | Ha* | Input-ka qoraalka (ama audio ama text ayaa loo baahan yahay) |
| voice | string | Ha | Codka jawaabta AI. Fadlan: af_bella |
| tts_model | string | Ha | Midab TTS oo loogu talagalay jawaabta. Fadlan: kokoro |
| system_prompt | string | Ha | Qalabka codsiga ee loogu talagalay AI |
| conversation_id | string | Ha | Ku sii wad wada hadalka jira |
Jawaab
{
"conversation_id": "conv_abc123",
"user_text": "What is the capital of France?",
"ai_text": "The capital of France is Paris.",
"audio_url": "https://api.tts.ai/v1/audio/tmp/resp_xyz.mp3",
"credits_used": 3
}
TTS
Soo gudbinta qoraalo badan oo isku xigta TTS dhalasho. Haddii aad rabto, ka heli callback webhook marka shaqada oo dhan dhamaystiran.
Parameters
| Parameter | Nooc | Tilmaamaha |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | URL doorasho ah in ay natiijooyinka POST marka batch dhamaystiro. |
Jawaab
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
Horumarka codbixinta la GET /v1/tts/batch/result/?batch_id=abc123
Dhaqdhaqaaqa
Ka hor-dhis codka ku dhejisan ka soo xigasho audio. U isticmaal embed_id ku soo laabtay codka ka dib codka ku dhejin codka ee soo saarida ku dhow-instant.
Parameters
| Parameter | Nooc | Tilmaamaha |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
Jawaab
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
Tijaabada caafimaad
Ka hubi xaaladda GPU server, qaabab la soo dejiyey, iyo miisaanka fariinta. Aan la xaqiijin loo baahnaa. Cached for 30 seconds.
Jawaab
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
Liiska qaababka
Ku soo laabtaa liiska dhammaan qaababka la heli karo oo leh awoodahooda.
Jawaab
{
"models": [
{
"id": "kokoro",
"name": "Kokoro",
"type": "tts",
"tier": "standard",
"languages": ["en", "ja", "ko", "zh", "fr"],
"supports_cloning": false,
"supports_streaming": true,
"credits_per_1k_chars": 2
},
{
"id": "chatterbox",
"name": "Chatterbox",
"type": "tts",
"tier": "premium",
"languages": ["en"],
"supports_cloning": true,
"supports_streaming": true,
"credits_per_1k_chars": 4
}
]
}
Liiska Codadka
Ku soo celiya liiska codadka oo dhan oo la heli karo, si ikhtiyaari ah ayaa loo cusbooneysiiyay qaabka ama afka.
Qiyaamada Su'aasha
| Falanqaynta | Nooc | Faahfaahin |
|---|---|---|
| model | string | Ciwaanka qaabka (tusaale ahaan, kokoro) |
| language | string | Ciwaanka luqadda (tusaale ahaan, en) |
| gender | string | Ciwaanka jinsiga: male, female, neutral
|
Jawaab
{
"voices": [
{
"id": "af_bella",
"name": "Bella",
"model": "kokoro",
"language": "en",
"gender": "female",
"preview_url": "https://api.tts.ai/v1/voices/preview/af_bella.mp3"
}
],
"total": 142
}
Subtitles (SRT / VTT) cusub
Soo saar subtitles synchronized u shaqeeyo TTS dhamaystiran. Runs Whisper isku dheelitirka ka badan audio iyo SRT ama WebVTT soo celin. Natiijadu waa diskka ku kaydsan si ay u codsiga labaad ee uuid isku mid ah waa disk akhrin.
Qiyaamada Su'aasha
| Falanqaynta | Waa in la buuxiyaa | Faahfaahin |
|---|---|---|
| uuid | Haa | UUID-ka shaqada waxaa soo celiyay /v1/tts/ ama /v1/voice-clone/. |
| format | Ha | srt (default) ama vtt. |
| download | Ha | 1 si ay u diraan Content-Disposition: attachment si browser badbaadin ka badan oo muujinaya. |
| language | Ha | Tilmaam in qaabka isku dheelitirka (auto-la ogaado haddii la joojiyay). |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
Diccionario de pronunciación cusub
TTS engine sheeg sida loo dhawaaqo erayo gaar ah. Entries kaydinta auto-ku habboon in TTS codsiga aad samayso. 200-entry per-account xad.
Fadliga dalabka (POST)
| Falanqaynta | Nooc | Faahfaahin |
|---|---|---|
| word | string | Erayga la doonayo in la bedelo (tusaale ahaan GIF, Anthropic). Xeerka erayga ayaa la isku raacay. |
| replacement | string | Sida loo qoro oo loogu talagalay qaabka (tusaale ahaan jiff, ann THROP ick). |
| language | string | Codsiga ISO code. Xogta = ku saabsan luuqadaha oo dhan. |
| case_sensitive | boolean | false oo la doortay. Ku dheji xarafka marka true la doorto. |
# Save an entry
curl -X POST https://tts.ai/api/v1/pronunciations/ \
-H "Authorization: Bearer sk-tts-..." \
-H "Content-Type: application/json" \
-d '{"word": "GIF", "replacement": "jiff"}'
# List your entries
curl https://tts.ai/api/v1/pronunciations/ -H "Authorization: Bearer sk-tts-..."
# Delete entry by id
curl -X DELETE "https://tts.ai/api/v1/pronunciations/?id=42" -H "Authorization: Bearer sk-tts-..."
Waxaad sidoo kale ku gudbi kartaa per-dalbaday overrides iyaga badbaadin la’aan — ku jiraan pronunciations on kasta / v1 / tts / wicitaan sida mid ka mid ah wax ama array (eeg TTS endpoint params).
Qore Maqaal cusub
Ku rid tag kaliya on page kasta oo maqaalka iyo booqdayaasha helaan bar akhristaha ah oo go'an oo narrates page on riix. Auto-ka ogaadaa jirka maqaalka, taageeraa codka custom / qaabka / booska / midabka accent.
<script src="https://tts.ai/narrator.js"
data-pk="pk-tts-your-publishable-key"
data-voice="af_bella"
data-model="kokoro"
data-extract="auto"
data-position="bottom"
data-color="#e60000"
data-locale="en"></script>
Options
| Falanqaynta | Faahfaahin |
|---|---|
data-pk | Fadlan dooro mid ka mid ah kuwa soo socda: |
data-voice | Codka ID. af_bella oo la doortay. |
data-model | TTS Model ID. kokoro oo la doortay. |
data-extract | auto (default) — isku dayaya qoraalka / weyn /.post-content /.entry-content doorbidayaasha, dib u dhaca in densitest qodobka cluster. Ama ka gudbaan wax kasta oo CSS doorbidayaasha in ay u diraan qayb gaar ah. |
data-position | bottom (default) ama top. |
data-color | Midabka xusid mudan (mid kasta oo midab CSS ah). #e60000 oo la doortay. |
data-min-chars / data-max-chars | Ka tag bar haddii maqaalka ka yar yahay min-characters (default 200). Cap input at max-characters (default 50,000). |
Widget-ka badhanka maqalka
Inline button-style embed. Renders ku xiga tag iyo ciyaaro button-triggered yar yar. Shaab kala duwan ka mid ah Qoraalka Narrator kor (oo auto-injects a page-spanning bar iyo narrates maqaalka oo dhan).
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
Codadka la kaydiyay (Dhoofinta joogtada ah)
Soo dejiso mid ka mid ah soo jeedinta audio mar, dib u hesho voice_id joogto ah, ka dibna soo jeedinta in id in TTS codsiyada ka hor intaan dib u soo dejinta audio wicitaan kasta.
Saaro Cod
POST
https://tts.ai/api/v1/user-voices/
Waa in la aqoonsado
Qaybaha badan. Dugsiyada: file (u baahan yahay, 5-30s audio), magac (u baahan yahay), af (doorasho, default en), tusaale (doorasho — auto-picks cosyvoice2 for zh/ja/ko kale openvoice), consent_confirmed (u baahan yahay, wax kasta oo qiimaha truthy).
curl -X POST https://tts.ai/api/v1/user-voices/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@reference.wav" \
-F "name=My Narrator" \
-F "language=en" \
-F "consent_confirmed=true"
# Response:
{
"public_id": "uv_a1b2c3d4e5f6",
"id": 42,
"name": "My Narrator",
"model_name": "openvoice",
"language": "en",
"reference_audio_url": "https://tts.ai/media/user-voices/....wav",
"storage_status": "active",
"created_at": "2026-04-17T03:45:00+00:00"
}
Ku isticmaal codka lagu kaydiyay TTS
POST in /api/v1/tts/ (WARQAD: web VPS martida, ma api.tts.ai) la user_voice_id. Waxaan ku soo dejisan audio iyo jidka kaydinta in la isku duubto pipeline.
curl -X POST https://tts.ai/api/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{"text":"Hello from my saved voice","user_voice_id":"uv_a1b2c3d4e5f6"}'
# Returns a queued job — poll /v1/speech/results/?uuid=... for the audio URL.
Liiska / tirtir
GET https://tts.ai/api/v1/user-voices/ # list your saved voices + quota info
DELETE https://tts.ai/api/v1/user-voices/?public_id=uv_a1b2c3d4e5f6
Archive / dib u hawlgelinta (bilaash)
Codadka kaydinta ku nagaan xisaabtaada laakiin ma aha in la isticmaalo TTS. faa'iido leh dadka isticmaala dhamaadka hurdada si liiskaaga u sii daayo.
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
Codsiyada tusaale ahaan
Qoraalka u beddel hadal
import requests
API_KEY = "sk-tts-your-key"
# Text to Speech
response = requests.post(
"https://api.tts.ai/v1/tts/",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "kokoro",
"text": "Hello from TTS.ai!",
"voice": "af_bella",
"format": "mp3"
}
)
with open("output.mp3", "wb") as f:
f.write(response.content)
print(f"Credits used: {response.headers.get('X-Credits-Used')}")
Hadal u beddel qoraal
# Speech to Text
with open("recording.mp3", "rb") as f:
response = requests.post(
"https://api.tts.ai/v1/stt/",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"file": f},
data={"model": "faster-whisper", "timestamps": "true"}
)
result = response.json()
print(result["text"])
Duubista Codka
# Voice Cloning
with open("reference.wav", "rb") as ref:
response = requests.post(
"https://api.tts.ai/v1/tts/clone/",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"reference_audio": ref},
data={
"text": "This speech uses a cloned voice.",
"model": "chatterbox"
}
)
with open("cloned_output.mp3", "wb") as f:
f.write(response.content)
Qoraalka u beddel hadal
const API_KEY = 'sk-tts-your-key';
// Text to Speech
const response = await fetch('https://api.tts.ai/v1/tts/', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'kokoro',
text: 'Hello from TTS.ai!',
voice: 'af_bella',
format: 'mp3'
})
});
const audioBlob = await response.blob();
const audioUrl = URL.createObjectURL(audioBlob);
const audio = new Audio(audioUrl);
audio.play();
Hadal u beddel qoraal
// Speech to Text
const formData = new FormData();
formData.append('file', audioFile);
formData.append('model', 'faster-whisper');
const response = await fetch('https://api.tts.ai/v1/stt/', {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` },
body: formData
});
const result = await response.json();
console.log(result.text);
Qoraalka u beddel hadal
# Text to Speech
curl -X POST https://api.tts.ai/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{"model":"kokoro","text":"Hello!","voice":"af_bella","format":"mp3"}' \
-o output.mp3
Hadal u beddel qoraal
# Speech to Text
curl -X POST https://api.tts.ai/v1/stt/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@recording.mp3" \
-F "model=faster-whisper" \
-F "timestamps=true"
Duubista Codka
# Voice Cloning
curl -X POST https://api.tts.ai/v1/tts/clone/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "reference_audio=@reference.wav" \
-F "text=This uses a cloned voice." \
-F "model=chatterbox" \
-o cloned.mp3
Kordhinta Muuqaalka
# Audio Enhancement
curl -X POST https://api.tts.ai/v1/audio/enhance/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@noisy_audio.mp3" \
-F "denoise=true" \
-F "enhance_clarity=true" \
-o enhanced.mp3
Koodhadhka khaladaadka
khaladaadka oo dhan ku soo laabtaan jawaab JSON la error Isku-darka
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough characters for this request.",
"characters_required": 4000,
"characters_available": 2000
}
}
| Xaaladda HTTP | Koodka khaladaadka | Faahfaahin |
|---|---|---|
| 400 | bad_request |
Baaritaanku ma aha mid sax ah. Eeg fariinta qaladka ee faahfaahinta. |
| 401 | unauthorized |
Fadlan dooro mid ka mid ah |
| 402 | insufficient_credits |
Ma aha xarfaha ku filan. Iibso in ka badan / pricing /. |
| 403 | forbidden |
Ma lihidin ogolaansho si aad u gasho kaydkan (tusaale ahaan, codbixinta shaqada isticmaalaha kale). API access waa la ku daray on qorshe kasta. |
| 404 | not_found |
Ma jiro qaab ama cod la helay. |
| 413 | file_too_large |
Fayl la soo dejiyey wuxuu ka badan yahay xadka cabbirka. |
| 429 | rate_limited |
In badan oo codsiyo ah. Tijaabi tirada xaddidaadda madaxyada. |
| 500 | internal_error |
Xadgudub server. Markale isku day ka dib. |
| 503 | model_loading |
Muuqaalka ayaa la soo dejinaya. Ku soo celi dhowr ilbiriqsi. |
Webhooks
Si ay u shaqeeyaan muddo dheer hawlaha (dhismaha kala qaybinta, batch TTS), waxaad siin kartaa webhook_url parameter. Marka shaqada dhamaystiran, waxaan POST natiijada si aad URL.
{
"event": "task.completed",
"task_id": "task_abc123",
"status": "success",
"result_url": "https://api.tts.ai/v1/results/task_abc123",
"credits_used": 12,
"created_at": "2025-01-15T10:30:00Z",
"completed_at": "2025-01-15T10:30:45Z"
}
Ku diyaarsan tahay dhismaha?
Ka hel furaha API iyo bilowda isku xirka TTS.ai in codsiyadaada.