Dokumentasyon sa API
Integrate TTS.ai into your applications with our REST API. OpenAI-compatible format for easy migration.
Sa palibot sa Overview.
Ang TTS.ai API naghatag sa programa sa access sa tanan nga mga bahin sa plataporma: text-to-speech synthesis, speech-to-text transcription, voice cloning, audio enhancement, ug uban pa.
Sa palibot sa Key.
Sa palibot sa Kūh-e Sīāh. Mga setting sa account. Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang Free Plan.
URL sa base
https://api.tts.ai/v1/
Awtoridad
Bukid ang Token sa Estados Unidos. Authorization kahon
Awtentikasyon
/v1/tts/ trabaho nga walay bisan unsa nga auth, hangtud sa 5,000 mga karakter / adlaw sa matag IP, sa paggamit sa bisan unsa sa atong mga libre nga mga modelo (piper, vits, melotts, kokoro). Dunay mga 15 ka tawo kada kilometro kwadrado sa palibot sa Bonus may gamay nga populasyon.
Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang Upper Bear Lake. Authorization kahon.
Authorization: Bearer sk-tts-your-api-key-here
SDKs
Official SDKs make it easy to integrate TTS.ai into your application. Both are open source and available on 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 sa base
Ang tanan nga mga endpoints may kalabutan sa base URL. Kon, alang sa panig-ingnan, ang TTS endpoint mao ang:
Limitasyon sa rate
Ang yuta palibot sa Vario kay lain-lain.
| Plano | Mga pangutana/min | Konkordansiya | Maksimo nga gitas-on sa teksto |
|---|---|---|---|
| Libre | 10 | 2 | Adunay 500 ka molupyo. |
| Paggamit | 30 | 3 | Adunay 1,000,000 ka molupyo. |
| Pro | 60 | 5 | Adunay 1,000,000 ka molupyo. |
| Sa palibot sa Business. | 300 | 20 | Adunay 50,000 ka molupyo. |
Ang yuta palibot sa Cerro La Respuesta kay lain-lain. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Paggamit sa mga karakter
| Serbisyo | Sa palibot sa Cost. | Unit |
|---|---|---|
| Lungsod ang Piper (Ininggles: Piper, Piper, Piper) sa Estados Unidos. | Adunay 1,000 ka molupyo. | 1,000 ka mga karakter |
| Lungsod ang Coyoacán (Kinatsila: Coyoacán, Coyoacán, Coyoacán) sa Mehiko. | Adunay 2,000 ka molupyo. | 1,000 ka mga karakter |
| Munisipyo ang Tortosa (Kinatsila: Tortosa, Tortosa, Tortosa) sa Espanya. | Adunay 4,000 ka molupyo. | 1,000 ka mga karakter |
| Sa palibot sa Text | Adunay 2,000 ka molupyo. | per minute of audio |
| Sa palibot sa Klondike. | Adunay 4,000 ka molupyo. | 1,000 ka mga karakter |
| Sa palibot sa Changer. | Adunay 3,000 ka molupyo. | per minute of audio |
| Audio Enhancement | Adunay 2,000 ka molupyo. | per minute of audio |
| Espesye sa langaw ang Dicranomyia splitta. | Adunay 3,000,000 ka molupyo. | per minute of audio |
| Sa palibot sa Translation. | Adunay 5,000 ka molupyo. | per minute of audio |
| Sa palibot sa Chacha. | Adunay 3,000 ka molupyo. | Sa matag higayon |
| Key Finder | Libre | -- |
| Audio Converter | Libre | -- |
Sa palibot sa Speech
Pag-convert sa teksto ngadto sa tingog. Mobalik sa audio file sa gihangyo nga format.
Sa palibot sa Kūh-e Kūh-e Kūh.
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| model | string | Wala | Sa palibot sa I-n-Id. sa, chatbox, paminta). Kon gibiyaan, kami auto-pick sa usa ka modelo nga suporta sa gihangyo language Sa palibot sa sa Lungsod ang I/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/o/ paminta Ang yuta palibot sa (/ˈtʃɪ/) kay patag. |
| text | string | Sa palibot sa Jabal al Muḩallaqta. | Teksto nga i-convert ngadto sa tingog. Ang limitasyon sa matag pangutana: 500 ka karakter (anonymous), 5,000 (free account), 1,000,000 (paid plan). Ang dugay nga input awtomatikong gi-chunk sa server. |
| voice | string | Sa palibot sa Jabal al Muḩallaqta. | Sa palibot sa I-n-Aïd. Sa palibot sa A1. sa lista sa mga anaa nga tingog) |
| format | string | Wala | Format sa output: MP3 (pagpili), wav, flac, ogg |
| speed | float | Wala | Multiplikador sa gitas-on sa tingog. Panguna: 1.0 ka minuto.. Ranggo: 0.5 ka kilometro ang gilapdon sa tiilan niini. sa Adunay 2,000 ka molupyo. |
| language | string | Wala | Lungsod ang Lingen (Inaleman: Lingen) sa Alemanya. ug, saEspesye sa langaw ang Simulium omitum. |
| instructions | string | Wala | Hapit nalukop sa [[kalibonan ang palibot sa Cerro Cinco Mil (El). \ |
| pronunciations | object | array | Wala | Ang mga pulong sa pag-awdit sa matag-hangyo. Sa palibot sa Ḑaḑaḑ. |
| stream | boolean | Wala | Pag-enable sa tubag sa streaming. Panguna: Wala |
Espesye sa langaw ang Forcipomyia petiolaris.
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
SSM mga tag
Ibutang ang mga numero, mga petsa, salapi, mga numero sa telepono, ug mga akronimo Sa palibot sa ‘Ayn al ‘Alam.
| interpret-as | Input | Sa palibot sa Tall al Ḩadīdah. |
|---|---|---|
cardinal | 1234 | one thousand two hundred thirty-four |
ordinal | 21 | twenty-first |
date | 1999-12-31 | Adunay 19,911 ka molupyo. |
time | 14:30 | two thirty PM |
telephone | +1-555-867-5309 | plus one five five five eight six seven… |
currency | $1,234.56 | one thousand two hundred thirty-four dollars and fifty-six cents |
spell-out | NASA | N A S A |
Ang default nga format sa petsa mao ang mdy Lungsod ang English sa Estados Unidos. dmy sa ubang dapit sa mao gihapon nga ngalan: 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."
}
Sa palibot sa Reef
The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result.
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
Poll this endpoint every 1-2 seconds until status is completed or failed.
{
"status": "completed",
"result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}
{
"status": "processing"
}
Step 3: Download audio
Fetch the result_url from the completed response to download the audio file.
Espesye sa langaw ang Simulium eximium.
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)
Streaming alternative: For supported models (Kokoro, MeloTTS), use POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.
Sa palibot sa Text
Transscribe audio ngadto sa teksto. Supports 99 mga pinulongan uban sa auto-detection.
Sa palibot sa Kūh-e Kūh-e Kūh. (multipart/form-data)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| file | file | Sa palibot sa Jabal al Muḩallaqta. | Ang mga format sa audio (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). |
| model | string | Wala | Sa palibot sa Model. Sa palibot sa Whisper. (pagpili), Sa palibot sa Faster Whisper., Sa palibot sa Sensevoix. |
| language | string | Wala | Sa palibot sa Lingu. awtomatikong Sa palibot sa Default (Peak). |
| timestamps | boolean | Wala | Ilakip ang mga marka sa panahon sa lebel sa pulong. Panguna: Wala |
| diarize | boolean | Wala | Pag-enable sa pag-diary sa tingog. Panguna: Wala |
Sa palibot sa Reef
{
"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"
}
]
}
Sa palibot sa Klondike.
Pag-generate sa tingog sa usa ka klone nga tingog. I-upload ang audio ug teksto sa referral.
Sa palibot sa Kūh-e Kūh-e Kūh. (multipart/form-data)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| reference_audio | file | Sa palibot sa Jabal al Muḩallaqta. | Hapit nalukop sa kasagbotan ang palibot sa 10N10E20AD__01 Spring. |
| text | string | Sa palibot sa Jabal al Muḩallaqta. | Espesye sa tanom nga bulak ang Clonea glossa. |
| model | string | Wala | Modelo: chatbox (pagpili), hayag nga tingog2, gpt-sovits |
| format | string | Wala | Format sa output: MP3 (pagpili), wav, flac |
| language | string | Wala | Target language code. Kinahanglan nga gisuportahan sa gipili nga modelo. |
Sa palibot sa Reef
Ang Datanthes bicolor sakop sa kahenera nga Datanthes sa kabanay nga Datanthesidae.
Sa palibot sa Changer.
I-convert ang audio aron motugtog sama sa lain nga tingog. I-upload ang source audio ug pilia ang target nga tingog.
Sa palibot sa Kūh-e Kūh-e Kūh. (multipart/form-data)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| file | file | Sa palibot sa Jabal al Muḩallaqta. | Ang kasarangang giiniton 13 °C. Ang kasarangang pag-ulan 503 milimetro matag tuig. |
| target_voice | string | Sa palibot sa Jabal al Muḩallaqta. | Target voice ID sa pagkonvert ngadto sa (gamit Sa palibot sa A1. sa lista sa mga anaa nga tingog) |
| model | string | Wala | Ang yuta sa Konto kay lain-lain. Openvoice (pagpili), knn-vc |
| format | string | Wala | Format sa output: wav (pagpili), MP3, flac |
Espesye sa langaw ang Forcipomyia petiolaris.
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
Sa palibot sa Reef
Ang Data sakop sa kabanay nga Dataidae.
Sa palibot sa Translation.
I-translate ang gisulti nga audio gikan sa usa ka pinulongan ngadto sa lain. Kombinasyon sa speech-to-text, translation, ug text-to-speech sa usa ka tawag.
Sa palibot sa Kūh-e Kūh-e Kūh. (multipart/form-data)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| file | file | Sa palibot sa Jabal al Muḩallaqta. | Ang kasarangang giiniton 1 °C. Ang kasarangang pag-ulan 1,008 milimetro matag tuig. |
| target_language | string | Sa palibot sa Jabal al Muḩallaqta. | Lungsod ang Target (Ininggles: Target) sa Estados Unidos. sa, Ang, sa, Oo(Inaleman) |
| voice | string | Wala | Tingog alang sa gihubad nga output. Awtomatikong gipili kon gibiyaan. |
| preserve_voice | boolean | Wala | Pag-andam sa orihinal nga mga kinaiya sa tingog sa mag-uuma. Panguna: Wala |
Sa palibot sa Reef
{
"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
}
Sa palibot sa Talka.
Pag-usab sa estilo sa pagsulti, emosyon, o pag-apod-apod samtang gipadayon ang sulud. Maayo alang sa pag-adjust sa tono, pacing, ug ekspresyon.
Sa palibot sa Kūh-e Kūh-e Kūh. (multipart/form-data)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| file | file | Sa palibot sa Jabal al Muḩallaqta. | Ang gitudlo nga kodigo postal mao ang 5080. |
| voice | string | Sa palibot sa Jabal al Muḩallaqta. | Target voice ID alang sa output speech |
| model | string | Wala | Modelo: Openvoice (pagpili), chatbox |
| emotion | string | Wala | Sa palibot sa Target. neutral, HAPPY, sa, Angry, Ang gintang |
| speed | float | Wala | Pag-ayo sa gitas-on. Panguna: 1.0 ka minuto.. Ranggo: 0.5 ka kilometro ang gilapdon sa tiilan niini. sa Adunay 2,000 ka molupyo. |
Sa palibot sa Reef
Ang Transistoria sakop sa kabanay nga Binomialidae.
Mga Himan sa Audio
Sa rehiyon palibot sa Pointe de la Retirada, mga lawis, ug mga lapyahan talagsaon komon.
Sa rehiyon palibot sa Cerro La Clarita, mga walog talagsaon komon.
| file file | Ang audio file sa pag-ayo |
| denoise boolean | Paggamit sa pag-de-noise (panghimatuud: tinuod) |
| enhance_clarity boolean | Pagdugang sa kahayag sa tingog (panghimatuud: tinuod) |
| super_resolution boolean | Pag-upscale sa kalidad sa audio (panghimatuud: false) |
| strength integer | 1-3 (mahayag, medium, kusog). Panguna: 2 |
Ang yuta palibot sa Cerro de las Voces kay medyo kabukiran.
| file file | Audio file sa pagbahin |
| model string | demucs (default) o spleeter |
| stems integer | Adunay 2, 4, 5, o 6 ka mga stems (standard: 2) |
| format string | Format sa output: wav, MP3, flac |
Ang Reticulata sakop sa kabanay nga Reticulatae.
| file file | Audio file nga iproseso |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
Sa rehiyon palibot sa Key Point, mga lapyahan talagsaon komon.
| file file | Audio file sa pag-analisar |
{
"key": "C",
"scale": "Major",
"bpm": 120.0,
"time_signature": "4/4",
"camelot": "8B",
"compatible_keys": ["C Major", "G Major", "F Major", "A Minor"]
}
Espesye sa langaw ang Forcipomyia formata.
| file file | Audio file nga i-convert |
| format string | Format sa target: MP3, wav, flac, ogg, m4a, aac |
| bitrate integer | Adunay 12,286 ka molupyo.Ang klima kasarangan. |
| sample_rate integer | Adunay 20,448,450 ka molupyo. |
| channels string | mono o stereo |
Sa palibot sa Chacha.
Ang Textus Receptus sakop sa kahenera nga Textus sa kabanay nga Synapsida.
Sa palibot sa Kūh-e Kūh-e Kūh. (multipart/form-data o JSON)
| Parameter | Tipo | Gikinahanglan | Paghulagway |
|---|---|---|---|
| audio | file | Wala* | Audio input (o audio o teksto (nga gikinahanglan) |
| text | string | Wala* | Ang input sa teksto (o audio o teksto (nga gikinahanglan) |
| voice | string | Wala | Tingog alang sa AI tubag. Panguna: _I-disable |
| tts_model | string | Wala | TTS modelo alang sa tubag. Panguna: sa |
| system_prompt | string | Wala | Ang yuta palibot sa AI kay lain-lain. |
| conversation_id | string | Wala | Pagpadayon sa usa ka naandan nga panagsulti |
Sa palibot sa Reef
{
"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
}
Sa palibot sa Tts.
Ipadala ang daghang mga teksto alang sa parallel TTS generation. Mahimong makadawat og webhook callback kon ang tanan nga mga trabaho nahuman.
Parameter
| Parameter | Tipo | Paghulagway |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | Ang yuta palibot sa Post Point kay medyo kabukiran. |
Sa palibot sa Reef
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
Alihan sa tubig ang B-123 Dam sa Estados Unidos.
Sa palibot sa Vodopad
Pag-pre-calculate sa usa ka tingog nga gi-embed gikan sa reference audio. Paggamit sa gibalik nga embed_id sa mosunod nga mga hangyo sa tingog nga pag-clone alang sa halos-instant nga pag-generation.
Parameter
| Parameter | Tipo | Paghulagway |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
Sa palibot sa Reef
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
Sa palibot sa Health Check.
Sulayi ang kahimtang sa GPU server, na-load nga mga modelo, ug gidak-on sa queue. Wala'y gikinahanglan nga authentication. Gi-cached alang sa 30 ka segundo.
Sa palibot sa Reef
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
Sa palibot sa Model.
Espesye sa tanom nga bulak ang Potentilla repens.
Sa palibot sa Reef
{
"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
}
]
}
Sa palibot sa Votos.
Naghatag og lista sa tanan nga mga posible nga tingog, nga opsiyonal nga gi-filter sa modelo o pinulongan.
Parameter sa pangutana
| Parameter | Tipo | Paghulagway |
|---|---|---|
| model | string | Filtrado pinaagi sa modelo ID (eg., sa(Inaleman) |
| language | string | Lungsod ang Filé (Pransiya: Filé) sa Pransiya. ug(Inaleman) |
| gender | string | Filtrado sa gender: lalaki, babaye, neutral |
Sa palibot sa Reef
{
"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) bag-o
Pag-generate sa mga sinkron nga subtitles alang sa bisan unsang natapos nga TTS job. Pag-run sa Whisper alignment sa audio ug pag-balik sa SRT o WebVTT. Ang resulta gi-cache sa disk aron ang ikaduhang tawag alang sa sama nga uuid usa ka disk read.
Parameter sa pangutana
| Parameter | Gikinahanglan | Paghulagway |
|---|---|---|
| uuid | Sa palibot sa Jabal al Muḩallaqta. | Alihan sa tubig ang W/V/1 Dam sa Estados Unidos. |
| format | Wala | srt (panghimatuud) o ftSa palibot sa Aïn el-Hassane. |
| download | Wala | 1 sa sa pagpadala Lungsod ang Attalla sa Awstralya. Ang yuta palibot sa Cerro No Separa kay lain-lain. |
| language | Wala | Hapit nalukop sa kaumahan ang palibot sa Omi (Ininggles: Omi Dam). |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
Sa palibot sa Diccionario bag-o
Isulti sa TTS engine kung giunsa ang pagpatik sa mga timailhan nga mga pulong. Ang mga gitipig nga mga entry awtomatikong i-apply sa matag TTS request nga imong gihimo. 200-entry per-account limit.
Sa palibot sa Kūh-e Kūh-e Kūh. (POST)
| Parameter | Tipo | Paghulagway |
|---|---|---|
| word | string | Sa palibot sa ‘En ‘Alam. GIF, AntropolohiyaSa palibot sa Kūh-e Maşā‘ī. |
| replacement | string | Sa palibot sa Kūh-e Mīl (Pinulongang Persiyano: کوه میل). Jiff, Sa palibot sa I-n-Témou.(Iningles) |
| language | string | Ang yuta palibot sa Cerro El Idioma kay lain-lain. |
| case_sensitive | boolean | Labaw sa default Wala. Match kaso sa tinuud nga panahon tinuodSa palibot sa Aïn el-Hassane. |
# 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-..."
Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang No Save. Pag-ila Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang Pointe du Point (pagklaro).
Ang artikulo bag-o
Sa palibot sa Single. tag sa bisan unsa nga artikulo nga panid ug mga bisita sa pagkuha sa usa ka fixed reader bar nga narrates sa panid sa pag-klik. Auto-detects sa artikulo nga lawas, suporta sa custom nga tingog / modelo / posisyon / accent kolor.
<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>
Mga kapilian
| Parameter | Paghulagway |
|---|---|
data-pk | Publicable key (pk-tts-…). Domain restrictions enforced via the key's allowed_domains Sa palibot sa Field. |
data-voice | Panguna nga ID sa tingog _I-disableSa palibot sa Aïn el-Hassane. |
data-model | TTS modelo ID. default saSa palibot sa Aïn el-Hassane. |
data-extract | awtomatikong (pagsugod) — misugod article/main/.post-content/.entry-content selectors, mibalik sa denseest paragraph cluster. O mopasa sa bisan unsa nga CSS selector sa target sa usa ka piho nga elemento. |
data-position | ubos (panghimatuud) o sa ibabawSa palibot sa Aïn el-Hassane. |
data-color | Ang kolor sa accent (ang bisan unsang CSS kolor). Panguna Adunay 60,000 ka molupyo.Sa palibot sa Aïn el-Hassane. |
data-min-chars / data-max-chars | I-skip ang bar kon ang artikulo mas mubo kay sa min-chars (panghimatuud 200). Cap input sa max-chars (panghimatuud 50,000). |
Bukid ang ‘En ‘Alī sa Ehipto.
Widget sa I-klik ang Pagtan-aw
Inline button-style nga gi-embed. Gi-render sa tumoy niini Tag ug magdula og usa ka butang nga gi-trigger nga mubo nga snippet. Lain nga porma sa Artikulo Narrator sa ibabaw (nga awtomatikong nag-inject sa usa ka panid-naghan-ang bar ug nag-narrates sa tibuok nga artikulo).
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
Lungsod ang Perpetua (Initalyano: Perpetua) sa Italya.
I-upload ang usa ka reference audio usa ka higayon, pagkuha sa usa ka persistenteng voice_id, unya referencing nga id sa TTS mga hangyo sa baylo sa pag-upload sa audio matag tawag. Ideal alang sa taas nga volume integrations.
Sa palibot sa Voix.
POST
https://tts.ai/api/v1/user-voices/
Awtoridad
Multipart form. Fields: file (nga gikinahanglan, 5-30s audio), ngalan (nga gikinahanglan), pinulongan (nga gikinahanglan, default en), modelo (nga gikinahanglan — auto-picks cosyvoice2 alang sa zh/ja/ko o openvoice), consent_confirmed (nga gikinahanglan, bisan unsa nga tinuod nga bili).
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"
}
Tumoy sa bukid ang Tts sa Swisa.
Ang yuta palibot sa W.S.A.T.S./W.S.A.T.S. kay kasagaran kabungtoran, apan sa amihang-sidlakan nga kini mao ang kabukiran.
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.
Listahan / tangtang
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
Arkibo / re-activate (libre)
Ang mga archived nga tingog mopabilin sa imong account apan dili magamit sa TTS. Maayo alang sa mga natulog nga mga tiggamit sa katapusan, busa ang imong lista mopabilin nga limpyo.
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
Sa palibot sa Code Point.
Sa palibot sa Speech
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')}")
Sa palibot sa Text
# 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"])
Sa palibot sa Klondike.
# 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)
Sa palibot sa Speech
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();
Sa palibot sa Text
// 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);
Sa palibot sa Speech
# 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
Sa palibot sa Text
# 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"
Sa palibot sa Klondike.
# 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
Audio Enhancement
# 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
Mga Kode sa Pagkakamali
Ang yuta palibot sa Json kay lain-lain. error Sa palibot sa Field.
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough characters for this request.",
"characters_required": 4000,
"characters_available": 2000
}
}
| HTTP Status | Kodigo sa Error | Paghulagway |
|---|---|---|
| 400 | bad_request |
Wala'y balido nga mga parameter sa hangyo. Tan-awa ang mensahe sa error alang sa mga detalye. |
| 401 | unauthorized |
Espesye sa langaw ang Simulium insignis. |
| 402 | insufficient_credits |
Sa palibot sa Kūh-e Pir Darah. |
| 403 | forbidden |
Wala ka'y pagtugot sa pag-access sa kini nga rekurso (e.g. polling sa trabaho sa usa ka lain nga tiggamit). Ang API access mismo gilakip sa matag plano. |
| 404 | not_found |
Sa palibot sa Kūh-e Nezāf. |
| 413 | file_too_large |
Espesye sa langaw ang Simulium limiti. |
| 429 | rate_limited |
Dili igo ang mga pangutana. Check rate limit headers. |
| 500 | internal_error |
Ayaw pasayloa ang error. |
| 503 | model_loading |
Ang modelo na-load. Pag-usab sa pipila ka segundo. |
Webhook
Alang sa ubang mga dapit sa mao gihapon nga ngalan, tan-awa ang Long Point. webhook_url parameter. Sa diha nga ang buluhaton natapos, kita POST sa resulta sa imong 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"
}
Sa palibot sa Kūh-e Būl.
Get your API key and start integrating TTS.ai into your applications.