Ҳуҷҷатҳои API
TTS.ai-ро бо барномаҳои худ бо API-и REST-и мо якҷоя кунед. Формати мувофиқи OpenAI барои гузариш ба осонӣ.
& Нишон додани ҳама
TTS.ai API дастрасии барномавӣ ба ҳамаи хусусиятҳои платформаро таъмин мекунад: синтези матн ба сухан, гузаронидани сухан ба матн, клонкунии овоз, беҳтарсозии аудио ва ғайра. API қоидаҳои стандартии REST-ро бо бадани дархости/ҷавоби JSON истифода мебарад.
Калиди API
Калиди API- и худро аз ин ҷо гиред Гузоришҳои ҳисоб. Корхонаҳои саноатӣ ва кишоварзӣ мавҷуданд.
URL- и асосӣ
https://api.tts.ai/v1/
Муайянкунӣ
Иҷозатномаи соҳиб тавассути Authorization сарлавҳа
Аслшиносӣ
Ҳамаи дархостҳои API аслшиносиро тавассути рамзи Bearer дар Authorization сарлавҳа.
Authorization: Bearer sk-tts-your-api-key-here
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")
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 | 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
Матнро ба овоз табдил медиҳад. Файли овозиро дар формати дархостшуда бар мегардонад.
Дархости ҷисм
| Параметрҳо | & Навъ | Дархостӣ | & Тасвирот |
|---|---|---|---|
| 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 -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
Гузаронидани аудио ба матн. 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 сония тавсия дода мешавад). Макс. 20Мб. |
| text | string | & Тасвир | Матн барои талаффуз бо овози дубора сохташуда. |
| model | string | & Намоиши хатҳои равон | Намунаи нусха: chatterbox (бо нобаёнӣ), cosyvoice2, gpt-sovits |
| format | string | & Намоиши хатҳои равон | Формати хурӯҷ: mp3 (бо нобаёнӣ), wav, flac |
| language | string | & Намоиши хатҳои равон | Рамзи забони ҳадаф. Боварӣ ҳосил кунед, ки ин аз тарафи моделе, ки интихоб кардаед, пуштибонӣ мешавад. |
Ҷавоб
Файли аудиоиро ҳамчун додаҳои дуӣ бар мегардонад, ҳамон тавре ки нуқтаи охирини TTS.
Тағйири овозName
Тағйири садо ба садои дигар. Сарчашмаи садоро бор кунед ва садои ҳадафро интихоб кунед.
Дархости ҷисм (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 -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 | & Тасвир | Идентификатори овози ҳадаф барои баромади сухан |
| model | string | & Намоиши хатҳои равон | Намуна: openvoice (бо нобаёнӣ), chatterbox |
| emotion | string | & Намоиши хатҳои равон | Ҳассосияти ҳадаф: neutral, happy, sad, aggressive, excited |
| speed | float | & Намоиши хатҳои равон | Танзими суръат. Бо нобаёнӣ: 1.0. Диапазон: 0.5 то 2.0 |
Ҷавоб
Файли аудиоии тағйирёфтаро ҳамчун додаҳои дуӣ бар мегардонад.
Асбобҳои аудиоӣName
Нуқтаҳои ниҳоии коркарди аудио барои баланд бардоштан, тоза кардани овоз, тақсим кардани реша ва ғайра.
Сифати садоро беҳтар созед: шуоъро нест кунед, равшаниро беҳтар созед, иҷозати баландтар диҳед.
| 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 | & Намоиши хатҳои равон | Системаи фармоишии барои AI |
| 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
Якчанд матнро барои эҷоди параллелӣ TTS фиристед. Агар хоҳед, пас аз анҷоми ҳамаи корҳо бозхонди webhook- ро қабул кунед.
Параметрҳо
| & Параметрҳо | & Навъ | & Тасвирот |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | Optional URL to POST results when batch completes. |
Ҷавоб
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
Ҳолати пурсиш бо GET /v1/tts/batch/result/?batch_id=abc123
Дарунсохти овоз
Пешакӣ ҳисоб кардани дарҷкунии овоз аз аудиои истинод. Истифодаи 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
}
Санҷиши саломатӣ
Санҷиши ҳолати сервери GPU, моделҳои боршуда ва андозаи навбат. Аслшиносӣ лозим нест. 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 | Филтр аз рӯи шиносаи намуна (масалан, kokoro) |
| language | string | Филтр аз рӯи рамзи забон (масалан, en) |
| 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
}
Намунаҳои рамз
Матн ба талаффузComment
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
# 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)
Матн ба талаффузComment
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
// 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
# 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
# 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 |
Боркунии намуна. Баъди чанд сония аз нав кӯшиш кунед. |
WebhooksName
Барои вазифаҳои дарозмуддат (тақсимкунии реша, TTS-и гурӯҳӣ), шумо метавонед параметри webhook_url-ро пешниҳод кунед. Вақте ки вазифа ба итмом мерасад, мо натиҷаро ба URL-и шумо мефиристем.
{
"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 дар барномаҳои худ шурӯъ кунед.