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

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.

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.

Grunnslóð

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

All endpoints are relative to this base URL. For example, the TTS endpoint is:

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

Hraðatakmörk

API rate limits vary by plan:

PlanName Beiðnir / mín Concurrent Hámarks textalengd
Fyrir 60 5 5.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 Eining
TTS (Free módel: Piper, VITS, MeloTTS) 1 stig á hverja 1.000 stafi
TTS (Standard módel: Kokoro, CosyVoice 2, osfrv) 2 einingar á hverja 1.000 stafi
TTS (Premium módel: Tortoise, Chatterbox osfrv.) 4 einingar á hverja 1.000 stafi
Tal í texta 2 einingar á mínútu hljóðs
Raddklónun 4 einingar á hverja 1.000 stafi
RaddbreytirName 3 einingar á mínútu hljóðs
Hljóðuppfærsla 2 einingar á mínútu hljóðs
Vocal Fjarlægja / Stem skipting 3-4 einingar á mínútu hljóðs
TalþýðingName 5 stig á mínútu hljóðs
Raddspjall 3 einingar á snúning
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 - Já. Model ID (t.d. kokoro, chatterbox, piper)
text string - Já. Texti til að breyta í tal (hámark 5.000 stafir fyrir Pro, 50.000 fyrir Enterprise)
voice string - Já. 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 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

Returns the audio file as binary data with appropriate Content-Type header (audio/mpeg, audio/wav, etc.).

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 - Já. Hljóðskrá (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). Hámark 100MB.
model string Nei. STT líkan: whisper (sjálfgefið), faster-whisper, sensevoice
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 - Já. Tilvísun rödd hljóð (10-30 sekúndur mælt með). Max 20MB.
text string - Já. Texti til að tala í klónuðu rödd.
model string Nei. Klóna 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íunda gö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 - Já. Upprunaleg hljóðskrá (MP3, WAV, FLAC). Hámark 50MB.
target_voice string - Já. 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 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

Returns the converted audio file as binary data.

TalþýðingName

POST /v1/speech-translate/

Sameinar tal-til-texta, þýðing, og texti-til-tal í einu símtali.Samþættir tal til texta, þýðing, og texti-til-tal í einu símtali.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
file file - Já. Upprunaleg hljóðskrá á upprunalegu tungumáli. Hámark 100MB.
target_language string - Já. 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. Reyndu að varðveita upprunalega hátalara

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/

Transform speech style, emotion, or delivery while keeping the content. Useful for adjusting tone, pacing, and expressiveness.

Beiðni (multipart/form-data)

ViðföngTegundNauðsynlegtLýsing
file file - Já. Upprunaleg tal hljóðskrá. Hámark 50MB.
voice string - Já. Markmið rödd ID 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

Returns the transformed audio file as binary data.

HljóðtólName

Audio processing endpoints for enhancement, vocal removal, stem splitting, and more.

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 booleanUppskala hljóðgæði (sjálfgefið: falskt)
strength integer1- 3 (létt, miðlungs, sterkt). Sjálfgefið: 2
POST /v1/audio/separate/

Aðskilja rödd 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
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 fileAudio file to analyze
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 stringTarget format: mp3, wav, flac, ogg, m4a, aac
bitrate integerÚttaksbitahraði í kbps: 64, 128, 192, 256, 320
sample_rate integerSýnishraði: 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
}

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 Veldiđ.

Snið villusvörunar
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough credits for this request.",
    "credits_required": 4,
    "credits_available": 2
  }
}
HTTP staðaError CodeLý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 einingar. 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 fer yfir stærðartakmörk.
429 rate_limited Of margar beiðnir. Athugaðu hámarkshraðahausa.
500 internal_error Þjónusta villa. Reyndu aftur seinna.
503 model_loading Líkanið er að hlaða. 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 hefur verið lokið.

Tilbúinn til að byggja?

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