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 ଶୀର୍ଷକ

ବୈଧିକରଣ

ସମସ୍ତ API ଅନୁରୋଧଗୁଡ଼ିକୁ ରେ ଗୋଟିଏ ବହନକାରୀ ଟୋକନ ମାଧ୍ୟମରେ ବୈଧିକରଣ ଆବଶ୍ୟକ 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)
text string ହଁ ପାଠ୍ୟକୁ ଭାଷାରେ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ (ପ୍ରତି ଅନୁରୋଧରେ ସର୍ବାଧିକ 100,000 ଅକ୍ଷର)
voice string ହଁ ଧ୍ୱନି ID ( ଉପଲବ୍ଧ ଧ୍ୱନିଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିବା ପାଇଁ /v1/voices/ କୁ ବ୍ୟବହାର କରନ୍ତୁ)
format string ନାମ ନିର୍ଗମ ଶୈଳୀ: mp3 ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), wav, flac, ogg
speed float ନାମ ବଚନ ବେଗ ଗୁଣକ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 1.0। ପରିସର: 0.5 ରୁ 2.0
language string ନାମ ଭାଷା ସଂକେତ (ଉଦାହରଣ ସ୍ୱରୂପ, en, es). ଯଦି ଛାଡିଦିଆଯାଏ ତେବେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଚିହ୍ନଟ ହୋଇଥାଏ।
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

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

ଅନୁରୂପ Content-Type ଶୀର୍ଷକ ସହିତ ଧ୍ୱନି ଫାଇଲକୁ ବୈକଳ୍ପିକ ତଥ୍ୟ ଭାବରେ ଫେରାଇଥାଏ (audio/mpeg, audio/wav, ଇତ୍ୟାଦି)।

ଉତ୍ତର ଶୀର୍ଷକଗୁଡିକ
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

ବାକ୍ୟରୁ ପାଠ୍ୟ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
}

ସଂକେତ ଉଦାହରଣଗୁଡ଼ିକ

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

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

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

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

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

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)

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

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

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

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

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

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

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

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"

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

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

ଧ୍ୱନି ଉନ୍ନତି

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

ତ୍ରୁଟି ସଂକେତଗୁଡିକ

ସମସ୍ତ ତ୍ରୁଟିଗୁଡ଼ିକ ଗୋଟିଏ JSON ଉତ୍ତର ସହିତ ଫେରାଇଥାଏ error କ୍ଷେତ୍ର

ତ୍ରୁଟି ଉତ୍ତର ଶୈଳୀ
{
  "error": {
    "code": "insufficient_credits",
    "message": "You do not have enough characters for this request.",
    "characters_required": 4000,
    "characters_available": 2000
  }
}
HTTP ସ୍ଥିତିତ୍ରୁଟି ସଂକେତବର୍ଣ୍ଣନା
400 bad_request ଅବୈଧ ଅନୁରୋଧ ପ୍ରାଚଳ । ବିବରଣୀ ପାଇଁ ତ୍ରୁଟି ସନ୍ଦେଶକୁ ଯାଞ୍ଚ କରନ୍ତୁ ।
401 unauthorized ଅନୁପସ୍ଥିତ କିମ୍ବା ଅବୈଧ API କି।
402 insufficient_credits ଅତିରିକ୍ତ ଅକ୍ଷର ନାହିଁ। /pricing/ ରେ ଅଧିକ କିଣନ୍ତୁ।
403 forbidden ଆପଣଙ୍କ ଯୋଜନାରେ API ଅଭିଗମ୍ୟତା ଉପଲବ୍ଧ ନାହିଁ।
404 not_found ନମୂନା କିମ୍ବା ଧ୍ୱନି ମିଳିଲା ନାହିଁ।
413 file_too_large ଅଦ୍ୟତିତ ଫାଇଲ ଆକାର ସୀମା ଅତିକ୍ରମ କରିଯାଇଛି।
429 rate_limited ଅତ୍ୟଧିକ ଅନୁରୋଧ । ହାରାହାରି ସୀମା ଶୀର୍ଷକଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ ।
500 internal_error ସର୍ଭର ତ୍ରୁଟି । ପରେ ପୁଣିଥରେ ଚେଷ୍ଟାକରନ୍ତୁ ।
503 model_loading ନମୂନା ଧାରଣ କରାଯାଉଛି। କିଛି ସେକେଣ୍ଡ ପରେ ପୁଣିଥରେ ଚେଷ୍ଟାକରନ୍ତୁ।

ୱେବହୁକ୍ସ

ଦୀର୍ଘଚାଳିତ କାର୍ଯ୍ୟଗୁଡ଼ିକ ପାଇଁ (ଷ୍ଟେମ ବିଭାଜନ, ବ୍ୟାଚ TTS), ଆପଣ ଗୋଟିଏ webhook_url ପ୍ରାଚଳ ପ୍ରଦାନ କରିପାରିବେ। କାର୍ଯ୍ୟ ସମାପ୍ତ ହେବା ପରେ, ଆମେ ଆପଣଙ୍କର URL ରେ ଫଳାଫଳକୁ POST କରିବୁ।

ୱେବହୁକ ପେୟଲୋଡ
{
  "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"
}
ୱେବହୁକ ଫଳାଫଳଗୁଡ଼ିକ ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ 24 ଘଣ୍ଟା ପର୍ଯ୍ୟନ୍ତ ଆହରଣ ପାଇଁ ଉପଲବ୍ଧ ଅଛି। ସେମାନଙ୍କୁ ତୁରନ୍ତ ଆହରଣ କରିବା ପାଇଁ ନିଶ୍ଚିତ ହୁଅନ୍ତୁ।

ନିର୍ମାଣ ପାଇଁ ପ୍ରସ୍ତୁତ?

ଆପଣଙ୍କର API କିକୁ ପାଇବେ ଏବଂ ଆପଣଙ୍କ ପ୍ରୟୋଗଗୁଡ଼ିକରେ TTS.aiକୁ ଏକୀକୃତ କରିବା ଆରମ୍ଭ କରନ୍ତୁ ।