Ҳуҷҷатҳои API
TTS.ai-ро дар барномаҳои худ бо API-и REST-и мо якҷоя кунед. Формати мувофиқи OpenAI барои интиқоли осон.
Намоиши умумӣ
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 сарлавҳа.
Authorization: Bearer sk-tts-your-api-key-here
URL- и асосӣ
Ҳамаи нуқтаҳои охирин нисбат ба ин URL- и асосӣ мебошанд. Масалан, нуқтаи охирини 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
Матнро ба овоз табдил медиҳад. Файли овозиро дар формати дархостшуда бар мегардонад.
Дархости ҷисм
| Параметрҳо | & Навъ | Дархостӣ | & Тасвирот |
|---|---|---|---|
| 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 -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
Гузаронидани аудио ба матн. 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 |
Ҷавоб
{
"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 | Нет | Кӯшиш барои нигоҳ доштани овоздиҳандаи аслӣ |
Ҷавоб
{
"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 | Audio 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"]
}
Мубодилаи аудио байни форматҳо.
| 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
}
Рӯйхати намунаҳо
Рӯйхати ҳамаи намунаҳои дастрасро бо имконоти онҳо бар мегардонад.
Ҷавоб
{
"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 credits for this request.",
"credits_required": 4,
"credits_available": 2
}
}
| Ҳолати HTTP | Error 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-и шумо мефиристем.
{
"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-ро ба барномаҳои худ оғоз кунед.