АПИ документација
Интегриши TTS.ai у ваше апликације са РЕСТА АПИ‐ ом. Компатибилан са OpenAI форматом за једноставну миграцију.
Преглед
TTS.ai АПИ обезбеђује програмски приступ свим могућностима платформе: синтеза текста у говор, транскрипција говора у текст, клонирање гласова, побољшање звука и још тога. АПИ користи стандардне конвенције РЕСТУП са ЈСОН‐ овим захт› јевом/одговором.
АПИ кључ
Узми свој АПИ кључ од Поставке налога. Доступно на про и Ентерпрајз планове.
Основни УРЛ
https://api.tts.ai/v1/
Аутоматски
Токен за носач преко Authorization заглавље
Аутентификација
/v1/tts/ рад без автентичности, до 5.000 знакова дневно по ИП‐ у, користећи било који од наших слободних модела (piper, vits, melotts, kokoro). Пријавите се за бесплатни налог да добијете 15.000 бонусних знакова и приступ премијским моделима.
За премијске моделе и ограничења високе стопе, аутентификујте се са Носачем у Authorization заглавље.
Authorization: Bearer sk-tts-your-api-key-here
~@ ¦СДК¦SDKs¦
Званични СДК-ови олакшавају интеграцију TTS.ai у вашу апликацију. Оба су отворена извора и доступна на ГитХубу.
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');
Основни УРЛ
Сви крајњи крајеви су у односу на овај основни УРЛ. На пример, ТТС крајњи УРЛ је:
Ограничења брзине
Ограничења АПИ стопе варирају по плану:
| План | Захт› јеви/мин. | Конкурентни | Највећа дужина текста |
|---|---|---|---|
| слободни | 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.
Кредитни трошкови
| Сервис | трошкови | јединица |
|---|---|---|
| ТТС (Безплатни модели: Пајпер, ВИТС, МелоТТС) | 1000 знакова | по 1.000 знакова |
| ТТС (стандардни модели: Кокоро, Цоси Глас 2, итд.) | 2.000 знакова | по 1.000 знакова |
| ТТС (премијумски модели: Тортуз, ћаскање итд.) | 4.000 знакова | по 1.000 знакова |
| Говор у текст | 2.000 знакова | по минуту звука |
| Гласово клонирање | 4.000 знакова | по 1.000 знакова |
| Пром› јена гласа | 3.000 знакова | по минуту звука |
| аудио побољшање | 2.000 знакова | по минуту звука |
| Гласово уклањање / раздвајање | 3.000-4.000 знакова | по минуту звука |
| Превод говора | 5.000 знакова | по минуту звука |
| Гласовно ћаскање | 3.000 знакова | по скрету |
| Трагач кључева & БПМ‐ а | слободни | -- |
| аудио претварач | слободни | -- |
Текст у говор
Претвори текст у говорни звук. Враћа аудио фајл у захт› ијеваном формату.
захт› ијевано тело
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
| model | string | Не. | ИД модела (нпр., kokoro, chatterbox, piper. Ако изоставимо, аутоматски одаберемо модел који подржава захт› ијевани >jezik — kokoro за en/ja/zh/ko/fr/de/it/pt/es/hi/ru, за друге подржане језике (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/etc.). |
| text | string | Да. | Текст за претварање у говор. По захт› јеву, капа: 500 знакова (анонимно), 5.000 (слободан налог), 1 000 000 (плаћен план). Дуги улази су аутоматски исцрпљени са сервера. |
| voice | string | Да. | Гласовни ИД (користите /v1/voices/ за списак доступних гласова) |
| format | string | Не. | Формат излаза: >mp3 (подразум› ијевано), flac, |
| speed | float | Не. | Говорећи множитељ брзине. Подразум› ијевано: 1.0. Опсег: 0.5 на 2.0 |
| language | string | Не. | Код језика (нпр., en , es ). Аутоматски детектовано ако је изостављено. |
| instructions | string | Не. | Штапови за рад / испоруку (≤500 знакова). нпр. \ |
| pronunciations | object | array | Не. | Изговор по захт› јеву превазилази. Или {\ |
| 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
ССМЛ ознаке
Преломи бројеве, датуме, валуте, телефонске бројеве и акрониме у Подразум› ијевани формат датума: The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result. Poll this endpoint every 1-2 seconds until Fetch the Streaming alternative: For supported models (Kokoro, MeloTTS), use
тумачење‐ као улаз Говориш као 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."
}Одговор
Step 1: Submit request
{
"uuid": "77b71db532874ce98e84a69a2d740d4c",
"job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
"status": "queued",
"credits_used": 11,
"credits_remaining": 15000
}Step 2: Poll for result
status is completed or failed.{
"status": "completed",
"result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}{
"status": "processing"
}Step 3: Download audio
result_url from the completed response to download the audio file.Full example
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)POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.
Говор у текст
Преписује звук на текст. Подржава 99 језика аутоматским откривањем.
захт› ијевано тело (multipart/form-data)
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
| file | file | Да. | Аудио фајл (МП3, WAV, ФЛАЦ, ОГГ, М4А, МП4, ВебМ). Макс. 100МБ. |
| model | string | Не. | СТТ модел: whisper (подразум› ијевано), brжи-whisper, смисао |
| language | string | Не. | Код језика. автоматски за аутоматско откривање (подразум› ијевано). |
| 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 | Не. | Код циљног језика. Мора бити подржан одабраним моделом. |
Одговор
Враћа аудио фајл као бинарни подаци, као и крајњи крај ТТС‐ а.
Пром› јена гласа
Претварање звука у други глас. Слање изворног звука и изаберите циљни глас.
захт› ијевано тело (multipart/form-data)
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
| file | file | Да. | Изворни аудио фајл (MP3, WAV, FLAC). Макс. 50МБ. |
| target_voice | string | Да. | Циљни гласни ИД за претварање (користите /v1/voices/ за списак доступних гласова) |
| model | string | Не. | Модел претварања гласа: openvoice (подразум› ијевано), |
| 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
Одговор
Враћа претворени аудио фајл као бинарни.
Превод говора
Преводи говорни аудио са једног језика на други. Комбинује говор- у- текст, превод, и текст- у- говор у једном позиву.
захт› ијевано тело (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 | Да. | Изворни говорни аудио фајл. |
| voice | string | Да. | Циљни ИД гласа за излазни говор |
| model | string | Не. | Модел: openvoice (подразум› ијевано), chatterbox |
| emotion | string | Не. | Циљна емоција: neutral, sappy, sad, angry, accited |
| speed | float | Не. | Подешавање брзине. Подразум› ијевано: 1.0. Опсег: 0.5 на 2.0 |
Одговор
Враћа трансформисани аудио фајл као бинарне податке.
Алатке аудио
Звучна обрада крајњих крајева за побољшање, уклањање вока, раздвајање стебла, и још.
Побољшање квалитета звука: очисти, побољшај јасноћу, супер резолуцију.
| 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) |
Анализирајте звук да откријете кључ, БПМ и временски потпис.
| 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, flac, |
| bitrate integer | Излазни битни проток у кбпс: 64, 128, 192, 256, 320 |
| sample_rate integer | Узоркова брзина: 22050, 44100, 48000 |
| channels string | mono или stereo |
Гласовно ћаскање
Пошаљите звук или текст и примите ВИ одговор синтетичким говором.
захт› ијевано тело (multipart/form-data или JSON)
| Параметар | тип | неопходно | Опис |
|---|---|---|---|
| audio | file | Не.* | Неопходни су аудио уноси (или ~@ ¦аудио¦audio¦ текст ) |
| text | string | Не.* | Неопходно уношење текста (или ~@ ¦аудио¦audio¦) |
| voice | string | Не. | Глас за ВИ одговор. Подразум› ијевано: af_bella |
| tts_model | string | Не. | ТТС модел за одговор. Подразум› ијевано: kokoro |
| system_prompt | string | Не. | Посебан системски позив за ВИ |
| 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
}
Пакетни ТТС
Пошаљи више текстова за паралелну генерацију ТТС‐ а. Опционо прими повратни позив на веб порукама када се сви послови заврше.
Параметри
| Параметар | тип | Опис |
|---|---|---|
| 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"
}
Напредак анкете са ГЕТ / 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
}
Здравствена провера
Пров› јерите стање сервера ГПУ‐ а, учитане моделе и величину реда. Аутентификација није потребна. Кеширана је 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
}
Титлови (СРТ / ВТТ) ново
Генерише синхронизоване субтитлове за било који завршени посао ТТС‐ а. Покреће Вхиспер поравнање преко звука и враћа СРТ или ВебВТТ. Резултат је кеширан на диску, тако да је други позив за исти ууид читање диска.
Параметри упита
| Параметар | неопходно | Опис |
|---|---|---|
| uuid | Да. | Посао УУИД вратио / v1/ tts/ or / v1/ v1/ voice- clone /. |
| format | Не. | (подразум› ијевано) или vt. |
| download | Не. | Да пошаљете ~@ ¦Код¦Kod¦¦Kod¦: прилог , тако да прегледач уписује уместо приказа. |
| language | Не. | Савет моделу поравнања (аутоматски детектовано ако је изостављено). |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
р› јечник изговора ново
Реците ТТС мотору како изговарати одређене речи. Сачуване ставке аутоматски прим› јењују на сваки захт› јев ТТС‐ а који направите. Ограничење од 200 улаза по рачуну.
захт› ијевано тело (POST)
| Параметар | тип | Опис |
|---|---|---|
| word | string | Реч коју треба поништити (нпр. GIF, Antropic. Поклапа се са р› ијечима. |
| replacement | string | Како да се напише за модел (нпр. jiff, an THROP ick). |
| language | string | Опциони ИСО кôд. Празан = важи за све језике. |
| case_sensitive | boolean | Подразум› ијевано false. Поклапај тачно када true. |
# 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-..."
Такође можете да прођете прем› јене по захт› јеву без да их сачувате — укључите изговоре на било којем / v1/tts/ call као објект или низ (погледајте ~@ ¦ТТТС¦TTS¦ парамете).
Чланак Наратор ново
Пребаците једну ознаку на било коју страницу чланака, а посетиоци добију фиксну цртачку траку која говори страницу на клику. Аутоматски открива тело чланка, подржава посебан глас / модел / положај / нагласак боје.
<script src="https://tts.ai/narrator.js"
data-pk="pk-tts-your-publishable-key"
data-voice="af_bella"
data-model="kokoro"
data-extract="auto"
data-position="bottom"
data-color="#e60000"
data-locale="en"></script>
Опције
| Параметар | Опис |
|---|---|
data-pk | Објављивање кључа (Pk- tts-...). Ограничења домена спровођена преко кључевог поља дозвољеног_ домена . |
data-voice | Гласовни ИД. Подразум› ијевано af_bella. |
data-model | ИД модела ТТС‐ а. Подразум› ијевани ~@ ¦кокоро¦kokoro¦/code¦. |
data-extract | auto (подразум› ијевано) — испробава чланак/маин/. post-satent/. entry- satent селектори, враћа се у најгушће кластере пасуса. Или пролази било који ЦСС‐ бирач да циља одређени елемент. |
data-position | (подразум› ијевано) или top. |
data-color | Боја акцената (биљана ЦСС боја). Подразум› ијевано #e60000. |
data-min-chars / data-max-chars | Прескочи траку ако је чланак краћи од мин‐ знакова (подразум› ијевано 200). Улаз капа макс- знакова (подразум› ијевано 50.000). |
Виџет дугмади за слушање
Унутрашњи уграђени у стил дугмета. Одређује поред њеног ~@ ¦кода¦
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
Сачувани гласови (трајни клонови)
Слање референтног звука једном, вратите трајни гласовни ид, затим упозорите да ИД у ТТС захт› ијева уместо поновног учитавања аудио сваког позива. Идеалан за интеграције високог обима.
Слање гласу
POST
https://tts.ai/api/v1/user-voices/
Захт› ијеван аутоматски
Поља: фајл (потребан, 5- 30с аудио), име (неопходно), језик (опцијално, подразумевано en), модел (обавезно — аутоматски бирачи cosyvoice2 за zh/ja/ko jos openvoice), сагласност_потврђена (потребна, свака истинита вр› иједност).
curl -X POST https://tts.ai/api/v1/user-voices/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@reference.wav" \
-F "name=My Narrator" \
-F "language=en" \
-F "consent_confirmed=true"
# Response:
{
"public_id": "uv_a1b2c3d4e5f6",
"id": 42,
"name": "My Narrator",
"model_name": "openvoice",
"language": "en",
"reference_audio_url": "https://tts.ai/media/user-voices/....wav",
"storage_status": "active",
"created_at": "2026-04-17T03:45:00+00:00"
}
Користи сачувани глас у ТТС‐ уName
ПОСТ до /api/ v1/ tts / (НОТЕ: веб ВПС домаћин, а не api. tts.ai) са корисником_ voice_id. Учитавамо ваше складиштено аудио и руту до клонирачког гасовода.
curl -X POST https://tts.ai/api/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{"text":"Hello from my saved voice","user_voice_id":"uv_a1b2c3d4e5f6"}'
# Returns a queued job — poll /v1/speech/results/?uuid=... for the audio URL.
Списак/ обриши
GET https://tts.ai/api/v1/user-voices/ # list your saved voices + quota info
DELETE https://tts.ai/api/v1/user-voices/?public_id=uv_a1b2c3d4e5f6
Архива/ реактивирај (слободно)
Архивирани гласови остају на вашем налогу, али се не могу користити у ТТС‐ у. Корисно за неуспаване крајње кориснике тако да списак остаје чист.
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
Прим› јери кода
Текст у говор
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')}")
Говор у текст
# 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)
Текст у говор
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();
Говор у текст
// 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);
Текст у говор
# 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
Говор у текст
# 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
Кодови грешака
Све грешке враћају ЈСОН одговор са error Поље.
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough characters for this request.",
"characters_required": 4000,
"characters_available": 2000
}
}
| ХТТП стање | Кôд грешке | Опис |
|---|---|---|
| 400 | bad_request |
Неисправни параметри захт› јева. Пров› јерите детаље поруке о грешци. |
| 401 | unauthorized |
Недостаје или неисправан АПИ кључ. |
| 402 | insufficient_credits |
Нема довољно знакова. Купи више у / pricing /. |
| 403 | forbidden |
Немате дозволу да приступите овом ресурсу (нпр. да испитате посао другог корисника). АПИ приступ је укључен у сваком плану. |
| 404 | not_found |
Модел или глас није пронађен. |
| 413 | file_too_large |
Фајл слања превазилази ограничење величине. |
| 429 | rate_limited |
Превише захтева. Пров› јерите заглавља ограничења брзине. |
| 500 | internal_error |
Грешка сервера. Покушајте касније. |
| 503 | model_loading |
Модел се учитава. Понови за неколико секунди. |
Веб- куглице
За дуготрајне задатке (раздвајање стена, серија ТТС) можете дати параметр webhook_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 у своје апликације.