Ҳужжатлаштириш

TTS.ai'ни ўз дастурларингизга бизнинг REST API'миз билан интеграция қилинг. Осон кўчиш учун 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/ Бизнинг бепул моделларимиздан фойдаланиб, ҳар бир IP-манзил учун кунига 5000 тагача белгини ҳеч қандай рухсатсиз ишлатишга имкон беради (piper, vits, melotts, kokoro). 15,000 та бонус характер ва премиум моделларга кириш учун бепул ҳисобга рўйхатдан ўтинг.

Premium моделлари ва юқори тезлик чегаралари учун, қуйидагида Bearer token билан аутентификация қилинг Authorization бошлиқ.

HTTP боши
Authorization: Bearer sk-tts-your-api-key-here
API калитингизни махфий сақланг. Уни клиент кодида, жамоат сақловхоналарида ёки журналларда ўртоқлашманг. Ҳисоб параметрларингиздан калитларни мунтазам айлантириб туринг.

SDKлар

Расмий 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, ва ҳоказо) 4,000 белги Ҳар 1000 белги учун
Сўздан матнга 2000 белги Ҳар дақиқада аудио
Товушни клонлаш 4,000 белги Ҳар 1000 белги учун
Овоз алмаштиргич 3000 белги Ҳар дақиқада аудио
Аудио кучайтириш 2000 белги Ҳар дақиқада аудио
Вокални олиб ташлаш / Вокални ажратиш 3,000-4,000 белги Ҳар дақиқада аудио
Товуш таржимаси 5,000 белги Ҳар дақиқада аудио
Овозли суҳбат 3000 белги ҳар бир айланишда
Калит ва BPM қидиргичи Оқ --
Аудио кўчиргич Оқ --

Матндан сўзга

POST /v1/tts/

Матнни сўзлаш аудиосига айлантиради. Audio файлни талаб қилинган форматда қайтаради.

Сўров матни

ПараметрларТуриКўрсатилганТасвирлаш
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 белги (аноним), 5,000 (бепул ҳисоб), 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
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-31December thirty-first, nineteen ninety-nine
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.

Full example

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.

Сўздан матнга

POST /v1/stt/

Аудиони матнга кўчириш. 99 та тилни автоматик аниқлаш билан қўллаб-қувватлайди.

Сўров матни (multipart/form-data)

ПараметрларТуриКўрсатилганТасвирлаш
file file Ҳа Аудио файл (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Максимум 100MB.
model string Йўқ STT модели: whisper (одатдаги), faster-whisper, sensevoice
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). Max 50MB.
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

Жавоб

Ўгирилган аудио файлни иккилик маълумотлар сифатида қайтаради.

Товуш таржимаси

POST /v1/speech-translate/

Бир тилдан бошқа тилга сўзланган аудиони таржима қилиш. Бир марталик қўнғироқда сўздан матнга, таржимадан матнга ва матндан сўзга таржима қилишни бирлаштиради.

Сўров матни (multipart/form-data)

ПараметрларТуриКўрсатилганТасвирлаш
file file Ҳа Манба аудио файли асл тилда. Максимум 100MB.
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 Ҳа Манба сўзлашув аудио файли. Max 50MB.
voice string Ҳа Чиқувчи сўзлашув учун мақсад овоз ID
model string Йўқ Намуна: openvoice (одатдаги), chatterbox
emotion string Йўқ Мақсад ҳиссиёт: neutral, happy, sad, angry, excited
speed float Йўқ Тезликни созлаш. Ўртача: 1.0. Диапазон: 0.5 дан 2.0 гача

Жавоб

Трансформация қилинган аудио файлни иккилик маълумотлар сифатида қайтаради.

Аудио асбоблари

Уни яхшилаш, овозни олиб ташлаш, устунларни ажратиш ва бошқалар учун аудиони ишлаш охирги нуқталари.

POST /v1/audio/enhance/

Аудио сифатини яхшилаш: шовқинни йўқотиш, аниқликни яхшилаш, супер резолюция.

file fileУни кучайтириш учун аудио файл
denoise booleanШубҳасизлаштиришни ишга тушириш (одатдаги: тўғри)
enhance_clarity booleanТовуш аниқлигини ошириш (стандарт: true)
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 Йўқ AI учун мослаштирилган тизим саволи
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 қўнғироқни қабул қилишни танлаш мумкин.

Параметрлар

ПарамeтрларТуриТасвирлаш
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

Жавоб

JSON жавоби
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

GET /v1/tts/batch/result/?batch_id=abc123 билан сўровнинг бориши

Гапни ёпиш

POST /v1/voice-embed/

Эслатиб ўтиш аудиосидан овозни ёпиштиришни олдиндан ҳисоблаш. Кейинги овозни клонлаш талабларида қайтарилган embed_id'ни тезкор яратиш учун ишлатиш.

Параметрлар

ПарамeтрларТуриТасвирлаш
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/

GPU сервер ҳолати, юкланган моделлар ва навбат ҳажмини текширади. Аутентификация талаб этилмайди. 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 Тил коди бўйича филтрлаш (масалан, en)
gender string жинс бўйича филтрлаш: эркак, аёл, бетараф

Жавоб

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 alignment'ни бажаради ва 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/

TTS двигателини маълум сўзларни қандай талаффуз қилишни айтинг. Сақланган киритмалар сизнинг ҳар бир TTS талабингизга автоматик равишда қўлланилади. Ҳар бир ҳисоб учун 200 киритма чегараси.

Сўров матни (POST)

ПараметрларТуриТасвирлаш
wordstringЎчириладиган сўз (масалан GIF, Anthropic). Сўз чегараси мос келди.
replacementstringМодель учун қандай ёзилиши (масалан jiff, ann THROP ick).
languagestringИловаий ISO коди. Пуст = барча тилларга тааллуқли.
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-..."

Сиз уларни сақламасдан ҳар бир талаб бўйича ўзгартиришларни ҳам ўтказа оласиз — pronunciations ни ҳар қандай /v1/tts/ чақириқда объект ёки мажмуа сифатида киритишингиз мумкин (TTS охиридаги параметрларни кўринг).

Мақола сўзловчиси янги

Ҳар қандай мақола саҳифасига битта