Ҳуҷҷатҳои API

TTS.ai-ро бо барномаҳои худ бо API-и REST-и мо якҷоя кунед. Формати мувофиқи OpenAI барои гузариш ба осонӣ.

REST API Совместимость с OpenAI Ҷавобҳои JSON Пуштибонии ҷараён

& Нишон додани ҳама

TTS.ai API дастрасии барномавӣ ба ҳамаи хусусиятҳои платформаро таъмин мекунад: синтези матн ба сухан, гузаронидани сухан ба матн, клонкунии овоз, беҳтарсозии аудио ва ғайра. API қоидаҳои стандартии REST-ро бо бадани дархости/ҷавоби JSON истифода мебарад.

Калиди API

Калиди API- и худро аз ин ҷо гиред Гузоришҳои ҳисоб. Корхонаҳои саноатӣ ва кишоварзӣ мавҷуданд.

URL- и асосӣ

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

Муайянкунӣ

Иҷозатномаи соҳиб тавассути Authorization сарлавҳа

Аслшиносӣ

Ҳамаи дархостҳои API аслшиносиро тавассути рамзи Bearer дар 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 100,000 аломат
Про 60 5 100,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 аломат
Гузаштан ба матнComment 2000 аломат % 1 дақиқа
Тасвири овоз 4000 аломат ҳар 1000 аломат
Тағйири овозName 3000 аломат % 1 дақиқа
Барқарорсозии аудио 2000 аломат % 1 дақиқа
Нест кардани овоз / Тақсим кардани овоз 3,000- 4,000 аломат % 1 дақиқа
Тарҷумаи гуфторName 5000 аломат % 1 дақиқа
Чати овозӣ 3000 аломат ҳар як давр
Ҷустуҷӯи калидҳои & BPM Озод --
Мубодилакунандаи аудиоName Озод --

Матн ба талаффузComment

POST /v1/tts/

Матнро ба овоз табдил медиҳад. Файли овозиро дар формати дархостшуда бар мегардонад.

Дархости ҷисм

Параметрҳо& НавъДархостӣ& Тасвирот
model string & Тасвир Идентификатори намуна (масалан, kokoro, chatterbox, piper)
text string & Тасвир Матн барои табдилдиҳӣ ба гуфтор (максимум 100, 000 аломат барои ҳар як дархост)
voice string & Тасвир Идентификатори овоз (барои рӯйхати овозҳои дастрас /v1/voices/-ро истифода баред)
format string & Намоиши хатҳои равон Формати хурӯҷ: mp3 (бо нобаёнӣ), wav, flac, ogg
speed float & Намоиши хатҳои равон Миқдори суръати суханронӣ. Бо нобаёнӣ: 1.0. Диапазон: 0.5 то 2.0
language string & Намоиши хатҳои равон Рамзи забон (масалан, en, es). Агар фаромӯш карда шавад, худмуайян карда мешавад.
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

Ҷавоб

Файли аудиоиро ҳамчун додаҳои дуӣ бо унвони мувофиқи Content-Type бармегардонад (audio/mpeg, audio/wav ва ғайра).

Сарлавҳаи ҷавоб
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

Гузаштан ба матнComment

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 сония тавсия дода мешавад). Макс. 20Мб.
text string & Тасвир Матн барои талаффуз бо овози дубора сохташуда.
model string & Намоиши хатҳои равон Намунаи нусха: chatterbox (бо нобаёнӣ), cosyvoice2, gpt-sovits
format string & Намоиши хатҳои равон Формати хурӯҷ: mp3 (бо нобаёнӣ), wav, flac
language string & Намоиши хатҳои равон Рамзи забони ҳадаф. Боварӣ ҳосил кунед, ки ин аз тарафи моделе, ки интихоб кардаед, пуштибонӣ мешавад.

Ҷавоб

Файли аудиоиро ҳамчун додаҳои дуӣ бар мегардонад, ҳамон тавре ки нуқтаи охирини TTS.

Тағйири овозName

POST /v1/voice-convert/

Тағйири садо ба садои дигар. Сарчашмаи садоро бор кунед ва садои ҳадафро интихоб кунед.

Дархости ҷисм (multipart/form-data)

Параметрҳо& НавъДархостӣ& Тасвирот
file file & Тасвир Манбаъи файли аудиоӣ (MP3, WAV, FLAC). Ҳадди аксар 50Мб.
target_voice string & Тасвир Идентификатори овози ҳадаф барои табдилдиҳӣ (барои рӯйхати овозҳои дастрас /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 & Тасвир Идентификатори овози ҳадаф барои баромади сухан
model string & Намоиши хатҳои равон Намуна: openvoice (бо нобаёнӣ), chatterbox
emotion string & Намоиши хатҳои равон Ҳассосияти ҳадаф: neutral, happy, sad, aggressive, excited
speed float & Намоиши хатҳои равон Танзими суръат. Бо нобаёнӣ: 1.0. Диапазон: 0.5 то 2.0

Ҷавоб

Файли аудиоии тағйирёфтаро ҳамчун додаҳои дуӣ бар мегардонад.

Асбобҳои аудиоӣName

Нуқтаҳои ниҳоии коркарди аудио барои баланд бардоштан, тоза кардани овоз, тақсим кардани реша ва ғайра.

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 & Намоиши хатҳои равон Системаи фармоишии барои 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
}

Пакетҳои TTS

POST /v1/tts/batch/

Якчанд матнро барои эҷоди параллелӣ TTS фиристед. Агар хоҳед, пас аз анҷоми ҳамаи корҳо бозхонди webhook- ро қабул кунед.

Параметрҳо

& Параметрҳо& Навъ& Тасвирот
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-и баргашта дар дархостҳои дубораи дубораи овоз барои эҷоди қариб фаврӣ.

Параметрҳо

& Параметрҳо& Навъ& Тасвирот
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 Филтр аз рӯи шиносаи намуна (масалан, kokoro)
language string Филтр аз рӯи рамзи забон (масалан, en)
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
}

Намунаҳои рамз

Матн ба талаффузComment

Python - requests
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')}")

Гузаштан ба матнComment

Python - requests
# 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 - requests
# 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)

Матн ба талаффузComment

JavaScript - fetch
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();

Гузаштан ба матнComment

JavaScript - fetch
// 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);

Матн ба талаффузComment

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

Гузаштан ба матнComment

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 Боркунии намуна. Баъди чанд сония аз нав кӯшиш кунед.

WebhooksName

Барои вазифаҳои дарозмуддат (тақсимкунии реша, TTS-и гурӯҳӣ), шумо метавонед параметри webhook_url-ро пешниҳод кунед. Вақте ки вазифа ба итмом мерасад, мо натиҷаро ба URL-и шумо мефиристем.

Боркунии Webhook
{
  "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"
}
Натиҷаҳои Webhook барои боркунӣ барои 24 соат баъди ба итмом расидан дастрас аст. Онҳоро зуд бор кунед.

Барои сохтан омодаед?

Калиди API- ро гиред ва ба якҷоя кардани TTS.ai дар барномаҳои худ шурӯъ кунед.