Ҳуҷҷатҳои API

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

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

Намоиши умумӣ

The TTS.ai API provides programmatic access to all platform features: text-to-speech synthesis, speech-to-text transcription, voice cloning, audio enhancement, and more. The API uses standard REST conventions with JSON request/response bodies.

Калиди API

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

URL- и асосӣ

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

Муайянкунӣ

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

Аслшиносӣ

Ҳамаи дархостҳои API аслшиносиро тавассути рамзи Bearer дар Authorization сарлавҳа.

Сарлавҳаи HTTP
Authorization: Bearer sk-tts-your-api-key-here
Калиди API- ро махфӣ нигоҳ доред. Онро дар рамзҳои тарафҳои мизоҷон, репозиторияҳои ҷамъиятӣ ё журналҳо истифода набаред. Калидҳоро мунтазам аз танзимоти ҳисоби худ иваз кунед.

URL- и асосӣ

URL- и асосӣ: https://api.tts.ai/v1/

Ҳамаи нуқтаҳои охирин нисбат ба ин URL- и асосӣ мебошанд. Масалан, нуқтаи охирини TTS ин аст:

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

Маҳдудияти суръат

Маҳдудияти суръати API вобаста ба нақша фарқ мекунад:

& Хатти Дархостҳо/ дақиқа Concurrent Дарозии максималии матн
Про 60 5 5000 аломат
Корхона 300 20 50,000 аломат

Маҳдудияти суръати сарлавҳаҳо дар ҳар як ҷавоб дохил карда мешавад: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Хароҷоти кредитӣ

Хизмат Хароҷот Unit
TTS (Намунаҳои озод: Piper, VITS, MeloTTS) 1 кредит ҳар 1000 аломат
TTS (Намунаҳои стандартӣ: Kokoro, CosyVoice 2, ва ғ.) 2 кредит ҳар 1000 аломат
TTS (Намунаҳои Premium: Tortoise, Chatterbox, ва ғайра) 4 кредит ҳар 1000 аломат
Гузаштан ба матнComment 2 кредит % 1 сония
Тасвири овоз 4 кредит ҳар 1000 аломат
Тағйири овозName 3 кредит % 1 сония
Барқарорсозии аудио 2 кредит % 1 сония
Ҳузфи овоз / ҷудокунии овоз 3- 4 кредитҳо % 1 сония
Тарҷумаи гуфторName 5 кредит % 1 сония
Чати овозӣ 3 кредит ҳар як давр
Ҷустуҷӯи калидҳои & BPM Озод --
Мубодилакунандаи аудиоName Озод --

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

POST /v1/tts/

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

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

Параметрҳо& НавъДархостӣ& Тасвирот
model string & Нест кардан Идентификатори намуна (масалан, kokoro, chatterbox, piper)
text string & Нест кардан Матн барои табдилдиҳӣ ба талаффуз (максимум 5000 аломат барои Pro, 50000 барои Enterprise)
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

Ҷавоб

Returns the audio file as binary data with appropriate Content-Type header (audio/mpeg, audio/wav, etc.).

Сарлавҳаи ҷавоб
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: 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 сония тавсия дода мешавад). Ҳадди аксар 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 Нет Кӯшиш барои нигоҳ доштани овоздиҳандаи аслӣ

Ҷавоб

Ҷавоби 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 fileAudio file to analyze
Ҷавоб
{
  "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
}

Рӯйхати намунаҳо

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 credits for this request.",
    "credits_required": 4,
    "credits_available": 2
  }
}
Ҳолати HTTPError Code& Тасвирот
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-ро ба барномаҳои худ оғоз кунед.