API skjölun

Samþætta TTS.ai í forritum þínum með REST API okkar. OpenAI-samhæft snið fyrir auðveldan flutning.

REST API OpenAI samhæft JSON svör Straumspilunarstuðningur

Yfirlit

TTS.ai API veitir forritunarlegan aðgang að öllum eiginleikum vettvangsins: texta-til-tal myndun, tal-til-texta uppskrift, rödd klónun, hljóð aukahluti, og fleira.API notar staðlaða REST samninga með JSON beiðni / svar líkama.

API lykill

Fáðu API lykilinn þinn frá Stillingar reiknings. Í boði á Pro og Enterprise áætlunum.

Grunnslóð

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

Auðkenning

Bearer Token í gegnum Authorization haus

Auðkenning

Frjáls tier - enginn lykill krafist. Anonymous POST to /v1/tts/ Vinna án auth, allt að 5.000 stafir / dag á IP, með því að nota einhvern af okkar ókeypis módel (piper, vits, melotts, kokoro). Skráðu þig fyrir ókeypis reikning til að fá 15.000 bónus stafi og aðgang að úrvals módel.

Fyrir aukagjald módel og hærri takmörk, staðfesta með Bearer tákn í Authorization haus.

HTTP haus
Authorization: Bearer sk-tts-your-api-key-here
Haltu API lyklinum þínum leyndum. Ekki deila því í biðlarahlið kóða, opinberum geymslum eða annálum. Snúðu lyklum reglulega frá reikningsstillingum þínum.

SDK

Opinber SDK auðvelda að samþætta TTS.ai í forritið þitt.Bæði eru opinn uppspretta og fáanleg á 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

Grunnslóð

Grunnslóð: https://api.tts.ai/v1/

Allir endapunktar eru í tengslum við þessa grunnslóð. Til dæmis er TTS endapunkturinn:

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

Takmörk hraða

API hlutfall takmarkanir eru mismunandi eftir áætlun:

Plan Beiðnir / mín Samtímis Hámarks textalængd
Frjáls 10 2 500 stafir
Ræsir 30 3 1.000.000 stafir
Pro 60 5 1.000.000 stafir
Fyrirtæki 300 20 50.000 stafir

Hraðtakmörk hausar eru innifalin í hverju svari: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Lánskostnaður

Þjónusta Kostnaður Einingar
TTS (Free módel: Piper, VITS, MeloTTS) 1.000 stafir á hverja 1.000 stafi
TTS (Standard módel: Kokoro, CosyVoice 2, osfrv) 2.000 stafir á hverja 1.000 stafi
TTS (Premium módel: Tortoise, Chatterbox osfrv.) 4.000 stafir á hverja 1.000 stafi
Tal í texta 2.000 stafir á mínútu af hljóði
Raddklónun 4.000 stafir á hverja 1.000 stafi
RaddbreytirName 3.000 stafir á mínútu af hljóði
Hljóðuppfærsla 2.000 stafir á mínútu af hljóði
Vocal Fjarlægja / Stem skipting 3.000-4.000 stafir á mínútu af hljóði
TalþýðingName 5.000 stafir á mínútu af hljóði
Raddspjall 3.000 stafir í hvern leik
Key & BPM leitarvél Frjáls --
Hljóðbreytir Frjáls --

Texti í talName

POST /v1/tts/

Umbreyta texta í talhljóð. Sýnir hljóðskrá á beiðnu sniði.

Beiðni

ViðföngTegundNauðsynlegtLýsing
model string Nei Tegundar-ID (t.d. kokoro, chatterbox, piper). Ef sleppt er, veljum við sjálfkrafa gerð sem styður beðið tungumálkokoro fyrir en/ja/zh/ko/fr/de/it/pt/es/hi/ru, piper fyrir önnur tungumál (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/o.s.frv.).
text string Texti til að breyta í tal. Hámark á beiðni: 500 stafir (nafnlaus), 5. 000 (frjáls reikningur), 1. 000. 000 (greiddur reikningur). Langar inntaksupplýsingar eru sjálfkrafa brotnar niður á miðlarahlið.
voice string Voice ID (notaðu / v1 / raddir / til að skrá tiltækar raddir)
format string Nei Úttakssnið: mp3 (sjálfgefið), wav, flac, ogg
speed float Nei Talhraða margfaldari. Sjálfgefið: 1.0. Svið: 0.5 til 2.0
language string Nei Tungumálakóði (t.d. en, es). Finnst sjálfkrafa ef sleppt er.
instructions string Nei Virka / afhendingu vísbending (≤500 stafir). t.d. \
pronunciations object | array Nei Annaðhvort {\
stream boolean Nei Virkja straumsvar. Sjálfgefið: false

Dæmi um beiðni

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

SSML merki

Wrap tölur, dagsetningar, gjaldmiðill, símanúmer og skammstafanir í

túlkaInntakTalað sem
cardinal1234one thousand two hundred thirty-four
ordinal21twenty-first
date1999-12-31December thirty-first, nineteen ninety-nine
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

Sjálfgefið dagsetningarsnið er mdy fyrir ensku og dmy annars staðar; yfirfæra með format=\

Dæmi
{
  "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."
}

Svar

The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result.

Step 1: Submit request

Response (JSON)
{
  "uuid": "77b71db532874ce98e84a69a2d740d4c",
  "job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
  "status": "queued",
  "credits_used": 11,
  "credits_remaining": 15000
}

Step 2: Poll for result

GET /v1/speech/results/?uuid=<job_uuid>

Poll this endpoint every 1-2 seconds until status is completed or failed.

Polling response (completed)
{
  "status": "completed",
  "result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}
Polling response (still processing)
{
  "status": "processing"
}

Step 3: Download audio

Fetch the result_url from the completed response to download the audio file.

Full example

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

Streaming alternative: For supported models (Kokoro, MeloTTS), use POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.

Tal í texta

POST /v1/stt/

Umrita hljóð í texta. Styður 99 tungumál með sjálfvirkri uppgötvun.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
file file Hljóðskrá (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Hámark 100MB.
model string Nei STT líkan: hvísla (sjálfgefið), hraðari-hvísla, skynsamleg-rödd
language string Nei Tungumálakóði. auto fyrir sjálfvirka uppgötvun (sjálfgefið).
timestamps boolean Nei Sjálfgefið: false
diarize boolean Nei Sjálfgefið: false

Svar

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

Raddklónun

POST /v1/tts/clone/

Búa til ræðu í klónuðu rödd. Hlaða tilvísun hljóð og texta.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
reference_audio file Tilvísun rödd hljóð (10-30 sekúndur mælt með). Max 20MB.
text string Texti til að tala í klónuðu rödd.
model string Nei Klón líkan: chatterbox (sjálfgefið), cosyvoice2, gpt-sovits
format string Nei Úttakssnið: mp3 (sjálfgefið), wav, flac
language string Nei Tungumálakóði. Verður að vera studdur af valið gerð.

Svar

Sýnir hljóðskrána sem tvíundagögn, eins og TTS endapunkturinn.

RaddbreytirName

POST /v1/voice-convert/

Umbreyta hljóð til að hljóma eins og önnur rödd. Hlaða upp hljóð og velja mark rödd.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
file file Upprunaleg hljóðskrá (MP3, WAV, FLAC). Hámark 50MB.
target_voice string Tilgreindu raddauðkenni sem á að breyta í (notaðu /v1/voices/ til að skrá tiltækar raddir)
model string Nei Raddbreytingarlíkan: openvoice (sjálfgefið), knn-vc
format string Nei Úttakssnið: wav (sjálfgefið), mp3, flac

Dæmi um beiðni

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

Svar

Skilur eftir breytta hljóðskrá sem tvíundagögn.

TalþýðingName

POST /v1/speech-translate/

Sameinar tal-til-texta, þýðing, og texti-til-tal í einu símtali.Það er auðvelt að nota og auðvelt að nota.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
file file Upprunaleg hljóðskrá á upprunalegu tungumáli. Hámark 100MB.
target_language string Tungumálakóði (t.d. is, is, is, is)
voice string Nei Rödd fyrir þýtt úttak. Sjálfvirkt valið ef sleppt er.
preserve_voice boolean Nei Reyna að varðveita upprunalega raddeiginleika ræðumannsins. Sjálfgefið: false

Svar

JSON svar
{
  "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
}

Tal til tals

POST /v1/speech-to-speech/

Umbreyta talstíl, tilfinningar, eða afhendingu en halda innihaldi. Gagnlegt fyrir að stilla tón, hraða og tjáningarmátt.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
file file Upprunaleg tal hljóðskrá. Hámark 50MB.
voice string Markmið raddgreining fyrir framleiðsla ræðu
model string Nei Model: openvoice (sjálfgefið), chatterbox
emotion string Nei Tilfinningar: hlutlaus, hamingjusöm, sorgleg, reiður, spennt
speed float Nei Hraðastilling. Sjálfgefið: 1.0. Svið: 0.5 til 2.0

Svar

Sýnir breytta hljóðskrá sem tvíunda gögn.

HljóðtólName

Hljóðvinnsla endapunkta til að auka, radd fjarlægja, stilkur skipting, og fleira.

POST /v1/audio/enhance/

Auka hljóðgæði: denoise, bæta skýrleika, frábær upplausn.

file fileHljóðskrá til að auka
denoise booleanVirkja hávaðaeyðingu (sjálfgefið: satt)
enhance_clarity booleanAuka talskýringu (sjálfgefið: satt)
super_resolution booleanUppskalun hljóðgæða (sjálfgefið: ósatt)
strength integer1- 3 (létt, meðal, sterkt). Sjálfgefið: 2
POST /v1/audio/separate/

Aðskilja raddir frá hljóðfærum (rödd fjarlægja) eða skipt í stilkar.

file fileHljóðskrá sem á að aðskilja
model stringdemucs (sjálfgefið) eða spleeter
stems integerFjöldi stilka: 2, 4, 5 eða 6 (sjálfgefið: 2)
format stringÚttakssnið: wav, mp3, flac
POST /v1/audio/dereverb/

Fjarlægðu echo og reverb frá hljóðupptökum.

file fileHljóðskrá sem á að vinna úr
type stringecho or reverb (default: both)
intensity integer1-5 (default: 3)
POST /v1/audio/analyze/ Frjáls

Greina hljóð til að greina lykil, BPM og tíma undirskrift.

file fileHljóðskrá til að greina
Svar
{
  "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/ Frjáls

Umbreyta hljóð milli snið.

file fileHljóðskrá sem á að umbreyta
format stringMarksnið: mp3, wav, flac, ogg, m4a, aac
bitrate integerÚttaks bitahraði í kbps: 64, 128, 192, 256, 320
sample_rate integerSýnatökutíðni: 22050, 44100, 48000
channels stringmono eða stereo

Raddspjall

POST /v1/voice-chat/

Senda hljóð eða texta og fáðu AI svar með samsettri ræðu.

Beiðni (multipart/form-data eða JSON)

ViðföngTegundNauðsynlegtLýsing
audio file Nei* Hljóðinntak (annaðhvort hljóð eða texti nauðsynlegt)
text string Nei* Texta inntak (annaðhvort audio eða text nauðsynlegt)
voice string Nei Sjálfgefið: af_bella
tts_model string Nei TTS líkan fyrir svar. Sjálfgefið: kokoro
system_prompt string Nei Sérsniðin kerfiskveikja fyrir AI
conversation_id string Nei Halda áfram núverandi samtali

Svar

JSON svar
{
  "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
}

Batch TTS

POST /v1/tts/batch/

Sendu inn marga texta fyrir samhliða TTS myndun. Valfrjálst að fá webhook callback þegar öllum verkefnum er lokið.

Breytur

BreytaTegundLýsing
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

Svar

JSON svar
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

Framvinda könnunar með GET /v1/tts/batch/result/?batch_id=abc123

Innfelling raddupplýsinga

POST /v1/voice-embed/

Forreikna innfellingu radd frá tilvísunarhljóði. Notaðu skilað embed_id í síðari beiðnir um raddklónun til að ná næstum samstundis myndun.

Breytur

BreytaTegundLýsing
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

Svar

JSON svar
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

Heilsuskoðun

GET /v1/health/

Athuga stöðu GPU þjóns, hlaðin líkön og biðröðastærð. Engin auðkenning krafist. Skyndiminni í 30 sekúndur.

Svar

JSON svar
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

Listi yfir gerðir

GET /v1/models/

Sýnir lista yfir allar tiltækar gerðir með getu þeirra.

Svar

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

Listi yfir raddir

GET /v1/voices/

Sýnir lista yfir allar tiltækar raddir, valfrjálst síað eftir gerð eða tungumáli.

Stillingar fyrirspurnar

ViðföngTegundLýsing
model string Sía eftir tegundarnúmeri (t.d. kokoro)
language string Sía eftir tungumálakóða (t.d. is)
gender string Sía eftir kyni: karlkyns, kvenkyns, hlutlaust

Svar

JSON svar
{
  "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
}

Texti (SRT / VTT) nýtt

GET /v1/speech/subtitles/?uuid=<job_uuid>&format=srt|vtt&download=1

Búa til samstillta texta fyrir öll TTS verk sem eru lokið. Keyrir Whisper samræmingu yfir hljóð og skilar SRT eða WebVTT. Niðurstaðan er skyndiminni á disknum svo annað símtal fyrir sama uuid er lestur á disk.

Stillingar fyrirspurnar

ViðföngNauðsynlegtLýsing
uuidVerk UUID skilað af / v1 / tts / eða / v1 / voice- clone /.
formatNeisrt (sjálfgefið) eða vtt.
downloadNei1 til að senda Content-Disposition: attachment þannig að vafrinn vistir frekar en birtir.
languageNeiVísbending um samræmingarlíkanið (sjálfvirkt greint ef sleppt er).
cURL
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt

Framburður orðabók nýtt

GET POST DELETE /api/v1/pronunciations/

Segðu TTS vélinni hvernig á að bera fram tiltekin orð. Vistaðar færslur eru sjálfkrafa beitt á hverja TTS beiðni sem þú gerir. 200 færslur á reikning.

Beiðni (POST)

ViðföngTegundLýsing
wordstringOrðið sem á að yfirfæra (t.d. GIF, Anthropic). Orðmörk samsvarandi.
replacementstringHvernig á að stafa það fyrir líkanið (t.d. jiff, ann THROP ick).
languagestringValfrjáls ISO kóði. Tómur = gildir um öll tungumál.
case_sensitivebooleanSjálfgefið false. Passa hástafi nákvæmlega þegar true.
cURL
# 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-..."

Þú getur líka sent fram yfirfærslur á hverri beiðni án þess að vista þær — með pronunciations á hvaða /v1/tts/ kall sem er, annað hvort sem hlut eða fylki (sjá TTS endapunkts breytur).

Greinarlesari nýtt

Slepptu einu