API ଦଲିଲିକରଣ

ଆମର REST API ସହିତ ଆପଣଙ୍କର ପ୍ରୟୋଗଗୁଡ଼ିକରେ TTS.aiକୁ ଏକୀକୃତ କରନ୍ତୁ। ସହଜ ପରିବହନ ପାଇଁ OpenAI-ସଂଗତିପୂର୍ଣ୍ଣ ଶୈଳୀ।

REST API OpenAI ସୁସଂଗତName JSON ଉତ୍ତରଗୁଡ଼ିକ ପ୍ରବାହ ସମର୍ଥନ

ସମୀକ୍ଷା

TTS.ai API ସମସ୍ତ ପ୍ଲାଟଫର୍ମ ଗୁଣଧର୍ମ ପାଇଁ ପ୍ରଗ୍ରାମମୂଳକ ପ୍ରବେଶ ସୁବିଧା ପ୍ରଦାନ କରେ: ପାଠ୍ୟ-ରୁ-ବାକ୍ୟ ସଂଶ୍ଲେଷଣ, ବାକ୍ୟ-ରୁ-ବାକ୍ୟ ଅନୁବାଦ, ସ୍ୱର କ୍ଲୋନିଂ, ଧ୍ୱନି ସମ୍ପ୍ରସାରଣ, ଏବଂ ଅଧିକ। API JSON ଅନୁରୋଧ/ପ୍ରତିକ୍ରିୟା ଶରୀର ସହିତ ମାନକ REST ସମ୍ମିଳନୀ ବ୍ୟବହାର କରେ।

API କି

ଆପଣଙ୍କର API କିକୁ ଏଠାରୁ ପାଇବେ ଖାତା ବିନ୍ୟାସଗୁଡ଼ିକ. ପ୍ରୋ ଏବଂ ଏଣ୍ଟରପ୍ରାଇଜ ଯୋଜନାରେ ଉପଲବ୍ଧ ।

ଆଧାର URL

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

ପ୍ରାଧିକରଣ

ଧାରକ ଟୋକନ ମାଧ୍ୟମରେ Authorization ଶୀର୍ଷକ

ବୈଧିକରଣ

ମୁକ୍ତ ସ୍ତର — କୌଣସି କି ଆବଶ୍ୟକ ନାହିଁ। ବେନାମି POSTs କୁ /v1/tts/ କୌଣସି ପ୍ରମାଣପତ୍ର ବିନା କାର୍ଯ୍ୟ କରନ୍ତୁ, ପ୍ରତି IP ପାଇଁ 5,000 ଅକ୍ଷର/ଦିନ ପର୍ଯ୍ୟନ୍ତ, ଆମର ଯେକୌଣସି ମୁକ୍ତ ମଡେଲକୁ ବ୍ୟବହାର କରି (piper, vits, melotts, kokoro). 15,000 ବନାମ୍ ଅକ୍ଷର ଏବଂ ପ୍ରୀମିୟମ ମଡେଲକୁ ପ୍ରବେଶ କରିବା ପାଇଁ ମୁକ୍ତ ଖାତା ପାଇଁ ସଦସ୍ୟତା ନିଅନ୍ତୁ ।

ପ୍ରୀମିୟମ ମଡେଲ ଏବଂ ଉଚ୍ଚ ହାର ସୀମା ପାଇଁ, ରେ ଗୋଟିଏ ଧାରକ ଟୋକର ସହିତ ବୈଧିକରଣ କରନ୍ତୁ Authorization ଶୀର୍ଷକ.

HTTP ଶୀର୍ଷକ
Authorization: Bearer sk-tts-your-api-key-here
ଆପଣଙ୍କର API କି ଗୁପ୍ତ ରଖନ୍ତୁ। ଏହାକୁ ଗ୍ରାହକ-ପାର୍ଶ୍ୱ ସଂକେତ, ସାର୍ବଜନୀନ ଭଣ୍ଡାର, କିମ୍ବା ଲଗରେ ଅଂଶଗ୍ରହଣ କରନ୍ତୁ ନାହିଁ। ଆପଣଙ୍କର ଖାତା ବିନ୍ୟାସରୁ ନିୟମିତ ଭାବରେ କିଗୁଡ଼ିକୁ ଘୁରାନ୍ତୁ।

SDKଗୁଡ଼ିକName

ସରକାରୀ SDKs ଆପଣଙ୍କ ପ୍ରୟୋଗରେ TTS.aiକୁ ଏକତ୍ରିତ କରିବାରେ ସହଜ କରାଇଥାଏ । ଉଭୟ ମୁକ୍ତ ଉତ୍ସ ଏବଂ 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

ଆଧାର URL

ଆଧାର URL: https://api.tts.ai/v1/

ସମସ୍ତ ଶେଷ ବିନ୍ଦୁଗୁଡ଼ିକ ଏହି ଆଧାର URL ସହିତ ସମ୍ବନ୍ଧିତ। ଉଦାହରଣ ସ୍ୱରୂପ, TTS ଶେଷ ବିନ୍ଦୁ ହେଉଛି:

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

ହାର ସୀମା

API ହାର ସୀମା ଯୋଜନା ଅନୁଯାୟୀ ପରିବର୍ତ୍ତନ ହୋଇଥାଏ:

ସର୍ଭର ଅନୁରୋଧ/ମିନିଟ ଏକସଙ୍ଗେ ସର୍ବାଧିକ ପାଠ୍ୟ ଲମ୍ବ
ମୁକ୍ତ 10 2 500 ଅକ୍ଷର
ଆରମ୍ଭକର୍ତ୍ତା 30 3 ଅକ୍ଷର
ପ୍ରୋ 60 5 ଅକ୍ଷର
କମ୍ପାନୀName 300 20 50,000 ଅକ୍ଷର

ଦର ସୀମା ଶୀର୍ଷକଗୁଡ଼ିକୁ ପ୍ରତ୍ୟେକ ଉତ୍ତରରେ ଅନ୍ତର୍ଭୁକ୍ତ କରାଯାଇଛି: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

ଋଣ ଖର୍ଚ୍ଚ

ସର୍ଭିସ ଖର୍ଚ୍ଚ ଏକକ
TTS (ମୁକ୍ତ ନମୂନା: Piper, VITS, MeloTTS) 1,000 ଅକ୍ଷର ପ୍ରତି 1,000 ଅକ୍ଷର
TTS (ମାନକ ନମୂନା: Kokoro, CosyVoice2, ଇତ୍ୟାଦି) 2,000 ଅକ୍ଷର ପ୍ରତି 1,000 ଅକ୍ଷର
TTS (ପ୍ରୀମିୟମ ନମୂନା: Tortoise, Chatterbox, ଆଦି) 4,000 ଅକ୍ଷର ପ୍ରତି 1,000 ଅକ୍ଷର
ବାକ୍ୟରୁ ପାଠ୍ୟName 2,000 ଅକ୍ଷର ପ୍ରତି ମିନିଟରେ ଧ୍ୱନି
ଧ୍ୱନି କ୍ଲୋନିଂName 4,000 ଅକ୍ଷର ପ୍ରତି 1,000 ଅକ୍ଷର
ଧ୍ୱନି ପରିବର୍ତ୍ତକName 3,000 ଅକ୍ଷର ପ୍ରତି ମିନିଟରେ ଧ୍ୱନି
ଧ୍ୱନି ଉନ୍ନତି 2,000 ଅକ୍ଷର ପ୍ରତି ମିନିଟରେ ଧ୍ୱନି
ସ୍ୱର ଅପସାରଣ / ସ୍ୱର ବିଭାଜନ 3,000-4,000 ଅକ୍ଷର ପ୍ରତି ମିନିଟରେ ଧ୍ୱନି
ଭାଷଣ ଅନୁବାଦName 5,000 ଅକ୍ଷର ପ୍ରତି ମିନିଟରେ ଧ୍ୱନି
ଧ୍ୱନି ଚାଟName 3,000 ଅକ୍ଷର ପ୍ରତି ପାର୍ଶ୍ୱ
କି ଏବଂ BPM ସନ୍ଧାନକାରୀ ମୁକ୍ତ --
ଧ୍ୱନି ପରିବର୍ତ୍ତକName ମୁକ୍ତ --

ପାଠ୍ୟରୁ ବାକ୍ୟName

POST /v1/tts/

ପାଠ୍ୟକୁ ବାକ୍ୟ ଧ୍ୱନିରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ । ଅନୁରୋଧିତ ଶୈଳୀରେ ଧ୍ୱନି ଫାଇଲକୁ ଫେରାଇଥାଏ ।

ଅନୁରୋଧ ଶରୀରର

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
model string ନାମ ନମୂନା ID (ଯେପରିକି, kokoro, chatterbox, piper). ଯଦି ଅଲଗା କରାଯାଏ, ଆମେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଗୋଟିଏ ନମୂନାକୁ ବାଛିବା ଯାହା ଅନୁରୋଧିତ languageକୁ ସମର୍ଥନ କରେ - en/ja/zh/ko/fr/de/it/pt/es/hi/ru ପାଇଁ kokoro, ଅନ୍ୟ ସମର୍ଥିତ ଭାଷାଗୁଡ଼ିକ ପାଇଁ piper (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/etc.)।
text string ହଁ ପାଠ୍ୟକୁ ଭାଷାରେ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ। ପ୍ରତି ଅନୁରୋଧରେ ସୀମା: 500 ଅକ୍ଷର (ବିନା ନାମରେ), 5,000 (ମୁକ୍ତ ଖାତା), 1,000,000 (ପୈଠିତ ଯୋଜନା)। ଲମ୍ବା ନିବେଶଗୁଡ଼ିକ ସ୍ୱୟଂଚାଳିତ ସର୍ଭର-ପାର୍ଶ୍ୱରେ ଚୁଣ୍ଟାଯାଇଥାଏ।
voice string ହଁ ଧ୍ୱନି ID ( ଉପଲବ୍ଧ ଧ୍ୱନିଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିବା ପାଇଁ /v1/voices/ କୁ ବ୍ୟବହାର କରନ୍ତୁ)
format string ନାମ ନିର୍ଗମ ଶୈଳୀ: mp3 ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), wav, flac, ogg
speed float ନାମ ବଚନ ବେଗ ଗୁଣକ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 1.0। ପରିସର: 0.5 ରୁ 2.0
language string ନାମ ଭାଷା ସଂକେତ (ଉଦାହରଣ ସ୍ୱରୂପ, en, es). ଯଦି ଛାଡିଦିଆଯାଏ ତେବେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଚିହ୍ନଟ ହୋଇଥାଏ।
instructions string ନାମ କାର୍ଯ୍ୟ କରୁଥିବା / ପ୍ରଦାନ କରୁଥିବା ସନ୍ଦେଶଗୁଡ଼ିକ (≤500 ଅକ୍ଷର)। ଉଦାହରଣ ସ୍ୱରୂପ \
pronunciations object | array ନାମ ପ୍ରତି-ଅନୁରୋଧ ଉଚ୍ଚାରଣ ଅଣଦେଖା କରିଥାଏ। କିମ୍ବା {\
stream boolean ନାମ ପ୍ରବାହିତ ଉତ୍ତରକୁ ସକ୍ରିୟ କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: false

ଉଦାହରଣ ଅନୁରୋଧ

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 ଟ୍ୟାଗ

ବର୍ଣ୍ଣନା କରନ୍ତୁନିବେଶଏହିପରି ବଚନ କରନ୍ତୁ
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

ତାରିଖ ଶୈଳୀ ପୂର୍ବନିର୍ଦ୍ଧାରିତ mdy ଇଂରାଜୀ ପାଇଁ ଏବଂ dmy ଅନ୍ୟତ୍ର; format=\ ସହିତ ନବଲିଖନ କରନ୍ତୁ

ଉଦାହରଣ
{
  "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."
}

ଉତ୍ତର ଦିଅନ୍ତୁ

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.

ବାକ୍ୟରୁ ପାଠ୍ୟName

POST /v1/stt/

ଧ୍ୱନିକୁ ପାଠ୍ୟରେ ଅନୁବାଦ କରନ୍ତୁ। ସ୍ୱୟଂଚାଳିତ ଅନୁସନ୍ଧାନ ସହିତ 99ଟି ଭାଷାକୁ ସମର୍ଥନ କରିଥାଏ।

ଅନୁରୋଧ ଶରୀରର (multipart/form-data)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
file file ହଁ ଧ୍ୱନି ଫାଇଲ (MP3, WAV, FLAC, OGG, M4A, MP4, WebM). ସର୍ବାଧିକ 100MB।
model string ନାମ STT ନମୂନା: whisper ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), faster-whisper, sensevoice
language string ନାମ ଭାଷା ସଂକେତ। auto ସ୍ୱୟଂଚାଳିତ ଅନୁସନ୍ଧାନ ପାଇଁ ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ)।
timestamps boolean ନାମ ଶବ୍ଦ-ସ୍ତର ସମୟସୀମାକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: false
diarize boolean ନାମ ସ୍ପିକର ଡାଏରୀକରଣକୁ ସକ୍ରିୟ କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: false

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "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"
    }
  ]
}

ଧ୍ୱନି କ୍ଲୋନିଂName

POST /v1/tts/clone/

ଗୋଟିଏ କ୍ଲୋନ ଧ୍ୱନିରେ ଭାଷଣ ସୃଷ୍ଟି କରନ୍ତୁ। ଗୋଟିଏ ସଂଯୋଗ ଧ୍ୱନି ଏବଂ ପାଠ୍ୟକୁ ଅପଲୋଡ କରନ୍ତୁ।

ଅନୁରୋଧ ଶରୀରର (multipart/form-data)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
reference_audio file ହଁ ସଂଯୋଗ ସ୍ୱର ଧ୍ୱନି (10-30 ସେକଣ୍ଡ ସୁପାରିଶ କରାଯାଏ)। ସର୍ବାଧିକ 20MB।
text string ହଁ କ୍ଲୋନ ଧ୍ୱନିରେ କହିବା ପାଇଁ ପାଠ୍ୟ।
model string ନାମ କ୍ଲୋନ ନମୂନା: chatterbox ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), cosyvoice2, gpt-sovits
format string ନାମ ନିର୍ଗମ ଶୈଳୀ: mp3 ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), wav, flac
language string ନାମ ଲକ୍ଷ୍ୟ ଭାଷା ସଂକେତ। ବଚ୍ଛିତ ଆକାର ଦ୍ୱାରା ସମର୍ଥିତ ହେବା ଉଚିତ।

ଉତ୍ତର ଦିଅନ୍ତୁ

ଧ୍ୱନି ଫାଇଲକୁ ଦ୍ୱିମାତ୍ର ତଥ୍ୟ ଭାବରେ ଫେରାଇଥାଏ, TTS ସମାପ୍ତି ବିନ୍ଦୁ ପରି ସମାନ।

ଧ୍ୱନି ପରିବର୍ତ୍ତକName

POST /v1/voice-convert/

ଧ୍ୱନିକୁ ଭିନ୍ନ ଧ୍ୱନି ପରି ଶୁଣିବାକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ। ଉତ୍ସ ଧ୍ୱନିକୁ ଅପଲୋଡ କରନ୍ତୁ ଏବଂ ଲକ୍ଷ୍ୟ ଧ୍ୱନିକୁ ବାଛନ୍ତୁ।

ଅନୁରୋଧ ଶରୀରର (multipart/form-data)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
file file ହଁ ଉତ୍ସ ଧ୍ୱନି ଫାଇଲ (MP3, WAV, FLAC). ସର୍ବାଧିକ 50MB।
target_voice string ହଁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଲକ୍ଷ୍ୟ ଧ୍ୱନି ID (ପ୍ରାପ୍ତ ଧ୍ୱନିଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିବା ପାଇଁ /v1/voices/ କୁ ବ୍ୟବହାର କରନ୍ତୁ)
model string ନାମ ଧ୍ୱନି ପରିବର୍ତ୍ତନ ନମୂନା: openvoice ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), knn-vc
format string ନାମ ନିର୍ଗମ ଶୈଳୀ: wav ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), mp3, flac

ଉଦାହରଣ ଅନୁରୋଧ

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

ଉତ୍ତର ଦିଅନ୍ତୁ

ପରିବର୍ତ୍ତିତ ଧ୍ୱନି ଫାଇଲକୁ ଦ୍ୱିମାତ୍ର ତଥ୍ୟ ଭାବରେ ଫେରାଇଥାଏ।

ଭାଷଣ ଅନୁବାଦName

POST /v1/speech-translate/

ଗୋଟିଏ ଭାଷାରୁ ଅନ୍ୟ ଏକ ଭାଷାକୁ ବକ୍ତା ଧ୍ୱନିକୁ ଅନୁବାଦ କରନ୍ତୁ। ଗୋଟିଏ କଲରେ ବକ୍ତା-ରୁ-ପାଠ୍ୟ, ଅନୁବାଦ ଏବଂ ପାଠ୍ୟ-ରୁ-ବାକ୍ୟକୁ ସଂଯୋଜିତ କରନ୍ତୁ।

ଅନୁରୋଧ ଶରୀରର (multipart/form-data)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
file file ହଁ ପ୍ରକୃତ ଭାଷାରେ ଉତ୍ସ ଧ୍ୱନି ଫାଇଲ। ସର୍ବାଧିକ 100MB।
target_language string ହଁ ଲକ୍ଷ୍ୟ ଭାଷା ସଂକେତ (ଯେପରିକି, es, fr, de, ja)
voice string ନାମ ଅନୁବାଦ ନିର୍ଗମ ପାଇଁ ଧ୍ୱନି। ଯଦି ଛାଡିଦିଆଯାଏ ତେବେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ବଚ୍ଛିତ ହୋଇଥାଏ।
preserve_voice boolean ନାମ ପ୍ରକୃତ ବକ୍ତାଙ୍କ ସ୍ୱର ଗୁଣଧର୍ମକୁ ସଂରକ୍ଷଣ କରିବା ପାଇଁ ପ୍ରୟାସ କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: false

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "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
}

ବାକ୍ୟରୁ ବାକ୍ୟName

POST /v1/speech-to-speech/

ବିଷୟବସ୍ତୁକୁ ରଖିବା ସମୟରେ ଭାଷଣ ଶୈଳୀ, ଅନୁଭୂତି, କିମ୍ବା ପ୍ରଦାନକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ। ଧ୍ୱନି, ଗତି, ଏବଂ ଅଭିବ୍ୟକ୍ତି ପାଇଁ ଉପଯୋଗୀ।

ଅନୁରୋଧ ଶରୀରର (multipart/form-data)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
file file ହଁ ଉତ୍ସ ଭାଷଣ ଧ୍ୱନି ଫାଇଲ। ସର୍ବାଧିକ 50MB।
voice string ହଁ ନିର୍ଗମ ବାକ୍ୟ ପାଇଁ ଲକ୍ଷ୍ୟ ଧ୍ୱନି ID
model string ନାମ ନମୂନା: openvoice ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), chatterbox
emotion string ନାମ ଲକ୍ଷ୍ୟ ଭାବନା: ନିର୍ଦ୍ଦିଷ୍ଟ, ଖୁସି, ଦୁଃଖୀ, କ୍ଷୋଭିତ, ପ୍ରଫୁଲ୍ଲିତ
speed float ନାମ ବେଗ ସଂରଚନା. ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 1.0. ପରିସର: 0.5 ରୁ 2.0

ଉତ୍ତର ଦିଅନ୍ତୁ

ପରିବର୍ତ୍ତିତ ଧ୍ୱନି ଫାଇଲକୁ ଦ୍ୱିମାତ୍ର ତଥ୍ୟ ଭାବରେ ଫେରାଇଥାଏ।

ଧ୍ୱନି ସାଧନଗୁଡ଼ିକ

ଉନ୍ନତି ପାଇଁ ଧ୍ୱନି ପ୍ରକ୍ରିୟାକରଣ ସମାପ୍ତି ବିନ୍ଦୁ, ସ୍ୱର ଅପସାରଣ, ସ୍ତମ୍ଭ ବିଭାଜନ, ଏବଂ ଅଧିକ।

POST /v1/audio/enhance/

ଧ୍ୱନି ଗୁଣବତ୍ତାକୁ ବଢ଼ାନ୍ତୁ: ଶବ୍ଦ ହ୍ରାସ କରନ୍ତୁ, ସ୍ପଷ୍ଟତାକୁ ବଢ଼ାନ୍ତୁ, ସୁପର ରିଜୋଲ୍ୟୁସନ।

file fileଉନ୍ନତ କରିବା ପାଇଁ ଧ୍ୱନି ଫାଇଲ
denoise booleanଶବ୍ଦ ହ୍ରାସକୁ ସକ୍ରିୟ କରନ୍ତୁ ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ: ସତ୍ୟ)
enhance_clarity booleanବାକ୍ୟ ସ୍ପଷ୍ଟତା ବୃଦ୍ଧି କରନ୍ତୁ (ପୂର୍ବନିର୍ଦ୍ଧାରିତ: ସତ୍ୟ)
super_resolution booleanଧ୍ୱନି ଗୁଣବତ୍ତାକୁ ଉନ୍ନତ କରନ୍ତୁ ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ: ମିଥ୍ୟା)
strength integer1-3 (ହାଲ୍କା, ମଧ୍ୟମ, ଶକ୍ତ). ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 2
POST /v1/audio/separate/

ବାଦ୍ୟଯନ୍ତ୍ରରୁ ସ୍ୱରକୁ ବିଭାଜିତ କରନ୍ତୁ (ସ୍ୱର ହଟାନ୍ତୁ) କିମ୍ବା ସ୍ତମ୍ଭଗୁଡ଼ିକରେ ବିଭାଜିତ କରନ୍ତୁ।

file fileବିଭାଜନ ପାଇଁ ଧ୍ୱନି ଫାଇଲ
model stringdemucs (ପୂର୍ବନିର୍ଦ୍ଧାରିତ) କିମ୍ବା spleeter
stems integerସ୍ତମ୍ଭଗୁଡ଼ିକର ସଂଖ୍ୟା: 2, 4,5ଅଥବା6( ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 2)
format stringନିର୍ଗମ ଶୈଳୀ: wav, mp3, flac
POST /v1/audio/dereverb/

ଧ୍ୱନି ରେକର୍ଡିଂରୁ ପ୍ରତିଧ୍ୱନି ଏବଂ ପ୍ରତିଧ୍ୱନିକୁ ଅପସାରଣ କରନ୍ତୁ।

file fileପ୍ରକ୍ରିୟା କରିବା ପାଇଁ ଧ୍ୱନି ଫାଇଲ
type stringecho or reverb (default: both)
intensity integer1-5 (default: 3)
POST /v1/audio/analyze/ ମୁକ୍ତ

କି, BPM, ଏବଂ ସମୟ ହସ୍ତାକ୍ଷରକୁ ଚିହ୍ନଟ କରିବା ପାଇଁ ଧ୍ୱନିକୁ ବିଶ୍ଳେଷଣ କରନ୍ତୁ।

file fileବିଶ୍ଳେଷଣ ପାଇଁ ଧ୍ୱନି ଫାଇଲ
ଉତ୍ତର ଦିଅନ୍ତୁ
{
  "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/ ମୁକ୍ତ

ଧ୍ୱନି ଶୈଳୀଗୁଡ଼ିକ ମଧ୍ୟରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ।

file fileପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଧ୍ୱନି ଫାଇଲ
format stringଲକ୍ଷ୍ୟ ଶୈଳୀ: mp3, wav, flac, ogg, m4a, aac
bitrate integerkbit/s ରେ ନିର୍ଗମ ବିଟହାର: 64, 128, 192, 256, 320
sample_rate integerନମୁନା ହାର: 22050, 44100, 48000
channels stringmono କିମ୍ବା stereo

ଧ୍ୱନି ଚାଟName

POST /v1/voice-chat/

ଧ୍ୱନି କିମ୍ବା ପାଠ୍ୟ ପଠାନ୍ତୁ ଏବଂ ସଂଯୋଜିତ ଭାଷା ସହିତ AI ଉତ୍ତର ଗ୍ରହଣ କରନ୍ତୁ।

ଅନୁରୋଧ ଶରୀରର (multipart/form-data କିମ୍ବା JSON)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
audio file ନାମ* ଧ୍ୱନି ନିବେଶ (audio କିମ୍ବା text ଆବଶ୍ୟକ)
text string ନାମ* ପାଠ୍ୟ ନିବେଶ (audio କିମ୍ବା text ଆବଶ୍ୟକ)
voice string ନାମ AI ଉତ୍ତର ପାଇଁ ଧ୍ୱନି। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: af_bella
tts_model string ନାମ ଉତ୍ତର ପାଇଁ TTS ନମୂନା। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: kokoro
system_prompt string ନାମ AI ପାଇଁ ଇଚ୍ଛାରୂପଣ ତନ୍ତ୍ର ପ୍ରସ୍ତାବ
conversation_id string ନାମ ଗୋଟିଏ ଅବସ୍ଥିତ ବାର୍ତ୍ତାଳାପକୁ ଅଗ୍ରସର କରନ୍ତୁ

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "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
}

ବ୍ୟାଚ TTS

POST /v1/tts/batch/

ସମତଳ TTS ଉତ୍ପାଦନ ପାଇଁ ଏକାଧିକ ପାଠ୍ୟ ଦାଖଲ କରନ୍ତୁ। ସମସ୍ତ କାର୍ଯ୍ୟ ସମାପ୍ତ ହେବା ସମୟରେ ଇଚ୍ଛାନୁସାରେ ଗୋଟିଏ ୱେବହୁକ କଲବ୍ୟାକ ଗ୍ରହଣ କରନ୍ତୁ।

ପ୍ରାଚଳଗୁଡ଼ିକ

ପ୍ରାଚଳଗୁଡ଼ିକପ୍ରକାରବର୍ଣ୍ଣନା
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "batch_id": "abc123",
  "total": 3,
  "completed": 0,
  "status": "processing"
}

GET /v1/tts/batch/result/?batch_id=abc123 ସହିତ ପଲିସି ପ୍ରଗତି

ଧ୍ୱନି ସନ୍ନିବେଶ

POST /v1/voice-embed/

ସଂଯୋଗ ଧ୍ୱନିରୁ ଗୋଟିଏ ସ୍ୱର ସନ୍ନିବେଶକୁ ପୂର୍ବ-ଗଣନା କରନ୍ତୁ। ପାଖାପାଖି-ତତ୍କାଳ ଉତ୍ପତ୍ତି ପାଇଁ ପରବର୍ତ୍ତୀ ସ୍ୱର କ୍ଲୋନ ଅନୁରୋଧଗୁଡ଼ିକରେ ଫେରାଇଥିବା embed_id କୁ ବ୍ୟବହାର କରନ୍ତୁ।

ପ୍ରାଚଳଗୁଡ଼ିକ

ପ୍ରାଚଳଗୁଡ଼ିକପ୍ରକାରବର୍ଣ୍ଣନା
filefileReference audio file (WAV, MP3, FLAC).
modelstringCloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts.

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "embed_id": "emb_abc123",
  "model": "chatterbox",
  "duration_ms": 450
}

ସ୍ୱାସ୍ଥ୍ୟ ଯାଞ୍ଚ

GET /v1/health/

GPU ସର୍ଭର ସ୍ଥିତି, ଧାରଣ କରାଯାଇଥିବା ଆକାର, ଏବଂ ଧାଡ଼ି ଆକାର ଯାଞ୍ଚ କରନ୍ତୁ। କୌଣସି ବୈଧିକରଣ ଆବଶ୍ୟକ ନାହିଁ। 30 ସେକଣ୍ଡ ପାଇଁ କ୍ୟାଶେ କରାଯାଇଛି।

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "status": "online",
  "latency_ms": 45,
  "queue_size": 3,
  "models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}

ନମୂନା ତାଲିକା

GET /v1/models/

ସେମାନଙ୍କର କ୍ଷମତା ସହିତ ସମସ୍ତ ଉପଲବ୍ଧ ନମୂନାଗୁଡ଼ିକର ଗୋଟିଏ ତାଲିକା ଫେରାଇଥାଏ।

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "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
    }
  ]
}

ଧ୍ୱନିଗୁଡ଼ିକୁ ତାଲିକାବଦ୍ଧ କରନ୍ତୁ

GET /v1/voices/

ସମସ୍ତ ଉପଲବ୍ଧ ଧ୍ୱନିଗୁଡ଼ିକର ତାଲିକାକୁ ଫେରାଇଥାଏ, ଇଚ୍ଛାମୁତାବକ ନମୂନା କିମ୍ବା ଭାଷା ଦ୍ୱାରା ଛାଣକିତ।

ପ୍ରଶ୍ନ ପ୍ରାଚଳଗୁଡ଼ିକ

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରବର୍ଣ୍ଣନା
model string ନମୂନା ID ଦ୍ୱାରା ଛାଣକ (ଯେପରିକି, kokoro)
language string ଭାଷା ସଂକେତ ଅନୁଯାୟୀ ଛାଣକ (ଯେପରିକି, en)
gender string ଲିଙ୍ଗ ଅନୁଯାୟୀ ଛାଣକ: Male, Female, neutral

ଉତ୍ତର ଦିଅନ୍ତୁ

JSON ଉତ୍ତର
{
  "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
}

ଉପଶୀର୍ଷକ (SRT / VTT) ନୂତନ

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

ଯେକୌଣସି ସମାପ୍ତ TTS କାର୍ଯ୍ୟ ପାଇଁ ସମକାଳୀନ ଉପଶୀର୍ଷକ ସୃଷ୍ଟିକରନ୍ତୁ। ଧ୍ୱନି ଉପରେ Whisper ସଂଯୋଜକତା ଚଲାଏ ଏବଂ SRT କିମ୍ବା WebVTTକୁ ଫେରାଇଥାଏ। ଫଳାଫଳକୁ ଡିସ୍କରେ କ୍ୟାଶେ କରାଯାଏ ତେଣୁ ସମାନ uuid ପାଇଁ ଦ୍ୱିତୀୟ କଲଟି ଗୋଟିଏ ଡିସ୍କ ପଢ଼ା ହୋଇଥାଏ।

ପ୍ରଶ୍ନ ପ୍ରାଚଳଗୁଡ଼ିକ

ପ୍ରାଚଳଗୁଡିକଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
uuidହଁ/v1/tts/ କିମ୍ବା /v1/voice-clone/ ଦ୍ୱାରା ଫେରାଇଆସିଥିବା କାର୍ଯ୍ୟ UUID।
formatନାମsrt ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ) କିମ୍ବା vtt
downloadନାମ1 Content-Disposition: attachment ପଠାଇବା ପାଇଁ ଯେପରିକି ବ୍ରାଉଜର ଦର୍ଶାଇବା ବଦଳରେ ସଂରକ୍ଷଣ କରିଥାଏ।
languageନାମପଂକ୍ତିକରଣ ନମୁନା ପାଇଁ ସୂଚନା (ଅବହେଳା ହେଲେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଚିହ୍ନଟ ହୋଇଥାଏ)।
cURL
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt

ଉଚ୍ଚାରଣ ଅଭିଧାନName ନୂତନ

GET POST DELETE /api/v1/pronunciations/

TTS ଯନ୍ତ୍ରକୁ କହିବା କିପରି ନିର୍ଦ୍ଦିଷ୍ଟ ଶବ୍ଦଗୁଡ଼ିକୁ ଉଚ୍ଚାରଣ କରାଯିବ। ସଂରକ୍ଷିତ ଭରଣଗୁଡ଼ିକ ଆପଣ କରିଥିବା ପ୍ରତ୍ୟେକ TTS ଅନୁରୋଧକୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ପ୍ରୟୋଗ କରିଥାଏ। ପ୍ରତି ଖାତାରେ 200-ଭରଣ ସୀମା।

ଅନୁରୋଧ ଶରୀରର (POST)

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରବର୍ଣ୍ଣନା
wordstringନବଲିଖନ କରିବା ପାଇଁ ଶବ୍ଦ (ଯେପରିକି GIF, Anthropic)। ଶବ୍ଦ-ସୀମା ମେଳକ।
replacementstringନମୂନା ପାଇଁ ଏହାକୁ କିପରି ବନାନ କରାଯିବ (ଯେପରିକି jiff, ann THROP ick)।
languagestringଇଚ୍ଛାରୂପୀ ISO ସଂକେତ । ଖାଲି = ସମସ୍ତ ଭାଷାରେ ପ୍ରୟୋଗ ହୋଇଥାଏ ।
case_sensitivebooleanପୂର୍ବନିର୍ଦ୍ଧାରିତ falsetrue ସମୟରେ ଅକ୍ଷରଗୁଡ଼ିକୁ ଠିକ ଭାବରେ ମେଳଖାଉଛି।
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-..."

ଆପଣ ମଧ୍ୟ ପ୍ରତି-ଆବେଦନ ଅଧିସୂଚୀଗୁଡ଼ିକୁ ସଂରକ୍ଷଣ ନକରି ପାସ କରିପାରିବେ - କୌଣସି /v1/tts/ କଲରେ pronunciations କୁ ବାସ୍ତବିକ କିମ୍ବା ଏକ ଆରଏକ୍ସ ଭାବରେ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ (TTS ଅନ୍ତିମ ବିନ୍ଦୁ ପ୍ରାଚଳଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ)।

ଲେଖା ବର୍ଣ୍ଣନାକାରୀ ନୂତନ

ଯେକୌଣସି ଲେଖା ପୃଷ୍ଠାରେ ଗୋଟିଏ