API баримт бичиг
REST API-г ашиглан TTS.ai-г програмдаа нэгтгэх. OpenAI-тай нийцтэй формат нь хялбар шилжилтийг хангадаг.
Тодорхойлолт
TTS.ai API нь бүх платформын онцлог шинж чанаруудад програм хангамжаар нэвтрэх боломжийг олгодог: текстээс ярианд шилжүүлэх синтез, ярианаас текст рүү хөрвүүлэх, дууны клончлол, аудио сайжруулалт гэх мэт. API нь JSON хүсэлт / хариултын биетэй стандарт REST конвенцийг ашигладаг.
API түлхүүр
Таны API түлхүүрийг эндээс аваарай Тооцооны тохиргоо. Pro болон Enterprise төлөвлөгөөнд ашиглаж болно.
Үндсэн URL
https://api.tts.ai/v1/
Үнэлгээ
Үйлчлүүлэгч Authorization хавтас
Идентификатор
/v1/tts/ ямар ч баталгаажуулалтгүйгээр, өдөрт 5000 тэмдэгт хүртэл IP хаяг бүрээр, манай үнэгүй загваруудаас сонгон ажиллах (piper, vits, melotts, kokoro). 15,000 тэмдэгт болон үнэгүй загваруудыг авахын тулд үнэгүй дансанд бүртгүүлээрэй.
Premium загварууд болон өндөр хүүтэй хязгаарлалтуудын хувьд, Bearer token- ээр баталгаажуулах Authorization хавтас.
Authorization: Bearer sk-tts-your-api-key-here
СДК
Официйн SDK- ууд нь таны програмд TTS.ai- ийг нэгтгэх боломжийг олгодог. Хоёр нь ч нээлттэй эхийн кодтой бөгөөд 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
Бүх төгсгөлийн цэг нь энэ үндсэн URL- тэй харьцангуй байдаг. Жишээ нь, TTS төгсгөлийн цэг нь:
Хязгаарлалтууд
API хурдны хязгаар төлөвлөгөөнөөс хамаарна:
| Зүүн | Асуулт/минут | Нэг зэрэг | Максимум текстийн урт |
|---|---|---|---|
| Хязгааргүй | 10 | 2 | 500 тэмдэгт |
| Эхлүүлэгч | 30 | 3 | 1,000,000 тэмдэгт |
| Про | 60 | 5 | 1,000,000 тэмдэгт |
| Компани | 300 | 20 | 50,000 тэмдэгт |
Хариулт бүрт багтсан хурдны хязгаар: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Кредитийн үнэ
| Хэрэгсэл | Үнэ | Нэгж |
|---|---|---|
| TTS (Үнэгүй загварууд: Piper, VITS, MeloTTS) | 1000 тэмдэгт | 1000 тэмдэгт тутамд |
| TTS (стандарт загварууд: Kokoro, CosyVoice 2, гэх мэт) | 2000 тэмдэгт | 1000 тэмдэгт тутамд |
| TTS (Premium загварууд: Tortoise, Chatterbox, гэх мэт) | 4000 тэмдэгт | 1000 тэмдэгт тутамд |
| Хэлнээс текст рүүName | 2000 тэмдэгт | минутын аудио |
| Хөгжүүлэгч | 4000 тэмдэгт | 1000 тэмдэгт тутамд |
| Сонсголыг өөрчлөгч | 3000 тэмдэгт | минутын аудио |
| Аудио сайжруулалт | 2000 тэмдэгт | минутын аудио |
| Хөгжимийг устгах / Хослох | 3000-4000 тэмдэгт | минутын аудио |
| Хэлний орчуулгаName | 5000 тэмдэгт | минутын аудио |
| Дуу яриа | 3000 тэмдэгт | Бүх гүйлт |
| Товч хайгч | Хязгааргүй | -- |
| Аудио хөрвүүлэгч | Хязгааргүй | -- |
Үгнээс үсэг рүүName
Мэдээллийг ярианд хөрвүүлнэ. Сонсголын файлыг хүссэн хэлбэрээр нь буцаана.
Асуултын бие
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| model | string | Үгүй | Модель ID (жишээ нь, kokoro, chatterbox, piper). Хэрэв үлдээх юм бол хүссэн language-ийг дэмждэг загварыг автоматаар сонгоно. en/ja/zh/ko/fr/de/it/pt/es/hi/ru-д kokoro, бусад дэмждэг хэлнүүдэд piper (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/etc.). |
| text | string | Тийм | Хэлнээс утга руу хөрвүүлэх текст. Нэг хүсэлтээр: 500 тэмдэгт (анонсоймооргүй), 5000 (үнэгүй), 1,000,000 (төлбөртэй). Хэт урт бичлэгийг сервер автоматаар хуваана. |
| voice | string | Тийм | Дууны ID (/v1/voices/ ашиглан дуунуудын жагсаалтыг гаргах) |
| format | string | Үгүй | Гаралтын формат: mp3 (стандарт), wav, flac, ogg |
| speed | float | Үгүй | Хэлний хурдны олонлог. Өмнө нь: 1.0. Хязгаар: 0.5-с 2.0 |
| language | string | Үгүй | Хэлний код (жишээ нь, en, es). Хэрэв үгүй бол автоматаар илрүүлнэ. |
| instructions | string | Үгүй | Үйлдэл / хүргэх заавар (≤500 тэмдэгт). жишээ нь \ |
| pronunciations | object | array | Үгүй | Бүх дуудлагад тохирох үгийг сонгоно. {\\ |
| stream | boolean | Үгүй | Үйл явдлын хариуг идэвхжүүлэх. Өмнө нь: false |
Жишээ хүсэлт
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
SSML тэмдгүүд
Тоо, огноо, мөнгө, утасны дугаар, товчлолуудыг Өдөрт зориулсан стандарт формат нь 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
тайлбарлах Нөөц Өөрөөр ярьсан cardinal1234one thousand two hundred thirty-four ordinal21twenty-first date1999-12-3112-р сарын 31, 1999 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 Англи хэлний хувьд, dmy бусад тохиолдолд; 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."
}Хариулт
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.Тодорхой жишээ
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.
Хэлнээс текст рүүName
Аудиог текст болгон хөрвүүлэх. 99 хэлийг автоматаар олж илрүүлнэ.
Асуултын бие (multipart/form-data)
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| file | file | Тийм | Аудио файл (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Хамгийн ихдээ 100МБ. |
| model | string | Үгүй | STT загвар: шүү (стандарт), шүү-шүү, шинжлэх ухааны дуу |
| language | string | Үгүй | Хэлний код. auto нь автоматаар илрүүлэх (стандарт). |
| timestamps | boolean | Үгүй | Үгний түвшний цаг хугацааны тэмдэглэгээг оруулах. Өгөгдөл: false |
| diarize | boolean | Үгүй | Хөгжүүлэгчийг идэвхжүүлэх. Өгөгдөл: false |
Хариулт
{
"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"
}
]
}
Хөгжүүлэгч
Хөгжүүлэгч:
Асуултын бие (multipart/form-data)
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| reference_audio | file | Тийм | Дууны аудио (10-30 секунд зөвлөж байна). Max 20MB. |
| text | string | Тийм | Клонлогдсон дуугаар хэлэх текст. |
| model | string | Үгүй | Клон загвар: chatterbox (стандарт), cosyvoice2, gpt-sovits |
| format | string | Үгүй | Гаралтын формат: mp3 (стандарт), wav, flac |
| language | string | Үгүй | Тодорхойлох хэлний код. Энэ нь сонгосон загварт дэмжлэгтэй байх ёстой. |
Хариулт
Аудио файлыг хоёрын утгатай, TTS төгсгөлийн цэгийн адилаар буцаана.
Сонсголыг өөрчлөгч
Аудиог өөр дуугаар хөрвүүлээрэй. Эх үүсвэр дууг татаж аваад тохирох дууг сонгоно уу.
Асуултын бие (multipart/form-data)
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| file | file | Тийм | Эх үүсвэр дууны файл (MP3, WAV, FLAC). Максимум 50МБ. |
| target_voice | string | Тийм | Өөрчлөх дууны ID (/v1/voices/ ашиглан дуунуудын жагсаалтыг гаргах) |
| model | string | Үгүй | Хэлний хувиргалтын загвар: openvoice (стандарт), knn-vc |
| format | string | Үгүй | Гаралтын формат: wav (стандарт), mp3, flac |
Жишээ хүсэлт
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
Хариулт
Өөрчлүүлсэн аудио файлыг хоёрын утгатай болгож буцаана.
Хэлний орчуулгаName
Нэг хэлнээс нөгөө рүү орчуулах. Нэг дуудлагад яриа-мэдээлэл, орчуулга, текст-мэдээлэлийг нэгтгэх.
Асуултын бие (multipart/form-data)
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| file | file | Тийм | Эхний хэл дээрх аудио файл. Хамгийн ихдээ 100МБ. |
| target_language | string | Тийм | Зориулсан хэлний код (жишээ нь es, fr, de, ja) |
| voice | string | Үгүй | Зохиогчийн нэр: |
| preserve_voice | boolean | Үгүй | Орчин үеийн дуу хоолойн шинж чанарыг хадгалж үлдэх. Өгөгдөл: false |
Хариулт
{
"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
}
Уншихаас унших
Хэлний хэв маяг, сэтгэл хөдлөл, эсвэл агуулгаа хадгалж байхдаа хүргэх хэлбэрийг өөрчлөх. Тоон, хурд, илэрхийлэлийг тохируулахад тустай.
Асуултын бие (multipart/form-data)
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| file | file | Тийм | Эх үүсвэр ярианы аудио файл. Хамгийн ихдээ 50МБ. |
| voice | string | Тийм | Үгний гарчгийн дууны ID |
| model | string | Үгүй | Модель: openvoice (стандарт), chatterbox |
| emotion | string | Үгүй | Зорилтот сэтгэл хөдлөл: neutral, happy, sad, angry, excited |
| speed | float | Үгүй | Хурд тохируулах. Өмнө нь: 1.0. Хязгаар: 0.5-с 2.0 |
Хариулт
Өөрчлөгдөн гарсан аудио файлыг хоёрын утгатай болгож буцаана.
Аудио хэрэгслүүд
Аудио боловсруулалтын төгсгөлийн цэгүүдийг сайжруулах, дууны чимээ арилгах, үсгийг хуваах гэх мэт.
Аудио чанарыг сайжруулах: чимээ арилгах, тодруулах, өндөр нягтралтай болгох.
| file file | Хөгжүүлэх дууны файл |
| denoise boolean | Дуу багасгахыг идэвхжүүлэх (Өгөгдөл: үнэн) |
| enhance_clarity boolean | Хэлний тодролыг сайжруулах (Өөрчлөлтгүй: үнэн) |
| super_resolution boolean | Аудио чанарыг сайжруулах (стандарт: худал) |
| strength integer | 1- 3 (хөнгөн, дунд, хүчтэй). Өмнө нь: 2 |
Хөгжим, дууны дууг ялгах (хөгжмийн дууг хасах) эсвэл урт дууг хэсэг болгон хуваах.
| file file | Хослуулах дууны файл |
| model string | demucs (үндсэн) эсвэл spleeter |
| stems integer | Хогийн савны тоо: 2, 4, 5, эсвэл 6(Өөрчлөлтгүй: 2) |
| format string | Гаралтын формат: wav, mp3, flac |
Аудио бичлэгээс эгшиг, чимээ арилгах.
| file file | Хийх аудио файл |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
Хөгжмийн хэмнэл, BPM, хэмнэлийн тэмдэглэгээг олж илрүүлэх аудио анализ хийх.
| file file | Судлах дууны файл |
{
"key": "C",
"scale": "Major",
"bpm": 120.0,
"time_signature": "4/4",
"camelot": "8B",
"compatible_keys": ["C Major", "G Major", "F Major", "A Minor"]
}
Аудио форматуудыг хооронд нь хөрвүүл.
| file file | Аудио файлыг хөрвүүлэх |
| format string | Тохирсон формат: mp3, wav, flac, ogg, m4a, aac |
| bitrate integer | Кб/ с- ийн гарчгийн битийн хурд: 64, 128, 192, 256, 320 |
| sample_rate integer | Жишээ авах хурд: 22050, 44100, 48000 |
| channels string | mono эсвэл stereo |
Дуу яриа
Аудио эсвэл текст илгээж, синтетик ярианы AI хариуг хүлээнэ.
Асуултын бие (multipart/form-data эсвэл JSON)
| Параметрүүд | Бүлэг | Заавал | Тохиргоонууд |
|---|---|---|---|
| audio | file | Үгүй* | Аудио оруулалт (audio эсвэл text шаардагдана) |
| text | string | Үгүй* | Текст оруулах (audio эсвэл text шаардагдана) |
| voice | string | Үгүй | AI хариултын дуу. Өгөгдсөн: af_bella |
| tts_model | string | Үгүй | Хариултын TTS загвар. Өмнө нь: kokoro |
| system_prompt | string | Үгүй | Өөрийн системийн дохиоComment |
| conversation_id | string | Үгүй | Одоо байгаа яриаг үргэлжлүүлэх |
Хариулт
{
"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 үүсгэхийн тулд илгээнэ. Бүх ажлууд дууссаны дараа webhook- ийн дуудлагыг хүлээн авахыг сонгоно уу.
Параметрүүд
| Параметр | Бүлэг | Тодорхойлолт |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | Бүтээгдэхүүний багц дууссаны дараа POST хийх URL. |
Хариулт
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
/v1/tts/batch/result/?batch_id=abc123-ийн тусламжтайгаар асуултын явцыг олж авах
Дуу оруулалт
Эхнийх нь дууны embed-ийг тооцоолох. Дараагийн дууны embed-ийн хүсэлтийг embed_id-ээр илэрхийлсэн embed_id-ийг ашиглан шууд үүсгэх.
Параметрүүд
| Параметр | Бүлэг | Тодорхойлолт |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
Хариулт
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
Эрүүл мэндийн үзлэг
ГПҮ серверийн байдал, ачаалагдсан загварууд, дарааллын хэмжээг шалгана. Идэвхжүүлэх шаардлагагүй. 30 секундын турш хадгалагдсан.
Хариулт
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
Бүтээгдэхүүний жагсаалт
Бүх боломжтой загваруудын жагсаалтыг үзүүлэв.
Хариулт
{
"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
}
]
}
Сонсогчдын жагсаалт
Бүх дуунуудын жагсаалтыг буцааж өгнө, загвар эсвэл хэлээр шүүж болно.
Асуултын параметрүүд
| Параметрүүд | Бүлэг | Тохиргоонууд |
|---|---|---|
| model | string | Модель ID-ээр (жишээ нь kokoro) шүүх |
| language | string | Хэлний кодоор (жишээ нь mn) шүүх |
| gender | string | Хүйсээр нь шүүх: male, female, neutral |
Хариулт
{
"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
}
Субтитрүүд (SRT / VTT) шинэ
Бүх дууны орчуулгын ажлуудад синхрончлосон субтитрүүдийг үүсгэнэ. Аудио дээр Whisper- ийг ажиллуулж SRT эсвэл WebVTT- ийг буцаана. Үр дүн нь дискэнд хадгалагдана. Иймээс ижил uuid- ийн хоёр дахь дуудлага нь дискнээс уншсан болно.
Асуултын параметрүүд
| Параметрүүд | Заавал | Тохиргоонууд |
|---|---|---|
| uuid | Тийм | /v1/tts/ эсвэл /v1/voice-clone/-оос буцаасан ажлын UUID. |
| format | Үгүй | srt (стандарт) эсвэл vtt. |
| download | Үгүй | 1 Content-Disposition: attachment илгээхэд, вэб хөтөч нь харуулахын оронд хадгална. |
| language | Үгүй | Зүүн- баруун |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
Унших толь шинэ
ТТС-ийн хөдөлгүүрт тодорхой үгийг хэрхэн унших талаар заана. Оруулсан бичлэгүүд таны бичсэн ТТС-ийн хүсэлт бүрт автоматаар хэрэгжинэ. Нэг дансанд 200 бичлэгийг хязгаарлана.
Асуултын бие (POST)
| Параметрүүд | Бүлэг | Тохиргоонууд |
|---|---|---|
| word | string | Өөрчилж болох үг (жишээ нь GIF, Anthropic). Үгний хил тохирсон. |
| replacement | string | Энэ нь өгөгдлийн санд хадгалагдсан мэдээллийг (жишээ нь, j, j) хадгалдаг. |
| language | string | ISO код сонгох боломжтой. Хоосон = бүх хэлүүдэд хамаарна. |
| case_sensitive | boolean | false-ийн өмнөх. true-ийн үед үсгийн том жижигийг яг тохируулах. |
# 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-..."
Та мөн хүссэнээр нь хадгалж үлдээх заалтуудыг дамжуулж болно — ямар ч /v1/tts/ дуудлагад pronunciations-ийг объект эсвэл массив болгон оруулна (TTS эцсийн цэгийн параметрүүдийг үзнэ үү).
Мэдээний яригч шинэ
Ямар ч нийтлэл хуудас дээр нэг < code>< script> code> тэмдгийг хаявал зочид хуудас дээр дарж уншиж байгаа бичлэгийг уншдаг дэлгэцтэй болно. Мэдээний биеийг автоматаар олж, өөрийн дуу/ загвар/ байршил/ өнгөг дэмждэг.
<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>
Тохиргоонууд
| Параметрүүд | Тохиргоонууд |
|---|---|
data-pk | Нээлттэй түлхүүр (pk-tts-...). Доменийн хязгаарлалтууд түлхүүрийн allowed_domains талбараар хийгддэг. |
data-voice | Хөгжимчдийн ID. Өгөгдсөн af_bella. |
data-model | TTS загварын ID. Өмнө нь kokoro. |
data-extract | auto (стандарт) — article/main/.post-content/.entry-content сонгогчдыг туршиж үзнэ, хамгийн зузаан параграфын багцад буцаж орно. Эсвэл тодорхой элементийг тодорхойлохын тулд CSS сонгогчийг өгнө. |
data-position | bottom (стандарт) эсвэл top. |
data-color | Тодорхойлолтын өнгө (CSS-ийн ямар ч өнгө). Өмнө нь #e60000. |
data-min-chars / data-max-chars | Хэрэв нийтлэл нь хамгийн бага тооны тэмдэгтээс (стандарт 200) бага бол үүнийг үлдээх. Хамгийн их тооны тэмдэгтийг (стандарт 50, 000) оруулах. |
Сонсох товчComment
Дараах товчлуурын хэв маягийн нийлмэл. < code>< script code> тэмдгийн хажууд гарчиглаж товчлуурын товчлуураар үүсгэгдсэн богино хэсгийг тоглуулна. Доорх Мэдээний яригчаас өөр хэлбэртэй (мэдээний бүх хэсгийг ярих хуудас өргөнтэй самбар автоматаар оруулна).
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
Суулгасан дуунууд (хүчтэй клонууд)
Нэг удаа аудиог татаж авах, voice_id-г нь авч, дараа нь дуудлагын дараа дууг дахин татаж авахын оронд TTS-ийн хүсэлтээр энэ id-г нь татаж авах.
Дуу өргөх
POST
https://tts.ai/api/v1/user-voices/
Тодорхойлолт шаардагдана
Олон хэсэгт хуваагдсан хэлбэр. Өрөө: файл (зайлшгүй, 5-30с дуу), нэр (зайлшгүй), хэл (боломжтой, үндсэн en), загвар (боломжтой — zh/ja/ko-д cosyvoice2, хэрэв openvoice болвол автоматаар сонгоно), зөвшөөрөл_зарлах (зайлшгүй, ямар ч үнэн утгатай).
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"
}
ТТС-д хадгалсан дууг ашиглах
POST to /api/v1/tts/ (NOTE: web VPS host, not api.tts.ai) with user_voice_id. Бид таны хадгалсан дуу болон маршрутыг клончлох хоолой руу ачаална.
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.
Тохиргооны хуудас
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
Архивлах / идэвхжүүлэх (хязгааргүй)
Архивлагдсан дуунууд таны дансанд үлдэнэ, гэхдээ TTS-д ашиглагдахгүй. Хэрэггүй хэрэглэгчдэд тусална, ингэснээр таны жагсаалт цэвэрхэн байх болно.
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
Кодын жишээ
Үгнээс үсэг рүүName
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')}")
Хэлнээс текст рүүName
# 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"])
Хөгжүүлэгч
# 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)
Үгнээс үсэг рүүName
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();
Хэлнээс текст рүүName
// 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);
Үгнээс үсэг рүүName
# 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
Хэлнээс текст рүүName
# 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"
Хөгжүүлэгч
# 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
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
Бурууны кодууд
Бүх алдаанууд JSON хариуг өгөөгүй error талбар.
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough characters for this request.",
"characters_required": 4000,
"characters_available": 2000
}
}
| HTTP байдал | Хатагтайн код | Тохиргоонууд |
|---|---|---|
| 400 | bad_request |
Санамсаргүйгээр алдаа гарсан. Тодорхойлолтыг алдааны мэдээнээс авна уу. |
| 401 | unauthorized |
API түлхүүр алга эсвэл хүчингүй. |
| 402 | insufficient_credits |
Тодорхойлолтууд хангалтгүй байна. /pricing/ дээр нэмэлтийг худалдана уу. |
| 403 | forbidden |
Та энэ эх үүсвэрт хандах эрхгүй байна (жишээ нь, өөр хэрэглэгчийн ажлыг шалгах). API- ийн нэвтрэх эрх нь бүх төлөвлөгөөнд багтсан байдаг. |
| 404 | not_found |
Модель эсвэл дуу чимээ олдсонгүй. |
| 413 | file_too_large |
Файл өргөтгөлийг хадгалах |
| 429 | rate_limited |
Маш олон хүсэлт ирсэн. Хязгаарлалтын дээд хязгааруудыг шалгана уу. |
| 500 | internal_error |
Серверийн алдаа. Удахгүй дахин оролдоно уу. |
| 503 | model_loading |
Модель нээгдэж байна. Зарим секундын дараа дахин оролдоно уу. |
Веб холболтууд
Урт хугацааны ажлууд (төмөр хуваах, багц TTS), та webhook_url параметрийг өгч болно. Ажлын төгсгөлд, бид үр дүнг таны URL руу POST хийх болно.
{
"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"
}
Барьж дууссан уу?
API түлхүүрийг олж аваад TTS.ai-г програмдаа нэгтгэхээс эхэл.