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

Allar API beiðnir þurfa staðfestingu í gegnum 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 100.000 stafir
Pro 60 5 100.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 Model ID (t.d. kokoro, chatterbox, piper)
text string Texti til að breyta í tal (hámark 100.000 stafir á beiðni)
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.
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

Svar

Sýnir hljóðskrána sem tvíundagögn með viðeigandi Content-Type haus (audio/mpeg, audio/wav, o.s.frv.).

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

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
}

Dæmi um kóða

Texti í talName

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

Tal í texta

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

Raddklónun

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)

Texti í talName

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

Tal í texta

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

Texti í talName

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

Tal í texta

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"

Raddklónun

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

Hljóðuppfærsla

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

Villukóðar

Allar villur skila JSON svari með error - Á sviđinu.

Snið villusvörunar
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough characters for this request.",
    "characters_required": 4000,
    "characters_available": 2000
  }
}
HTTP staðaVillukóðiLýsing
400 bad_request Ógild viðföng beiðni. Athugaðu villuboðin fyrir frekari upplýsingar.
401 unauthorized Vantar eða ógildur API lykill.
402 insufficient_credits Ekki nóg stafi. Kaupa meira á / pricing /.
403 forbidden API aðgangur er ekki í boði á áætlun þinni.
404 not_found Líkan eða rödd fannst ekki.
413 file_too_large Skráin sem var hlaðið inn fer yfir stærðartakmörkin.
429 rate_limited Of margar beiðnir. Athugaðu hraðatakmarkanir hausa.
500 internal_error Þjónusta villa. Reyndu aftur seinna.
503 model_loading Hleð inn líkani. Reyndu aftur eftir nokkrar sekúndur.

Vefhögg

Fyrir verkefni sem taka langan tíma að ljúka (t.d. að skipta upp stofni, batch TTS) geturðu notað webhook_url breytu. Þegar verkinu er lokið munum við senda niðurstöðuna á slóðina þína.

Webhook payload
{
  "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"
}
Niðurstöður Webhook eru tiltækar til niðurhals í 24 klukkustundir eftir að þeim er lokið.

Tilbúinn til að byggja?

Fáðu API lykilinn þinn og byrjaðu að samþætta TTS.ai í forritin þín.