Документація з API
Інтегрувати TTS. ai до ваших програм за допомогою REST API. Сумісний з 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/
Auth
Помітка з медведем Authorization заголовок
Розпізнавання
Всі запити API потребують автентифікації за допомогою ключа Bearer у Authorization заголовок.
Authorization: Bearer sk-tts-your-api-key-here
Базова адреса URL
Всі кінцеві точки відносяться до цієї базової адреси URL. Наприклад, кінцева точка TTS:
Обмеження швидкості
Обмеження швидкості API різняться за планом:
| План | Запити/мін | Concurrent | Макс. довжина тексту |
|---|---|---|---|
| Pro | 60 | 5 | 5000 символів |
| Підприємство | 300 | 20 | 50 000 символів |
Заголовки обмеження оцінки буде включено до кожного відповіді: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Кошти кредиту
| Служба | Вартість | Одиниця |
|---|---|---|
| TTS (Free Model: Piper, VITS, MellotTS) | 1 кредит | на 1000 символів |
| TTS (звичайні моделі: Kokro, CosyWham 2 тощо) | 2 кредити | на 1000 символів |
| TTS (моделі Premium: Tortoise, Chatterbox тощо) | 4 кредити | на 1000 символів |
| Мова до тексту | 2 кредити | на хвилину звуку |
| Клонування голосу | 4 кредити | на 1000 символів |
| Зміна голосу | 3 кредити | на хвилину звуку |
| Покращення звуку | 2 кредити | на хвилину звуку |
| Vocal Delete / Stem spliting | 3- 4 кредити | на хвилину звуку |
| Переклад мовлення | 5 кредитів | на хвилину звуку |
| Голосова балачка | 3 кредити | на хід |
| Пошук ключів & BPM | Вільно | -- |
| Перетворювач звуку | Вільно | -- |
Текст для мовлення
Перетворити текст на аудіовимовний. Повертає звуковий файл у вказаному форматі.
Вимагати тіло
| Параметр | Тип | Обов' язково | Опис |
|---|---|---|---|
| model | string | Так. | Ідентифікатор моделі (наприклад, < code >kro <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > > > > > > > < > <\ \ > <\ \ > <\ \ \ > > > <\ \ \ >\ \ > <\ \ >\ \ > <\\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ >\ \ \ \ \ \ \ \ \ >\ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\\\\\\\\\\\\\\\\ \ \ \ \ \\\\\\\\\ \\ \ \ \ \ \ \ \ \ >\ \ >\ \ \ \ \ \ \ \ \ >\ \ >\ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \\\\\\\\\ \\ \\ \\ \\ \\ \\\\\ \\ \\ \\ \\ \\\\\\\\\\\\\\\\\\ \\ \\\\\\\\\\\ \\\\\\\ |
| text | string | Так. | Текст для перетворення на мовлення (макс. 5 000 символів для Pro, 50 000 для бізнесу) |
| voice | string | Так. | ІД голосу (використовуйте /v1/voices/ code > для списку доступних голосів) |
| format | string | Ні | Формат виводу: < code >mp3 <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > <\ \ > \ \ \ \ \ \ \ > код > код > код > код > код > <\ \ \ \ \ \ \ \ \ \ \ \ \ > код > код > код > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| speed | float | Ні | Множення швидкості читання. Типове значення: < code > 1. 0 code >. Range: < code > 0. 5 <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > > > > > > > < > < > < > < > > > > < > < > < > < > < > < > < <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > <\ \ > <\ \ \ \ \ \ \ \ > <\ \ > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ > <\ \ >\ \ >\ \ > < < < <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ |
| language | string | Ні | Код мови (наприклад, < code > en code >, < code > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| stream | boolean | Ні | Увімкнути потокову відповідь. Типове значення: < code > 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
Мова до тексту
Переписування звуку на текст. Підтримує 99 мов автовиявленням.
Вимагати тіло (multipart/form-data)
| Параметр | Тип | Обов' язково | Опис |
|---|---|---|---|
| file | file | Так. | Звуковий файл (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Макс. 100MБ. |
| model | string | Ні | Модель STT: < code > coding <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > код > code > |
| language | string | Ні | Код мови. < code > auto code > для автоматичного визначення (типово). |
| timestamps | boolean | Ні | Включити часові штампи текстового рівня. Типове значення: < code > false <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| diarize | boolean | Ні | Увімкнути диалізацію звуку. Типове значення: < code > 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 | Ні | Модель клонування: < code > chatockbox code > (типовий), < code > cosyvoice2 code >, < code > gpt- sowits code > |
| format | string | Ні | Формат виводу: < code >mp3 <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > < > < > < > < > < > < > < > < > < > < > <\ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > < > <\ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ > <\ \ > код > <\ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| language | string | Ні | Код мови призначення. Слід підтримувати вибраною моделлю. |
Відповідь
Повертає звуковий файл як двійкові дані, те саме, що і кінцева точка TTS.
Зміна голосу
Перетворити аудіо на звук іншого голосу. Вивантажити звуковий код і обрати цільовий голос.
Вимагати тіло (multipart/form-data)
| Параметр | Тип | Обов' язково | Опис |
|---|---|---|---|
| file | file | Так. | Звуковий файл джерела (MP3, WAV, FLAC). Макс. 50 Мб. |
| target_voice | string | Так. | Цільовий ідентифікатор голосу для перетворення (використовуйте < code >/ v1/ voices/ code > для списку доступних голосів) |
| model | string | Ні | Модель перетворення голосу: < code > openvoice code > (типовий), < code > kn- vc <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| format | string | Ні | Формат виводу: < code > wav <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > > < > < > < > <\ \ \ \ \ > < > < > < > < > < > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > <\ \ > <\ \ \ \ \ \ \ \ > <\ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
Приклад запиту
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 | Так. | Код мови призначення (наприклад, < code > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > > > > > > > > > < > < > < > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > <\ \ > <\ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ > >\ \ \ \ \ \ \ \ \ \ > <\ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ \ \ \ \ \ \ >\ \ \ \ \ >\ \ >\ \ >\ \ >\ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \\ \ > |
| 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 | Ні | Модель: < code > openvoice code > (типовий), < code > chatcessbox code > |
| emotion | string | Ні | Почуття цілі: < code > nutral <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >, <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > код > код > < > < > < > < > <\ \ \ \ \ \ \ \ > код > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ > код > код > код > <\ \ \ \ \ \ \ \ \ \ \ \ \ > код > код > код > код > код > код > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ >\ \ > <\ \ >\ \ > код >\ \ > код > код > код > код > код > код > код >\\\\\\\\\\\\ \ \ \ \\\\\\\\ \\ \\\\\ |
| speed | float | Ні | Налаштування швидкості. Типове значення: < code > 1. 0 code >. Range: < code > 0. 5 <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > < <\ \ > <\ \ \ \ \ \ \ > <\ \ > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ > <\ \ >\ \ > <\ \ >\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > < |
Відповідь
Повертає змінений звуковий файл як двійкові дані.
Звукові інструменти
Кінцеві точки для покращення, видалення голосу, поділ стовбурів тощо.
Покращення якості звукових даних: де noise, покращення прозорості, суперрозмірність.
| file file | Звуковий файл для покращення |
| denoise boolean | Увімкнути деноазування (типовий: true) |
| enhance_clarity boolean | Яскрава мова (типовий: так) |
| super_resolution boolean | Якість висотних розмірів звукових даних (типовий: false) |
| strength integer | 1- 3 (світло, середній, сильний). Типове значення: 2 |
Відокремлювати голоси від інструментальних засобів (vocal remove) або розділяти їх на стебла.
| file file | Аудіо файл, який слід розділити |
| model string | demucs (типовий) або spleeter |
| stems integer | Кількість стебел: 2, 4, 5 або 6 (типово: 2) |
| format string | Формат виводу: < code > wav <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > <\ \ > <\ \ \ \ \ \ \ \ \ > <\ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ > |
Вилучити відлуння і відлуння з аудіозаписів.
| 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 | Формат призначення: < code >mp3 code >, < code > wav code >, < code > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > >\ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ > код >\ \ > код >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ >\ \ \ \ \ \ \ \ \ \ > код >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ \ \ \ \ \ >\ \ >\ \ \ \ \ \ \ \ \ \ \ >/код >/код >\ \ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \\ \\ \ \ \ \ \ \ \ \ \ >\ \ >\ \\ \\ \\ \\ \\ \\\\\\\\\\\\\\\\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\\ |
| bitrate integer | Бітова швидкість виводу в кбітах: 64, 128, 192, 256, 320 |
| sample_rate integer | Частота вибірки: 22050, 44100, 48000 |
| channels string | mono або stereo |
Голосова балачка
Надіслати звукову або текстову інформацію і отримати відповідь комп' ютерного гравця з синтезованою мовою.
Вимагати тіло (multipart/form-data або JSON)
| Параметр | Тип | Обов' язково | Опис |
|---|---|---|---|
| audio | file | Ні* | Вхідні дані аудіо (або < code > audio code > або < code > text <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >) |
| text | string | Ні* | Ввід тексту (або < code > audio code > або < code > text <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >) |
| voice | string | Ні | Голос для відповіді комп' ютера. Типове значення: < code > bella <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| tts_model | string | Ні | Модель TTS для відповіді. Типове значення: < code >kro <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
| 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
}
Моделі списку
Повертає список всіх доступних моделей з їх можливостями.
Відповідь
{
"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 | Фільтрувати за моделлю ID (наприклад, < code >kro <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >) |
| language | string | Фільтрувати за кодом мови (наприклад, < code > en <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >) |
| gender | string | Фільтр за статтю: < code > male <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >, <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > |
Відповідь
{
"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
}
Приклади коду
Текст для мовлення
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
Коди помилок
Всі помилки повернути відповідь 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 |
Модель завантажується. Спробуйте ще раз за декілька секунд. |
Веб- гачки
Для завдань з довгими запусками (стискання, пакетне розбиття TTS) ви можете вказати параметр < code >webjo_ url code >. Після завершення завдання ви можете встановити POST- адресу вашого 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 з вашими програмами.