Документація з API

Інтегрувати TTS.ai до ваших програм за допомогою нашого API REST. Сумісний з OpenAI формат для легкої міграції.

REST API Сумісний OpenAI ДЖСОН відповідає Підтримка потоку

Огляд

У TTS.ai API передбачено програмний доступ до всіх можливостей платформи: синтез синтезу мовлення, текстовий текст, клонування голосів, покращення звукових даних тощо. У API використано стандартні конгреси REST з тілом JSON query/respons.

Ключ API

Отримати ваш ключ API від Параметри облікового запису. Доступні щодо Про та промислових планів.

Базова адреса URL

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

Auth

Помітка з медведем Authorization заголовок

Розпізнавання

Всі запити API потребують автентифікації за допомогою ключа Bearer у Authorization заголовок.

Заголовок HTTP
Authorization: Bearer sk-tts-your-api-key-here
Тримайте ваш ключ API в секреті. Не ділити його між клієнтськими кодами, публічними сховищами або журналами. регулярно повертати клавіші з параметрів вашого облікового запису.

SDKs

Офіційна 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")
GitHub

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');
GitHub

Базова адреса URL

Базова адреса URL: https://api.tts.ai/v1/

Всі кінцеві точки відносяться до цієї базової адреси URL. Наприклад, кінцева точка TTS:

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

Обмеження швидкості

Обмеження швидкості API різняться за планом:

План Запити/мін Зберігання Макс. довжина тексту
Вільно 10 2 500 символів
Започаткування 30 3 100 000 символів
Pro 60 5 100 000 символів
Підприємство 300 20 50 000 символів

Заголовки обмеження оцінки буде включено до кожного відповіді: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Кошти кредиту

Служба Вартість Одиниця
TTS (Free Model: Piper, VITS, MellotTS) 1000 символів на 1000 символів
TTS (звичайні моделі: Kokro, CosyWham 2 тощо) 2000 символів на 1000 символів
TTS (моделі Premium: Tortoise, Chatterbox тощо) 4000 символів на 1000 символів
Мова до тексту 2000 символів на хвилину звуку
Клонування голосу 4000 символів на 1000 символів
Зміна голосу 3000 символів на хвилину звуку
Покращення звуку 2000 символів на хвилину звуку
Vocal Delete / Stem spliting 3000- 4000 символів на хвилину звуку
Переклад мовлення 5000 символів на хвилину звуку
Голосова балачка 3000 символів на хід
Пошук ключів & BPM Вільно --
Перетворювач звуку Вільно --

Текст для мовлення

POST /v1/tts/

Перетворити текст на аудіовимовний. Повертає звуковий файл у вказаному форматі.

Вимагати тіло

ПараметрТипОбов' язковоОпис
model string Так. Model ID (e.g., kokoro, chatterbox, piper)
text string Так. Текст для перетворення на мовлення (макс 100 000 символів на запит)
voice string Так. ІД голосу (використовуйте /v1/voices/ для списку доступних голосів)
format string Ні Output format: mp3 (default), wav, flac, ogg
speed float Ні Множення швидкості читання. Типове значення: < code > 1. 0 . Range: < code > 0. 5 <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > > > > > > > < > < > < > < > > > > < > < > < > < > < > < > < <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > < > <\ \ > <\ \ \ \ \ \ \ \ > <\ \ > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ >\ \ > <\ \ >\ \ >\ \ > < < < <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\
language string Ні Language code (e.g., en, es). Auto-detected if omitted.
stream boolean Ні Увімкнути потокову відповідь. Типове значення: < code > 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

Відповідь

Повертає звуковий файл як двійкові дані з відповідним заголовком < code > Content- type ( < code > audio/ mpeg , < code > audio/ wav тощо).

Заголовки відповідей
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

Мова до тексту

POST /v1/stt/

Переписування звуку на текст. Підтримує 99 мов автовиявленням.

Вимагати тіло (multipart/form-data)

ПараметрТипОбов' язковоОпис
file file Так. Звуковий файл (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Макс. 100MБ.
model string Ні STT model: whisper (default), faster-whisper, sensevoice
language string Ні Код мови. < code > auto для автоматичного визначення (типово).
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"
    }
  ]
}

Клонування голосу

POST /v1/tts/clone/

Створювати мовлення у клонованому голосі. Вивантажити еталонний звук і текст.

Вимагати тіло (multipart/form-data)

ПараметрТипОбов' язковоОпис
reference_audio file Так. Рекомендовано посилання на звуковий голос (10- 30 секунд). Макс. 20 Мб.
text string Так. Текст для декламування в голосі клонованого клону.
model string Ні Модель клонування: < code > chatockbox (типовий), < code > cosyvoice2 , < code > gpt- sowits
format string Ні Output format: mp3 (default), wav, flac
language string Ні Код мови призначення. Слід підтримувати вибраною моделлю.

Відповідь

Повертає звуковий файл як двійкові дані, те саме, що і кінцева точка TTS.

Зміна голосу

POST /v1/voice-convert/

Перетворити аудіо на звук іншого голосу. Вивантажити звуковий код і обрати цільовий голос.

Вимагати тіло (multipart/form-data)

ПараметрТипОбов' язковоОпис
file file Так. Звуковий файл джерела (MP3, WAV, FLAC). Макс. 50 Мб.
target_voice string Так. Цільовий ідентифікатор голосу для перетворення (використовуйте < code >/ v1/ voices/ для списку доступних голосів)
model string Ні Модель перетворення голосу: < code > openvoice (типовий), < code > kn- vc <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >
format string Ні Output format: wav (default), 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

Відповідь

Повертає перетворений звуковий файл як двійкові дані.

Переклад мовлення

POST /v1/speech-translate/

Перекладати розмовний звук з однієї мови на іншу. До одного дзвінка слід додати текст, переклад і мовлення з тексту.

Вимагати тіло (multipart/form-data)

ПараметрТипОбов' язковоОпис
file file Так. Звуковий файл джерела мовою оригіналу. Макс. 100 Мб.
target_language string Так. Target language code (e.g., es, fr, de, ja)
voice string Ні Голос для перекладу виводу. Автовибрано, якщо не вказано.
preserve_voice boolean Ні Намагатися зберегти характеристики голосу оригінального промовця. Типове значення: < code > 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
}

Мовлення

POST /v1/speech-to-speech/

Перетворювати стиль мовлення, емоції або доставку з збереженням змісту. Корисно для зміни тону, тону і виразності.

Вимагати тіло (multipart/form-data)

ПараметрТипОбов' язковоОпис
file file Так. Звуковий файл джерела мовлення. Макс. 50 Мб.
voice string Так. ІД голосу цілі для вихідної мови
model string Ні Модель: < code > openvoice (типовий), < code > chatcessbox
emotion string Ні Target emotion: neutral, happy, sad, angry, excited
speed float Ні Налаштування швидкості. Типове значення: < code > 1. 0 . Range: < code > 0. 5 <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > > > > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ > < > < > < <\ \ > <\ \ \ \ \ \ \ > <\ \ > < > < > < > < > <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ > <\ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >\ \ > <\ \ >\ \ > <\ \ >\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <\ \ > <

Відповідь

Повертає змінений звуковий файл як двійкові дані.

Звукові інструменти

Кінцеві точки для покращення, видалення голосу, поділ стовбурів тощо.

POST /v1/audio/enhance/

Покращення якості звукових даних: де noise, покращення прозорості, суперрозмірність.

file fileЗвуковий файл для покращення
denoise booleanУвімкнути деноазування (типовий: true)
enhance_clarity booleanЯскрава мова (типовий: так)
super_resolution booleanЯкість висотних розмірів звукових даних (типовий: false)
strength integer1- 3 (світло, середній, сильний). Типове значення: 2
POST /v1/audio/separate/

Відокремлювати голоси від інструментальних засобів (vocal remove) або розділяти їх на стебла.

file fileАудіо файл, який слід розділити
model stringdemucs (типовий) або spleeter
stems integerКількість стебел: 2, 4, 5 або 6 (типово: 2)
format stringOutput format: 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 fileАудіо файл для аналізу
Відповідь
{
  "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 stringTarget format: 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/

Надіслати звукову або текстову інформацію і отримати відповідь комп' ютерного гравця з синтезованою мовою.

Вимагати тіло (multipart/form-data або JSON)

ПараметрТипОбов' язковоОпис
audio file Ні* Вхідні дані аудіо (або < code > audio або < code > text <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >)
text string Ні* Ввід тексту (або < code > audio або < 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
}

Пакетне TTS

POST /v1/tts/batch/

Надіслати декілька текстів для паралельного створення TTS. За бажання, отримувати зворотний виклик з веб- сайтом після завершення всіх завдань.

Параметри

ПараметрТипОпис
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

Відповідь

ДЖСОН - відповідь
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

Опитування поступу за допомогою Get / v1/ tts/ batch/result /? batch_ id=abc123

Вбудовування голосу

POST /v1/voice-embed/

Попереднє налаштування вбудовування голосу з аудіо. Скористайтеся отриманим ідентифікатором include_ id у наступних запитах на клонування голосів для близького створення.

Параметри

ПараметрТипОпис
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

Відповідь

ДЖСОН - відповідь
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

Перевірка здоров'я

GET /v1/health/

Перевірте стан сервера GPU, завантажені моделі і розмір черги. Не потрібно автентифікації. Кешовано протягом 30 секунд.

Відповідь

ДЖСОН - відповідь
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

Моделі списку

GET /v1/models/

Повертає список всіх доступних моделей з їх можливостями.

Відповідь

ДЖСОН - відповідь
{
  "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 Filter by model ID (e.g., kokoro)
language string Фільтрувати за кодом мови (наприклад, < code > en <\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ >)
gender string Filter by gender: 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
}

Приклади коду

Текст для мовлення

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')}")

Мова до тексту

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)

Текст для мовлення

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();

Мова до тексту

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);

Текст для мовлення

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

Мова до тексту

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 characters for this request.",
    "characters_required": 4000,
    "characters_available": 2000
  }
}
Стан HTTPКод помилкиОпис
400 bad_request Некоректні параметри запиту. Перевірте повідомлення про помилку, щоб дізнатися більше.
401 unauthorized Відсутній або некоректний ключ API.
402 insufficient_credits Недостатньо символів. Придбайте більше за адресою / cripping /.
403 forbidden Доступ до API недоступний для вашого плану.
404 not_found Модель або голос не знайдено.
413 file_too_large Вивантажений файл перевищить обмеження на розмір.
429 rate_limited Забагато запитів. Перевірте заголовки обмеження швидкості.
500 internal_error Помилка сервера. Спробуйте ще раз пізніше.
503 model_loading Модель завантажується. Спробуйте ще раз за декілька секунд.

Веб- гачки

Для завдань з довгими запусками (стискання, пакетне розбиття TTS) ви можете вказати параметр < code >webjo_ url . Після завершення завдання ви можете встановити POST- адресу вашого URL.

Завантаження веб- гачокComment
{
  "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"
}
Результати веб- гачок можна звантажити через 24 години після завершення роботи. Не забудьте звантажити їх одразу.

Готові будувати?

Отримайте ваш ключ API і почніть об'єднувати TTS.ai до ваших програм.