Бусад

API баримт бичиг

REST API-г ашиглан TTS.ai-г програмдаа нэгтгэх. OpenAI-тай нийцтэй формат нь хялбар шилжилтийг хангадаг.

REST API OpenAI-тэй нийцтэй JSON хариулт Цахилгаан дамжуулах дэмжлэг

Тодорхойлолт

TTS.ai API нь бүх платформын онцлог шинж чанаруудад програм хангамжаар нэвтрэх боломжийг олгодог: текстээс ярианд шилжүүлэх синтез, ярианаас текст рүү хөрвүүлэх, дууны клончлол, аудио сайжруулалт гэх мэт. API нь JSON хүсэлт / хариултын биетэй стандарт REST конвенцийг ашигладаг.

API түлхүүр

Таны API түлхүүрийг эндээс аваарай Тооцооны тохиргоо. Pro болон Enterprise төлөвлөгөөнд ашиглаж болно.

Үндсэн URL

https://api.tts.ai/v1/

Үнэлгээ

Үйлчлүүлэгч Authorization хавтас

Идентификатор

Хязгааргүй түвшин - түлхүүр шаардахгүй. Анноним POST- ийг /v1/tts/ ямар ч баталгаажуулалтгүйгээр, өдөрт 5000 тэмдэгт хүртэл IP хаяг бүрээр, манай үнэгүй загваруудаас сонгон ажиллах (piper, vits, melotts, kokoro). 15,000 тэмдэгт болон үнэгүй загваруудыг авахын тулд үнэгүй дансанд бүртгүүлээрэй.

Premium загварууд болон өндөр хүүтэй хязгаарлалтуудын хувьд, Bearer token- ээр баталгаажуулах Authorization хавтас.

HTTP хавтас
Authorization: Bearer sk-tts-your-api-key-here
API түлхүүрийг нууц байлга. Энэ түлхүүрийг хэрэглэгчийн код, нийтийн нөөцөд, эсвэл тэмдэглэлд хуваалцаж болохгүй. Тохиргооноосоо түлхүүрүүдийг тогтмол солих хэрэгтэй.

СДК

Официйн 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")
GitHub

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');
GitHub

Үндсэн URL

Үндсэн URL: https://api.tts.ai/v1/

Бүх төгсгөлийн цэг нь энэ үндсэн URL- тэй харьцангуй байдаг. Жишээ нь, TTS төгсгөлийн цэг нь:

POST https://api.tts.ai/v1/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

POST /v1/tts/

Мэдээллийг ярианд хөрвүүлнэ. Сонсголын файлыг хүссэн хэлбэрээр нь буцаана.

Асуултын бие

ПараметрүүдБүлэгЗаавалТохиргоонууд
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.52.0
language string Үгүй Хэлний код (жишээ нь, en, es). Хэрэв үгүй бол автоматаар илрүүлнэ.
instructions string Үгүй Үйлдэл / хүргэх заавар (≤500 тэмдэгт). жишээ нь \
pronunciations object | array Үгүй Бүх дуудлагад тохирох үгийг сонгоно. {\\
stream boolean Үгүй Үйл явдлын хариуг идэвхжүүлэх. Өмнө нь: false

Жишээ хүсэлт

cURL
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 тэмдгүүд

Тоо, огноо, мөнгө, утасны дугаар, товчлолуудыг

тайлбарлахНөөцӨөрөөр ярьсан
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."
}

Хариулт

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

Response (JSON)
{
  "uuid": "77b71db532874ce98e84a69a2d740d4c",
  "job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
  "status": "queued",
  "credits_used": 11,
  "credits_remaining": 15000
}

Step 2: Poll for result

GET /v1/speech/results/?uuid=<job_uuid>

Poll this endpoint every 1-2 seconds until status is completed or failed.

Polling response (completed)
{
  "status": "completed",
  "result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}
Polling response (still processing)
{
  "status": "processing"
}

Step 3: Download audio

Fetch the result_url from the completed response to download the audio file.

Тодорхой жишээ

Python
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.

Хэлнээс текст рүүName

POST /v1/stt/

Аудиог текст болгон хөрвүүлэх. 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

Хариулт

JSON хариулт
{
  "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"
    }
  ]
}

Хөгжүүлэгч

POST /v1/tts/clone/

Хөгжүүлэгч:

Асуултын бие (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 төгсгөлийн цэгийн адилаар буцаана.

Сонсголыг өөрчлөгч

POST /v1/voice-convert/

Аудиог өөр дуугаар хөрвүүлээрэй. Эх үүсвэр дууг татаж аваад тохирох дууг сонгоно уу.

Асуултын бие (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
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

POST /v1/speech-translate/

Нэг хэлнээс нөгөө рүү орчуулах. Нэг дуудлагад яриа-мэдээлэл, орчуулга, текст-мэдээлэлийг нэгтгэх.

Асуултын бие (multipart/form-data)

ПараметрүүдБүлэгЗаавалТохиргоонууд
file file Тийм Эхний хэл дээрх аудио файл. Хамгийн ихдээ 100МБ.
target_language string Тийм Зориулсан хэлний код (жишээ нь es, fr, de, ja)
voice string Үгүй Зохиогчийн нэр:
preserve_voice boolean Үгүй Орчин үеийн дуу хоолойн шинж чанарыг хадгалж үлдэх. Өгөгдөл: false

Хариулт

JSON хариулт
{
  "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
}

Уншихаас унших

POST /v1/speech-to-speech/

Хэлний хэв маяг, сэтгэл хөдлөл, эсвэл агуулгаа хадгалж байхдаа хүргэх хэлбэрийг өөрчлөх. Тоон, хурд, илэрхийлэлийг тохируулахад тустай.

Асуултын бие (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.52.0

Хариулт

Өөрчлөгдөн гарсан аудио файлыг хоёрын утгатай болгож буцаана.

Аудио хэрэгслүүд

Аудио боловсруулалтын төгсгөлийн цэгүүдийг сайжруулах, дууны чимээ арилгах, үсгийг хуваах гэх мэт.

POST /v1/audio/enhance/

Аудио чанарыг сайжруулах: чимээ арилгах, тодруулах, өндөр нягтралтай болгох.

file fileХөгжүүлэх дууны файл
denoise booleanДуу багасгахыг идэвхжүүлэх (Өгөгдөл: үнэн)
enhance_clarity booleanХэлний тодролыг сайжруулах (Өөрчлөлтгүй: үнэн)
super_resolution booleanАудио чанарыг сайжруулах (стандарт: худал)
strength integer1- 3 (хөнгөн, дунд, хүчтэй). Өмнө нь: 2
POST /v1/audio/separate/

Хөгжим, дууны дууг ялгах (хөгжмийн дууг хасах) эсвэл урт дууг хэсэг болгон хуваах.

file fileХослуулах дууны файл
model stringdemucs (үндсэн) эсвэл spleeter
stems integerХогийн савны тоо: 2, 4, 5, эсвэл 6(Өөрчлөлтгүй: 2)
format stringГаралтын формат: wav, mp3, flac
POST /v1/audio/dereverb/

Аудио бичлэгээс эгшиг, чимээ арилгах.

file fileХийх аудио файл
type stringecho or reverb (default: both)
intensity integer1-5 (default: 3)
POST /v1/audio/analyze/ Чөлөөт

Хөгжмийн хэмнэл, 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"]
}
POST /v1/audio/convert/ Чөлөөт

Аудио форматуудыг хооронд нь хөрвүүл.

file fileАудио файлыг хөрвүүлэх
format stringТохирсон формат: mp3, wav, flac, ogg, m4a, aac
bitrate integerКб/ с- ийн гарчгийн битийн хурд: 64, 128, 192, 256, 320
sample_rate integerЖишээ авах хурд: 22050, 44100, 48000
channels stringmono эсвэл stereo

Дуу яриа

POST /v1/voice-chat/

Аудио эсвэл текст илгээж, синтетик ярианы 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 Үгүй Одоо байгаа яриаг үргэлжлүүлэх

Хариулт

JSON хариулт
{
  "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
}

Бүтээгдэхүүн

POST /v1/tts/batch/

Олон текстийг нийлмэл TTS үүсгэхийн тулд илгээнэ. Бүх ажлууд дууссаны дараа webhook- ийн дуудлагыг хүлээн авахыг сонгоно уу.

Параметрүүд

ПараметрБүлэгТодорхойлолт
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringБүтээгдэхүүний багц дууссаны дараа POST хийх URL.

Хариулт

JSON хариулт
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

/v1/tts/batch/result/?batch_id=abc123-ийн тусламжтайгаар асуултын явцыг олж авах

Дуу оруулалт

POST /v1/voice-embed/

Эхнийх нь дууны embed-ийг тооцоолох. Дараагийн дууны embed-ийн хүсэлтийг embed_id-ээр илэрхийлсэн embed_id-ийг ашиглан шууд үүсгэх.

Параметрүүд

ПараметрБүлэгТодорхойлолт
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

Хариулт

JSON хариулт
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

Эрүүл мэндийн үзлэг

GET /v1/health/

ГПҮ серверийн байдал, ачаалагдсан загварууд, дарааллын хэмжээг шалгана. Идэвхжүүлэх шаардлагагүй. 30 секундын турш хадгалагдсан.

Хариулт

JSON хариулт
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

Бүтээгдэхүүний жагсаалт

GET /v1/models/

Бүх боломжтой загваруудын жагсаалтыг үзүүлэв.

Хариулт

JSON хариулт
{
  "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
    }
  ]
}

Сонсогчдын жагсаалт

GET /v1/voices/

Бүх дуунуудын жагсаалтыг буцааж өгнө, загвар эсвэл хэлээр шүүж болно.

Асуултын параметрүүд

ПараметрүүдБүлэгТохиргоонууд
model string Модель ID-ээр (жишээ нь kokoro) шүүх
language string Хэлний кодоор (жишээ нь mn) шүүх
gender string Хүйсээр нь шүүх: male, female, neutral

Хариулт

JSON хариулт
{
  "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) шинэ

GET /v1/speech/subtitles/?uuid=<job_uuid>&format=srt|vtt&download=1

Бүх дууны орчуулгын ажлуудад синхрончлосон субтитрүүдийг үүсгэнэ. Аудио дээр Whisper- ийг ажиллуулж SRT эсвэл WebVTT- ийг буцаана. Үр дүн нь дискэнд хадгалагдана. Иймээс ижил uuid- ийн хоёр дахь дуудлага нь дискнээс уншсан болно.

Асуултын параметрүүд

ПараметрүүдЗаавалТохиргоонууд
uuidТийм/v1/tts/ эсвэл /v1/voice-clone/-оос буцаасан ажлын UUID.
formatҮгүйsrt (стандарт) эсвэл vtt.
downloadҮгүй1 Content-Disposition: attachment илгээхэд, вэб хөтөч нь харуулахын оронд хадгална.
languageҮгүйЗүүн- баруун
cURL
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt

Унших толь шинэ

GET POST DELETE /api/v1/pronunciations/

ТТС-ийн хөдөлгүүрт тодорхой үгийг хэрхэн унших талаар заана. Оруулсан бичлэгүүд таны бичсэн ТТС-ийн хүсэлт бүрт автоматаар хэрэгжинэ. Нэг дансанд 200 бичлэгийг хязгаарлана.

Асуултын бие (POST)

ПараметрүүдБүлэгТохиргоонууд
wordstringӨөрчилж болох үг (жишээ нь GIF, Anthropic). Үгний хил тохирсон.
replacementstringЭнэ нь өгөгдлийн санд хадгалагдсан мэдээллийг (жишээ нь, j, j) хадгалдаг.
languagestringISO код сонгох боломжтой. Хоосон = бүх хэлүүдэд хамаарна.
case_sensitivebooleanfalse-ийн өмнөх. true-ийн үед үсгийн том жижигийг яг тохируулах.
cURL
# 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> тэмдгийг хаявал зочид хуудас дээр дарж уншиж байгаа бичлэгийг уншдаг дэлгэцтэй болно. Мэдээний биеийг автоматаар олж, өөрийн дуу/ загвар/ байршил/ өнгөг дэмждэг.

HTML
<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-modelTTS загварын ID. Өмнө нь kokoro.
data-extractauto (стандарт) — article/main/.post-content/.entry-content сонгогчдыг туршиж үзнэ, хамгийн зузаан параграфын багцад буцаж орно. Эсвэл тодорхой элементийг тодорхойлохын тулд CSS сонгогчийг өгнө.
data-positionbottom (стандарт) эсвэл top.
data-colorТодорхойлолтын өнгө (CSS-ийн ямар ч өнгө). Өмнө нь #e60000.
data-min-chars / data-max-charsХэрэв нийтлэл нь хамгийн бага тооны тэмдэгтээс (стандарт 200) бага бол үүнийг үлдээх. Хамгийн их тооны тэмдэгтийг (стандарт 50, 000) оруулах.

GitHub дээрх эх сурвалж:

Сонсох товчComment

Дараах товчлуурын хэв маягийн нийлмэл. < code>< script тэмдгийн хажууд гарчиглаж товчлуурын товчлуураар үүсгэгдсэн богино хэсгийг тоглуулна. Доорх Мэдээний яригчаас өөр хэлбэртэй (мэдээний бүх хэсгийг ярих хуудас өргөнтэй самбар автоматаар оруулна).

HTML
<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-г нь татаж авах.

Үнэ: Хуваалцах нь үнэгүй (өдөр бүрийн түрээсгүй, зайны хязгааргүй). Хуваалцах төлбөр: дуу бүрт 500 тэмдэгт нэг удаа. Хэрэглэх бүрт нэмэлт төлбөр: хадгалсан дууг илэрхийлэх TTS үүсгэх бүрт +50 тэмдэгт нэмнэ, хэвийн үүсгэх төлбөрийн дээр. Одоо хэрэггүй дууг хадгалж, унтаж байх үед нь хадгал; хэзээ ч идэвхжүүлэх боломжтой. Хоёулаа чөлөөт API дуудлага юм.

Дуу өргөх

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

Python - хүсэлтүүд
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

Python - хүсэлтүүд
# 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"])

Хөгжүүлэгч

Python - хүсэлтүүд
# 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

JavaScript - ийг олж авах
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

JavaScript - ийг олж авах
// 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

cURL
# 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

cURL
# 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"

Хөгжүүлэгч

cURL
# 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

Аудио сайжруулалт

cURL
# 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"
}
Веб- нийлмэл үр дүнг 24 цагийн турш татаж авах боломжтой. Түүнийг хурдан татаж аваарай.

Барьж дууссан уу?

API түлхүүрийг олж аваад TTS.ai-г програмдаа нэгтгэхээс эхэл.