API ଦଲିଲିକରଣ

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

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

ସମୀକ୍ଷା

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 କି

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

ଆଧାର URL

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

ପ୍ରାଧିକରଣ

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

ବୈଧିକରଣ

ସମସ୍ତ API ଅନୁରୋଧଗୁଡ଼ିକୁ ରେ ଗୋଟିଏ ବହନକାରୀ ଟୋକନ ମାଧ୍ୟମରେ ବୈଧିକରଣ ଆବଶ୍ୟକ Authorization ଶୀର୍ଷକ.

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

ଆଧାର URL

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

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

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

ବେଗ ସୀମା

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

ପ୍ଲାନ ଅନୁରୋଧ/ମିନିଟ Concurrent ସର୍ବାଧିକ ପାଠ୍ୟ ଲମ୍ବ
ପ୍ରୋ 60 5 5,000 ଅକ୍ଷର
କମ୍ପାନୀName 300 20 50,000 ଅକ୍ଷର

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

ଋଣ ଖର୍ଚ୍ଚ

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

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

POST /v1/tts/

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

ଅନୁରୋଧ ଶରୀରର

ପ୍ରାଚଳଗୁଡିକପ୍ରକାରଆବଶ୍ୟକୀୟବର୍ଣ୍ଣନା
model string ହଁ ନମୂନା ID (ଯେପରିକି, kokoro, chatterbox, piper)
text string ହଁ ବାକ୍ୟକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ପାଠ୍ୟ (Pro ପାଇଁ ସର୍ବାଧିକ 5,000 ଅକ୍ଷର, Enterprise ପାଇଁ 50,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

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

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

ଉତ୍ତର ଶୀର୍ଷକଗୁଡିକ
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 ନାଁ ପ୍ରକୃତ ବକ୍ତାଙ୍କୁ ସଂରକ୍ଷଣ କରିବା ପାଇଁ ପ୍ରୟାସ କରନ୍ତୁ

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

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 fileAudio file to analyze
ଉତ୍ତର ଦିଅନ୍ତୁ
{
  "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 integerkbps ରେ ନିର୍ଗମ ବିଟରେଟ: 64, 128, 192, 256, 320
sample_rate integerନମୁନା ହାର:
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 ପାଇଁ ଇଚ୍ଛାରୂପଣ ତନ୍ତ୍ର ପରାମର୍ଶName
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
}

ନମୂନା ତାଲିକା

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 credits for this request.",
    "credits_required": 4,
    "credits_available": 2
  }
}
HTTP ସ୍ଥିତିError Codeବର୍ଣ୍ଣନା
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"
}
Webhook ଫଳାଫଳଗୁଡ଼ିକ ସମାପ୍ତ ହେବା ପରେ 24 ଘଣ୍ଟା ପର୍ଯ୍ୟନ୍ତ ଆହରଣ ପାଇଁ ଉପଲବ୍ଧ ଅଛି। ସେମାନଙ୍କୁ ତୁରନ୍ତ ଆହରଣ କରିବା ନିଶ୍ଚିତ କରନ୍ତୁ।

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

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