Inyandiko

TTS. ai Porogaramu Na: - Imiterere ya:.

API Gufungura Amabwiriza Gushigikira

Incamake

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.

Urufunguzo

Urufunguzo Bivuye Amagenamiterere y' Aderesi. 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.

SHINGIRO

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

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

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

Umubare w' imyanya

Igiteranyo ku

Igishushanyo mbonera min Concurrent Uburebure bw'umwandiko
By'ingirakamaro 60 5 Inyuguti
Urwego 300 20 Inyuguti

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

Inguzanyo

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

Umwandiko Kuri

POST /v1/tts/

Umwandiko Kuri. Ijwi Idosiye in i Imiterere.

Umubiri

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

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

Returns the audio file as binary data with appropriate Content-Type header (audio/mpeg, audio/wav, 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'inyandikoBya ngombwaIsobanuramiterere
file file Yego 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'inyandikoBya ngombwaIsobanuramiterere
reference_audio file Yego Ijwi (10 - amasogonda).
text string Yego Kuri in i
model string OYA Urugero Inyandikoporogaramu Inyandikoporogaramu Mburabuzi Inyandikoporogaramu Inyandikoporogaramu Inyandikoporogaramu - Inyandikoporogaramu
format string OYA Ibisohoka Imiterere Idosiye Idosiye Mburabuzi Idosiye Idosiye Idosiye
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'inyandikoBya ngombwaIsobanuramiterere
file file Yego Ijwi IDOSIYE
target_voice string Yego 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'inyandikoBya ngombwaIsobanuramiterere
file file Yego Ijwi IDOSIYE in i Ururimi:
target_language string Yego Ururimi: Inyandikoporogaramu
voice string OYA kugirango Ibisohoka Byahiswemo NIBA
preserve_voice boolean OYA Kuri i Mburabuzi

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/

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

Umubiri (multipart/form-data)

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

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.
POST /v1/audio/separate/

Kuva: (Isiba) Cyangwa

file fileIDOSIYE Kuri Gutandukanya
model stringdemucs (Mburabuzi) Cyangwa spleeter
stems integerBya 2. 4. 5. Cyangwa 6. Mburabuzi 2.
format stringIbisohoka Imiterere 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 integerIgiteranyo:
channels stringmono Cyangwa stereo

Amagambo banga

POST /v1/voice-chat/

Cyangwa Umwandiko na Akira Na:.

Umubiri (multipart/form-data Cyangwa JSON)

IbigengaUbwoko bw'inyandikoBya 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
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
}

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:.

Ibigenga

IbigengaUbwoko bw'inyandikoIsobanuramiterere
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 credits for this request.",
    "credits_required": 4,
    "credits_available": 2
  }
}
Imimerere ya HTTPError CodeIsobanuramiterere
400 bad_request Kubaza... Ibigenga i Ikosa Ubutumwa ya: Ibisobanuro:
401 unauthorized Cyangwa Sibyo Urufunguzo
402 insufficient_credits Birenzeho Ku
403 forbidden OYA Bihari ku
404 not_found Cyangwa OYA Byabonetse
413 file_too_large IDOSIYE i Ingano
429 rate_limited Izina ry'idosiye:
500 internal_error Ikosa OYA Nyuma
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?

Urufunguzo na Tangira & vendorShortName; Porogaramu