Inyandiko

TTS.ai Porogaramu Na: - Imiterere ya:.

API Gufungura Amabwiriza Gushigikira

Incamake

TTS.ai Kuri Byose Ibiranga: Umwandiko - Kuri -, - Kuri - Umwandiko,,, na Birenzeho. Bisanzwe Na: Kubaza... /.

Urufunguzo

Urufunguzo Bivuye Amagenamiterere y'inyandiko. ku na.

SHINGIRO

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

Gushigikira

Biturutse Authorization Umutwempangano

Kwemeza

Biturutse A in i Authorization Umutwempangano.

Umutwempangano
Authorization: Bearer sk-tts-your-api-key-here
Urufunguzo OYA Gusangiza in Umukiriya - Inyandikoporogaramu, rusange, Cyangwa. Utubuto Kuva: Konti: Igenamiterere.

SDKs

Official SDKs make it easy to integrate TTS.ai into your application. Both are open source and available on 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

SHINGIRO

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

Impera: Bifitanye isano Kuri iyi SHINGIRO. Urugero:, i Impera: ni:

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

Amabwiriza

Umubare Bya Imibare ku

Imiterere y'ishusho min Gushyiraho Uburebure bw'umwandiko
Kigenga 10 2 Inyuguti
Gutangira 30 3 Inyuguti
Igihe kya karere 60 5 Inyuguti
Urwego 300 20 Inyuguti

Imitwe in buri: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Inguzanyo

Serivisi Igiciro Igice
(Udushushondanga:,,) Inyuguti Inyuguti
(Udushushondanga:, 2,) Inyuguti Inyuguti
(Udushushondanga:,,) Inyuguti Inyuguti
Kuri Umwandiko Inyuguti Bya
Guca umurongo Inyuguti Inyuguti
Umwanyabikoresho Inyuguti Bya
Ihindurangero Inyuguti Bya
/ - Inyuguti Bya
Umwandiko wahinduwe ururimi Inyuguti Bya
Amagambo banga Inyuguti buri
Urufunguzo Kigenga --
Umwanditsi w'amajwi Kigenga --

Umwandiko Kuri

POST /v1/tts/

Umwandiko Kuri. Ijwi Idosiye in i Imiterere.

Umubiri

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
model string Oya Inyandikoporogaramu Inyandikoporogaramu
text string Oya Kuri Guhindura... Kuri KIGEZWEHO Inyuguti Kubaza...
voice string Oya Gukoresha Inyandikoporogaramu Inyandikoporogaramu Kuri Urutonde Bihari
format string Oya Ibisohoka Imiterere Inyandikoporogaramu Inyandikoporogaramu Mburabuzi Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu
speed float Oya Umuvuduko Inyandikoporogaramu 1. 0 Inyandikoporogaramu 0. 5 Inyandikoporogaramu Kuri Inyandikoporogaramu 2. 0 Inyandikoporogaramu
language string Oya Inyandikoporogaramu (& eg; Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu NIBA
stream boolean Oya Inyandikoporogaramu Sibyo Inyandikoporogaramu

Urugero

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

Igisubizo

i Ijwi IDOSIYE Nka Ibyatanzwe Na: Inyandikoporogaramu Inyandikoporogaramu Umutwe Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu, Inyandikoporogaramu Inyandikoporogaramu, etc.

Imitwe
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

Kuri Umwandiko

POST /v1/stt/

Inyumvo Kuri Umwandiko. Na: Ikiyega -.

Umubiri (multipart/form-data)

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
file file Oya IDOSIYE,,,,,,
model string Oya Urugero Inyandikoporogaramu Inyandikoporogaramu Mburabuzi Inyandikoporogaramu - Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu
language string Oya Inyandikoporogaramu Inyandikoporogaramu mu buryo bwikora: kugirango Mu buryo bwikora: Mburabuzi
timestamps boolean Oya Inyandikoporogaramu Sibyo
diarize boolean Oya Inyandikoporogaramu Sibyo

Igisubizo

< guimenuitem >
{
  "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"
    }
  ]
}

Guca umurongo

POST /v1/tts/clone/

in A Ijwi. A Indango na Umwandiko.

Umubiri (multipart/form-data)

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
reference_audio file Oya Ijwi (10 - amasogonda).
text string Oya Kuri in i
model string Oya Urugero Inyandikoporogaramu Inyandikoporogaramu Mburabuzi Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu - Inyandikoporogaramu
format string Oya Ibisohoka Imiterere Inyandikoporogaramu Inyandikoporogaramu Mburabuzi Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu
language string Oya Ururimi: Inyandikoporogaramu. ku i Urugero:.

Igisubizo

i Ijwi Idosiye Nka Ibyatanzwe, Nka i Impera Akadomo.

Umwanyabikoresho

POST /v1/voice-convert/

Ijwi Kuri Ijwi Nka A Inkomoko Ijwi na Hitamo... A Intego Ijwi.

Umubiri (multipart/form-data)

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
file file Oya Ijwi IDOSIYE
target_voice string Oya Kuri Guhindura... Kuri Koresha Inyandikoporogaramu Inyandikoporogaramu Kuri Urutonde Bihari
model string Oya Ihindurangero Urugero Inyandikoporogaramu Mburabuzi Inyandikoporogaramu -
format string Oya Ibisohoka Imiterere IDOSIYE IDOSIYE Mburabuzi IDOSIYE IDOSIYE IDOSIYE

Urugero

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

Igisubizo

i Idosiye Nka Ibyatanzwe.

Umwandiko wahinduwe ururimi

POST /v1/speech-translate/

Inyumvo Kuva: Rimwe Ururimi: Kuri. - Kuri - Umwandiko, Umwandiko, na Umwandiko - Kuri - in A UMWE.

Umubiri (multipart/form-data)

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
file file Oya Ijwi IDOSIYE in i Mburabuzi Ururimi:
target_language string Oya Ururimi: Inyandikoporogaramu
voice string Oya kugirango Ibisohoka Byahiswemo NIBA
preserve_voice boolean Oya Kuri i Mburabuzi Ijwi Inyandikoporogaramu Sibyo Inyandikoporogaramu

Igisubizo

< guimenuitem >
{
  "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
}

Kuri

POST /v1/speech-to-speech/

Imisusire,, Cyangwa i Ibigize. ya:,, na.

Umubiri (multipart/form-data)

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
file file Oya Ijwi IDOSIYE
voice string Oya kugirango i Ibisohoka
model string Oya Inyandikoporogaramu Inyandikoporogaramu Mburabuzi Inyandikoporogaramu Inyandikoporogaramu
emotion string Oya Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu
speed float Oya Inyandikoporogaramu 1. 0 Inyandikoporogaramu 0. 5 Inyandikoporogaramu Kuri Inyandikoporogaramu 2. 0 Inyandikoporogaramu

Igisubizo

i Ijwi Idosiye Nka Ibyatanzwe.

Ibikoresho by'amajwi

Impera Utudomo ya:, Gukuraho..., na Birenzeho.

POST /v1/audio/enhance/

Ubuziranenge:, Imikemurire, Imikemurire

file fileIDOSIYE Kuri
denoise booleanMburabuzi nibyo
enhance_clarity booleanMburabuzi: NIBYO
super_resolution booleanUbuziranenge Mburabuzi Sibyo
strength integer1. 3. (Kiremire, Gitoya,). 2.
POST /v1/audio/separate/

Kuva: (Isiba) Cyangwa Gutandukanya.

file fileIDOSIYE Kuri Gutandukanya
model stringdemucs (Mburabuzi) Cyangwa spleeter
stems integerBya 2. 4. 5. Cyangwa 6. Mburabuzi 2.
format stringIbisohoka Imiterere Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu
POST /v1/audio/dereverb/

Na Bivuye

file fileIDOSIYE Kuri
type stringecho or reverb (default: both)
intensity integer1-5 (default: 3)
POST /v1/audio/analyze/ Kigenga

Kuri Urufunguzo, na Igihe Isinya

file fileIDOSIYE Kuri
Igisubizo
{
  "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/ Kigenga

hagati Imiterere

file fileIDOSIYE Kuri Guhindura
format stringImiterere Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu
bitrate integerIbisohoka in
sample_rate integerUmubare w' igerageza
channels stringmono Cyangwa stereo

Amagambo banga

POST /v1/voice-chat/

Cyangwa Umwandiko na Akira Na:.

Umubiri (multipart/form-data Cyangwa JSON)

IbigengaUbwoko bw'agakandishoBya ngombwaIsobanuramiterere
audio file Oya* Iyinjiza IDOSIYE IDOSIYE Cyangwa IDOSIYE Umwandiko IDOSIYE Bya ngombwa
text string Oya* Iyinjiza Idosiye Idosiye Cyangwa Idosiye Umwandiko Idosiye Bya ngombwa
voice string Oya kugirango Inyandikoporogaramu
tts_model string Oya Urugero kugirango Inyandikoporogaramu Inyandikoporogaramu
system_prompt string Oya Sisitemu kugirango i
conversation_id string Oya a

Igisubizo

< guimenuitem >
{
  "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
}

Itsinda

POST /v1/tts/batch/

Igikubo Umwandiko ya:. Akira A Ryari: Byose Ibikorwa Byuzuye.

Ibigenga

IbigengaUbwoko bw'agakandishoIsobanuramiterere
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

Igisubizo

< guimenuitem >
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

Impinduka Na: v1. tts. Itsinda Igisubizo? batch_id =

Gushyiramo

POST /v1/voice-embed/

- A Ijwi Kuva: Indango Ijwi. i in Ijwi ya: - By' ako kanya.

Ibigenga

IbigengaUbwoko bw'agakandishoIsobanuramiterere
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

Igisubizo

< guimenuitem >
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

Kugenzura...

GET /v1/health/

Seriveri Imimerere, Na Umurongo Ingano kugirango amasogonda

Igisubizo

< guimenuitem >
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

Urutonde Urugero

GET /v1/models/

A Urutonde Bya Byose Bihari Na:.

Igisubizo

< guimenuitem >
{
  "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
    }
  ]
}

Gushyira ku rutonde

GET /v1/voices/

A Urutonde Bya Byose Bihari, ku Urugero: Cyangwa Ururimi:.

Ikintu

IbigengaUbwoko bw'agakandishoIsobanuramiterere
model string ku Urugero IDOSIYE
language string ku Ururimi Inyandikoporogaramu
gender string ku Imiterere Inyandikoporogaramu Umugabo Inyandikoporogaramu Umugore Inyandikoporogaramu Inyandikoporogaramu

Igisubizo

< guimenuitem >
{
  "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
}

Inyandikoporogaramu

Umwandiko Kuri

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

Kuri Umwandiko

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"])

Guca umurongo

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)

Umwandiko Kuri

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

Kuri Umwandiko

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

Umwandiko Kuri

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

Kuri Umwandiko

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"

Guca umurongo

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

Ihindurangero

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

Imisobekere y'ikosa

Amakosa Gusubiramo A Na: error Umwanya.

Imiterere y'ikosa
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough characters for this request.",
    "characters_required": 4000,
    "characters_available": 2000
  }
}
Imimerere ya HTTPIkosaIsobanuramiterere
400 bad_request Kubaza... Ibigenga i Ikosa Ubutumwa ya: Ibisobanuro:
401 unauthorized Cyangwa Sibyo Urufunguzo
402 insufficient_credits Inyuguti Birenzeho ku /.
403 forbidden OYA Bihari ku
404 not_found Cyangwa OYA Byabonetse
413 file_too_large IDOSIYE i Ingano
429 rate_limited Umubare w' ibisabwa. Umubare w' imibare Imitwe.
500 internal_error Ikosa OYA
503 model_loading ni in A Amasogonda

Webhooks

Buri gihe - Ibikorwa (,), A Inyandikoporogaramu Inyandikoporogaramu Ikintu. i Igikorwa, Twebwe i Igisubizo Kuri.

Webhook
{
  "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"
}
Ibisubizo Bihari ya: Iyimura ya: 24 Amasaha Nyuma. Kuri Iyimura.

Kuri?

Get your API key and start integrating TTS.ai into your applications.