API Dokumentasie
Integrate TTS.ai in jou programme met ons REST API. OpenAI-vergelykde formaat vir maklike migrasie.
Oorsig
Die TTS.ai 'nPI verskaf programmamatiese toegang tot alle platform kenmerke: teks- to-sech sintesis, spraak- to- text transkripsie, stem kloning, oudioverbetering, en nog meer. Die API gebruik standaard REST streekbyeenkomste met JSON-versoek/response liggame.
API-sleutel
Kry jou API-sleutel van Rekeninginstellings. Bevry van Pro - en - ondernemingsplanne.
Basis URL
https://api.tts.ai/v1/
Magtingsgids
Draer - teken deur middel van Authorization kop
Geldigheidsverklaring
/v1/tts/ werk sonder enige klank, tot 5 000 karakters/dag per IP, deur enige van ons gratis modelle te gebruik (piper, vits, melotts, kokoro). Teken op vir'n gratis rekening om 15 000 bonuskarakters en toegang tot premiese modelle te kry.
Vir premiese modelle en hoër tempogrense, met â n Beer-bewys in die Authorization kop.
Authorization: Bearer sk-tts-your-api-key-here
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")
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');
Basis URL
Alle eindpunte is relatief tot hierdie basis URL. Byvoorbeeld, die TTS-punt is:
Tempo Limiet
API tempo perke wissel deur plan:
| Plan | Versoeke/min | AdaCity name (optional, probably does not need a translation) | Maksimale Teks Lengte |
|---|---|---|---|
| Beskikbaar | 10 | 2 | 500 karakters |
| Beginer | 30 | 3 | 1 000 000 karakters |
| Pro | 60 | 5 | 1 000 000 karakters |
| Onderneming | 300 | 20 | 50 000 karakters |
Herhaalde beperk opskrifte word ingesluit in elke antwoord: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Kredietkoste
| Diens | Koste | Eenheid |
|---|---|---|
| TTS (Vry modelle: Pyper, VITS, MetoTTS) | 1 000 karakters | per 1 000 karakters |
| TTS (Standaardmodelle: Kokoro, KosyVoice 2, ens.) | 2 000 karakters | per 1 000 karakters |
| TTS (Premiummodelle: Tortoise, Chaterbox, ens.) | 4 000 karakters | per 1 000 karakters |
| Woorde tot teks | 2 000 karakters | per minuut van oudio |
| Stemverkleuring | 4 000 karakters | per 1 000 karakters |
| Stemveranderder | 3 000 karakters | per minuut van oudio |
| Oudioverbetering | 2 000 karakters | per minuut van oudio |
| Lugredenskap / diefstal | 3 000-4 000 karakters | per minuut van oudio |
| Spraak - vertaling | 5 000 karakters | per minuut van oudio |
| Stem Gesels | 3 000 karakters | per skakel |
| Sleutel BPM Soeker | Beskikbaar | -- |
| KlankomskakelaarName | Beskikbaar | -- |
Teks vir spraak
Skakel teks om na toespraak oudio. Gee terug oudio-lêer in die versoekte formaat.
Versoek Liggaam
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| model | string | Nee | Model ID (bv. cholbox , |
| text | string | Ja | Teks om na spraak om te skakel. Per-request pet: 500 chars (anonious), 5 000 (vrye rekening), 1 000 000 (betaalde plan). Lang invoere is outo-bekendde bediener-side. |
| voice | string | Ja | Stem Id (gebruik |
| format | string | Nee | Uitsetformaat: |
| speed | float | Nee | Gebruik spoedvermenigvuldiger. Verstek: |
| language | string | Nee | Taalkode (bv. |
| instructions | string | Nee | Tekenings / afleweringstekens ( %.2 500 chars). e.g. |
| pronunciations | object | array | Nee | Per-request uitspraak oorskryf. Of |
| stream | boolean | Nee | Aktiveer afstroom antwoord. Verstek: |
Voorbeeld Versoek
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
SSML etiket
Oorvloei nommers, datums, geld eenheid, telefoonnommers en akronieme in Datum formaat verstek na 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
Interpreteer-as Invoer Gespreek as cardinal1234one thousand two hundred thirty-four ordinal21twenty-first date1999-12-31Desember dertig-eerste, negentien en negentig 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 {
"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."
}Reaksie
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.Volgrote voorbeeld
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.
Woorde tot teks
Ingeskryf klank na teks. Ondersteun 99 tale met outo- opspoor.
Versoek Liggaam (multipart/form-data)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| file | file | Ja | Audio lêer (MP3, WAV, FLAC, OG, MPA, MP4, WebM). Max 100mb. |
| model | string | Nee | STT model: sense fact |
| language | string | Nee | Taalkode. |
| timestamps | boolean | Nee | Sluit in woord-vlak maaltampe. Verstek: |
| diarize | boolean | Nee | Aktiveer luidspreker diarisering. Verstek: |
Reaksie
{
"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"
}
]
}
Stemverkleuring
Genereer spraak in 'n gekloonde stem. Oplaai' n verwysing oudio en teks.
Versoek Liggaam (multipart/form-data)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| reference_audio | file | Ja | Verwysing stem-klank (1- 30 sekondes aanbeveel). Max 20mb. |
| text | string | Ja | Teks om in die gekloonde stem te praat. |
| model | string | Nee | Gold model: gpt-sovits |
| format | string | Nee | Uitsetformaat: |
| language | string | Nee | Teiken taal kode. Moet deur die gekose model ondersteun word. |
Reaksie
Gee terug die oudiolêer as binêre data, dieselfde as die TTS-punt.
Stemveranderder
Skakel oudio om na klank soos 'n ander stem. Oplaai bron-oudio en kies 'n teikenstem.
Versoek Liggaam (multipart/form-data)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| file | file | Ja | Bron oudiolêer (MP3, WAV, FLAC). Max 50mb. |
| target_voice | string | Ja | Teiken stem Id na skakel om na (gebruik |
| model | string | Nee | Stemomskakeling model: |
| format | string | Nee | Uitsetformaat: |
Voorbeeld Versoek
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
Reaksie
Gee terug die omgeskakelde oudiolêer as binêre data.
Spraak - vertaling
Vertaal die klank van een taal na 'n ander. Kombineer spraak-na-teks, vertaling en teks-na-sech in' n enkele roep.
Versoek Liggaam (multipart/form-data)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| file | file | Ja | Bron oudiolêer in die oorspronklike taal. Max 100mb. |
| target_language | string | Ja | Teiken taal kode (bv. |
| voice | string | Nee | Stem vir vertaal uitset. Outo-kies gekies as weggelaat. |
| preserve_voice | boolean | Nee | Probeer om die oorspronklike spreker se stemeienskappe te bewaar. Verstek: |
Reaksie
{
"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
}
Spraak tot spraak
Verander spraakstyl, emosie of aflewering terwyl jy die inhoud behou.'n Nuttige manier om'n mens se stemtoon, stemtoon en gevoel te verander.
Versoek Liggaam (multipart/form-data)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| file | file | Ja | Bronspraak oudiolêer. Max 50mb. |
| voice | string | Ja | Teiken stem Id vir die uitset spraak |
| model | string | Nee | Model: |
| emotion | string | Nee | Teiken emosie: |
| speed | float | Nee | Spoed aanpassing. Verstek: |
Reaksie
Gee terug die veranderde oudiolêer as binêre data.
Oudiogereedskap
Oudioverwerkingspunte vir verbeteringe, sangverwydering, stamverdeeling en nog meer.
Verbeter klankgehalte: denaise, verbeter duidelikheid, superresolusie.
| file file | Oudiolêer om te verbeter |
| denoise boolean | Aktiveer denoissing (verstek: waar) |
| enhance_clarity boolean | Verbeter spraak duidelikheid (verstek: Waar) |
| super_resolution boolean | Volskaalse klankgehalte (verstek: vals) |
| strength integer | 1- 3 (lig, medium, sterk). Verstek: 2 |
Afsonderlike geluide van instrumente (vooruitgang) of in stingels verdeel.
| file file | Oudiolêer om te skei |
| model string | demucs (verstek) of spleeter |
| stems integer | Nommer van stingels: 2, 4, 5 of 6 (verstek: 2) |
| format string | Uitsetformaat: |
Verwyder eggo's en reverb van oudio - opnames.
| file file | Oudiolêer om te verwerk |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
Analiseer die klank om sleutel, BPM en tydhandtekening te bespeur.
| file file | Oudiolêer om te ontleed |
{
"key": "C",
"scale": "Major",
"bpm": 120.0,
"time_signature": "4/4",
"camelot": "8B",
"compatible_keys": ["C Major", "G Major", "F Major", "A Minor"]
}
Skakel om oudio tussen formate.
| file file | Audio lêer na skakel om |
| format string | Teikenformaat: |
| bitrate integer | Uitset bistempo in kbps: 64, 128, 192, 256, 320 |
| sample_rate integer | Voorbeeld tempo: 22050 4100 48 000 |
| channels string | mono of stereo |
Stem Gesels
Stuur oudio- of teks en ontvang 'n kunsmatige antwoord met sintetiseerde spraak.
Versoek Liggaam (multipart/form-data of JSON)
| Parameter | Tipe | Benodig | Beskrywing |
|---|---|---|---|
| audio | file | Nee* | Oudiotoevoer (eus |
| text | string | Nee* | Teks invoer (Ã2f |
| voice | string | Nee | Stem vir KI-reaksie. Verstek: |
| tts_model | string | Nee | TTS model vir antwoord. Verstek: |
| system_prompt | string | Nee | Pasgemaakte stelsel por vir die kunsmatige intelligensie |
| conversation_id | string | Nee | Gaan voort met 'n bestaande gesprek |
Reaksie
{
"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
}
BangTTS
Dien veelvuldige tekste vir parallelle TTS - geslag in. Ontvang op'n mooi manier'n webhoek - terugroep wanneer alle werke voltooi is.
Parameters
| Parameter | Tipe | Beskrywing |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | Opsionele URL om op te offer, het resultate wanneer'n klomp klaar is. |
Reaksie
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
Posl vordering met KRY /v1/ts/bat/result/?bang_id=abc123
Stem inbed
Pre- compute 'n stem vergieting van verwysing oudio. Gebruik die teruggekeerde embed_id in latere stem kloning versoeke vir naby-instant geslag.
Parameters
| Parameter | Tipe | Beskrywing |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
Reaksie
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
Gesondheidstoets
Bevestig GPU bediener status, gelaaide modelle, en wagtou grootte. Nee geldigheidsverklaring benodig. Kasd vir 30 sekondes.
Reaksie
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
Lysmodel's
Gee terug 'n lys van alle beskikbare modelle met hul vermoëns.
Reaksie
{
"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
}
]
}
Maak 'n mens se stem oop
Gee terug 'n lys van alle beskikbare stemme, verkies gegefilter deur model of taal.
Navraag Parameters
| Parameter | Tipe | Beskrywing |
|---|---|---|
| model | string | Filter deur model Id (bv. |
| language | string | Filter deur taalkode (bv. |
| gender | string | Filter deur geslag: |
Reaksie
{
"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
}
Subtitels (RT / VTT) nuwe
Genereer geroniseerde subtitels vir enige voltooide TTS werk. Laat loop Whiper belyning oor die oudio en gee terug SrT of WebVT. Resultaat is kasgeheue op disket sodat 'n tweede roep vir dieselfde uid is' n disket lees.
Navraag Parameters
| Parameter | Benodig | Beskrywing |
|---|---|---|
| uuid | Ja | Werk UUID teruggekeer deur /v1/ts/ of /v1/stem-clone/. |
| format | Nee | |
| download | Nee | |
| language | Nee | Lei aan na die belyning model (outobespeur as weggelaat). |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
Woordeboeke nuwe
Sê vir die TTS-enjin hoe om spesifieke woorde uit te spreek. Gestoor inskrywings outo- apply na elke TTS versoek jy maak. 200-entry per- per-telling beperk.
Versoek Liggaam (POST)
| Parameter | Tipe | Beskrywing |
|---|---|---|
| word | string | Woord na oorskryf (bv. |
| replacement | string | Hoe om dit te spel vir die model (bv. |
| language | string | Opsionele ISO-kode, leeg = van toepassing op alle tale. |
| case_sensitive | boolean | Verstek |
# 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-..."
Jy kan ook verby per-request oorskryf sonder om hulle te red ${ sluit
Artikel Narator nuwe
Laat val 'n enkel
<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>
Keuses
| Parameter | Beskrywing |
|---|---|
data-pk | Publiseer Vry Besig Informasie |
data-voice | Stem Id. Verstek |
data-model | TTS model ID. Verstek |
data-extract | |
data-position | |
data-color | Accent color (enige Css kleur). Verstek |
data-min-chars / data-max-chars | Slaan die staaf oor as die artikel korter is as min ikoone (verstek 200). Cap invoer by max-harde (verstek 50 000). |
Luister Knoppie Gui- element
Inlyn knoppie-styl kort flenter. Ander vorm van die Artikel Narator hierbo (wat outo-inspuite 'n bladsy-spanbalk bevat en die hele artikel beskryf).
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
Gestoorde stemme (Perstent verklaers)
Oplaai 'n verwysing oudio een keer, kry terug' n volgehoue stem_id, dan verwys dit na wat id in TTS versoeke in plaas van herlaai oudio elke roep. Ideale vir hoë-volume integrasies.
Laai 'n stem op
POST
https://tts.ai/api/v1/user-voices/
Bemagtiging vereis
Multiparte vorm. velde: lêer (required, 5-30s-oudio), naam (required), taal (opsionele, verstek en), model (opsionele ⇩ auto- kies cosy faktuur2 vir zh/ja/ko anders open fact), toestemming_bevestigde (benodigde, enige waarheidagtige waarde).
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"
}
Gebruik die gestoorde stem in TTS
POST na /api/v1/ts/ (NOT: web VPS-gasheer, nie api.tts.ai) met gebruiker_ fak_id. Ons laai jou gestoorde oudio- en roete na die cloning pyp.
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.
Lys / uitvee
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
Argief / reaktiveer (free)
Argiefde stemme bly in jou rekening, maar kan nie in TTS gebruik word nie. Nuttig vir sluimerende einde gebruikers sodat jou lys skoon bly.
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
Kode Voorbeelde
Teks vir spraak
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')}")
Woorde tot teks
# 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"])
Stemverkleuring
# 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)
Teks vir spraak
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();
Woorde tot teks
// 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);
Teks vir spraak
# 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
Woorde tot teks
# 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"
Stemverkleuring
# 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
Oudioverbetering
# 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
Foutkodes
Alle foute gee terug 'n JSON antwoord met' n error veld.
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough characters for this request.",
"characters_required": 4000,
"characters_available": 2000
}
}
| HTTP-status | Foutkode | Beskrywing |
|---|---|---|
| 400 | bad_request |
Ongeldige versoek parameters. Bevestig die fout boodskap vir detail. |
| 401 | unauthorized |
Ontbrekende of ongeldige API-sleutel. |
| 402 | insufficient_credits |
Nie genoeg karakters nie. Purchase meer na /prering/. |
| 403 | forbidden |
Jy het nie toestemming om toegang te verkry tot hierdie hulpbron (bv. stem saam met 'n ander gebruiker se werk) nie. 'nPI toegang self is ingesluit op elke plan. |
| 404 | not_found |
Model of stem nie gevind nie. |
| 413 | file_too_large |
Oplaai lêer oorskry die grootte beperk. |
| 429 | rate_limited |
Te veel versoeke. Bevestig tempo beperk opskrifte. |
| 500 | internal_error |
Bediener fout. Probeer later weer. |
| 503 | model_loading |
Model laai tans. Probeer binne 'n paar sekondes weer. |
Uitpakkies
Vir lang-ring take (verdeelde, klomp TTS) kan jy verskaf 'n
{
"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"
}
Gereed om te bou?
Kry jou API-sleutel en begin TTS.ai in jou programme invoeg.