API ଦଲିଲିକରଣ
ଆମର REST API ସହିତ ଆପଣଙ୍କର ପ୍ରୟୋଗଗୁଡ଼ିକରେ TTS.aiକୁ ଏକୀକୃତ କରନ୍ତୁ। ସହଜ ପରିବହନ ପାଇଁ OpenAI-ସଂଗତିପୂର୍ଣ୍ଣ ଶୈଳୀ।
ସମୀକ୍ଷା
TTS.ai API ସମସ୍ତ ପ୍ଲାଟଫର୍ମ ଗୁଣଧର୍ମ ପାଇଁ ପ୍ରଗ୍ରାମମୂଳକ ପ୍ରବେଶ ସୁବିଧା ପ୍ରଦାନ କରେ: ପାଠ୍ୟ-ରୁ-ବାକ୍ୟ ସଂଶ୍ଲେଷଣ, ବାକ୍ୟ-ରୁ-ବାକ୍ୟ ଅନୁବାଦ, ସ୍ୱର କ୍ଲୋନିଂ, ଧ୍ୱନି ସମ୍ପ୍ରସାରଣ, ଏବଂ ଅଧିକ। API JSON ଅନୁରୋଧ/ପ୍ରତିକ୍ରିୟା ଶରୀର ସହିତ ମାନକ REST ସମ୍ମିଳନୀ ବ୍ୟବହାର କରେ।
API କି
ଆପଣଙ୍କର API କିକୁ ଏଠାରୁ ପାଇବେ ଖାତା ବିନ୍ୟାସଗୁଡ଼ିକ. ପ୍ରୋ ଏବଂ ଏଣ୍ଟରପ୍ରାଇଜ ଯୋଜନାରେ ଉପଲବ୍ଧ ।
ଆଧାର URL
https://api.tts.ai/v1/
ପ୍ରାଧିକରଣ
ଧାରକ ଟୋକନ ମାଧ୍ୟମରେ Authorization ଶୀର୍ଷକ
ବୈଧିକରଣ
ସମସ୍ତ API ଅନୁରୋଧଗୁଡ଼ିକୁ ରେ ଗୋଟିଏ ବହନକାରୀ ଟୋକନ ମାଧ୍ୟମରେ ବୈଧିକରଣ ଆବଶ୍ୟକ Authorization ଶୀର୍ଷକ.
Authorization: Bearer sk-tts-your-api-key-here
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")
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');
ଆଧାର URL
ସମସ୍ତ ଶେଷ ବିନ୍ଦୁଗୁଡ଼ିକ ଏହି ଆଧାର URL ସହିତ ସମ୍ବନ୍ଧିତ। ଉଦାହରଣ ସ୍ୱରୂପ, 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
ପାଠ୍ୟକୁ ବାକ୍ୟ ଧ୍ୱନିରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ । ଅନୁରୋଧିତ ଶୈଳୀରେ ଧ୍ୱନି ଫାଇଲକୁ ଫେରାଇଥାଏ ।
ଅନୁରୋଧ ଶରୀରର
| ପ୍ରାଚଳଗୁଡିକ | ପ୍ରକାର | ଆବଶ୍ୟକୀୟ | ବର୍ଣ୍ଣନା |
|---|---|---|---|
| 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 -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
ଧ୍ୱନିକୁ ପାଠ୍ୟରେ ଅନୁବାଦ କରନ୍ତୁ। ସ୍ୱୟଂଚାଳିତ ଅନୁସନ୍ଧାନ ସହିତ 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 |
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"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
ଗୋଟିଏ କ୍ଲୋନ ଧ୍ୱନିରେ ଭାଷଣ ସୃଷ୍ଟି କରନ୍ତୁ। ଗୋଟିଏ ସଂଯୋଗ ଧ୍ୱନି ଏବଂ ପାଠ୍ୟକୁ ଅପଲୋଡ କରନ୍ତୁ।
ଅନୁରୋଧ ଶରୀରର (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
ଧ୍ୱନିକୁ ଭିନ୍ନ ଧ୍ୱନି ପରି ଶୁଣିବାକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ। ଉତ୍ସ ଧ୍ୱନିକୁ ଅପଲୋଡ କରନ୍ତୁ ଏବଂ ଲକ୍ଷ୍ୟ ଧ୍ୱନିକୁ ବାଛନ୍ତୁ।
ଅନୁରୋଧ ଶରୀରର (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 -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
ଗୋଟିଏ ଭାଷାରୁ ଅନ୍ୟ ଏକ ଭାଷାକୁ ବକ୍ତା ଧ୍ୱନିକୁ ଅନୁବାଦ କରନ୍ତୁ। ଗୋଟିଏ କଲରେ ବକ୍ତା-ରୁ-ପାଠ୍ୟ, ଅନୁବାଦ ଏବଂ ପାଠ୍ୟ-ରୁ-ବାକ୍ୟକୁ ସଂଯୋଜିତ କରନ୍ତୁ।
ଅନୁରୋଧ ଶରୀରର (multipart/form-data)
| ପ୍ରାଚଳଗୁଡିକ | ପ୍ରକାର | ଆବଶ୍ୟକୀୟ | ବର୍ଣ୍ଣନା |
|---|---|---|---|
| file | file | ହଁ | ପ୍ରକୃତ ଭାଷାରେ ଉତ୍ସ ଧ୍ୱନି ଫାଇଲ। ସର୍ବାଧିକ 100MB। |
| target_language | string | ହଁ | ଲକ୍ଷ୍ୟ ଭାଷା ସଂକେତ (ଯେପରିକି, es, fr, de, ja) |
| voice | string | ନାମ | ଅନୁବାଦ ନିର୍ଗମ ପାଇଁ ଧ୍ୱନି। ଯଦି ଛାଡିଦିଆଯାଏ ତେବେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ବଚ୍ଛିତ ହୋଇଥାଏ। |
| preserve_voice | boolean | ନାମ | ପ୍ରକୃତ ବକ୍ତାଙ୍କ ସ୍ୱର ଗୁଣଧର୍ମକୁ ସଂରକ୍ଷଣ କରିବା ପାଇଁ ପ୍ରୟାସ କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତ: false |
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"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
ବିଷୟବସ୍ତୁକୁ ରଖିବା ସମୟରେ ଭାଷଣ ଶୈଳୀ, ଅନୁଭୂତି, କିମ୍ବା ପ୍ରଦାନକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ। ଧ୍ୱନି, ଗତି, ଏବଂ ଅଭିବ୍ୟକ୍ତି ପାଇଁ ଉପଯୋଗୀ।
ଅନୁରୋଧ ଶରୀରର (multipart/form-data)
| ପ୍ରାଚଳଗୁଡିକ | ପ୍ରକାର | ଆବଶ୍ୟକୀୟ | ବର୍ଣ୍ଣନା |
|---|---|---|---|
| file | file | ହଁ | ଉତ୍ସ ଭାଷଣ ଧ୍ୱନି ଫାଇଲ। ସର୍ବାଧିକ 50MB। |
| voice | string | ହଁ | ନିର୍ଗମ ବାକ୍ୟ ପାଇଁ ଲକ୍ଷ୍ୟ ଧ୍ୱନି ID |
| model | string | ନାମ | ନମୂନା: openvoice ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ), chatterbox |
| emotion | string | ନାମ | ଲକ୍ଷ୍ୟ ଭାବନା: ନିର୍ଦ୍ଦିଷ୍ଟ, ଖୁସି, ଦୁଃଖୀ, କ୍ଷୋଭିତ, ପ୍ରଫୁଲ୍ଲିତ |
| speed | float | ନାମ | ବେଗ ସଂରଚନା. ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 1.0. ପରିସର: 0.5 ରୁ 2.0 |
ଉତ୍ତର ଦିଅନ୍ତୁ
ପରିବର୍ତ୍ତିତ ଧ୍ୱନି ଫାଇଲକୁ ଦ୍ୱିମାତ୍ର ତଥ୍ୟ ଭାବରେ ଫେରାଇଥାଏ।
ଧ୍ୱନି ସାଧନଗୁଡ଼ିକ
ଉନ୍ନତି ପାଇଁ ଧ୍ୱନି ପ୍ରକ୍ରିୟାକରଣ ସମାପ୍ତି ବିନ୍ଦୁ, ସ୍ୱର ଅପସାରଣ, ସ୍ତମ୍ଭ ବିଭାଜନ, ଏବଂ ଅଧିକ।
ଧ୍ୱନି ଗୁଣବତ୍ତାକୁ ବଢ଼ାନ୍ତୁ: ଶବ୍ଦ ହ୍ରାସ କରନ୍ତୁ, ସ୍ପଷ୍ଟତାକୁ ବଢ଼ାନ୍ତୁ, ସୁପର ରିଜୋଲ୍ୟୁସନ।
| file file | ଉନ୍ନତ କରିବା ପାଇଁ ଧ୍ୱନି ଫାଇଲ |
| denoise boolean | ଶବ୍ଦ ହ୍ରାସକୁ ସକ୍ରିୟ କରନ୍ତୁ ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ: ସତ୍ୟ) |
| enhance_clarity boolean | ବାକ୍ୟ ସ୍ପଷ୍ଟତା ବୃଦ୍ଧି କରନ୍ତୁ (ପୂର୍ବନିର୍ଦ୍ଧାରିତ: ସତ୍ୟ) |
| super_resolution boolean | ଧ୍ୱନି ଗୁଣବତ୍ତାକୁ ଉନ୍ନତ କରନ୍ତୁ ( ପୂର୍ବନିର୍ଦ୍ଧାରିତ: ମିଥ୍ୟା) |
| strength integer | 1-3 (ହାଲ୍କା, ମଧ୍ୟମ, ଶକ୍ତ). ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 2 |
ବାଦ୍ୟଯନ୍ତ୍ରରୁ ସ୍ୱରକୁ ବିଭାଜିତ କରନ୍ତୁ (ସ୍ୱର ହଟାନ୍ତୁ) କିମ୍ବା ସ୍ତମ୍ଭଗୁଡ଼ିକରେ ବିଭାଜିତ କରନ୍ତୁ।
| file file | ବିଭାଜନ ପାଇଁ ଧ୍ୱନି ଫାଇଲ |
| model string | demucs (ପୂର୍ବନିର୍ଦ୍ଧାରିତ) କିମ୍ବା spleeter |
| stems integer | ସ୍ତମ୍ଭଗୁଡ଼ିକର ସଂଖ୍ୟା: 2, 4,5ଅଥବା6( ପୂର୍ବନିର୍ଦ୍ଧାରିତ: 2) |
| format string | ନିର୍ଗମ ଶୈଳୀ: wav, mp3, flac |
ଧ୍ୱନି ରେକର୍ଡିଂରୁ ପ୍ରତିଧ୍ୱନି ଏବଂ ପ୍ରତିଧ୍ୱନିକୁ ଅପସାରଣ କରନ୍ତୁ।
| file file | ପ୍ରକ୍ରିୟା କରିବା ପାଇଁ ଧ୍ୱନି ଫାଇଲ |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
କି, 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"]
}
ଧ୍ୱନି ଶୈଳୀଗୁଡ଼ିକ ମଧ୍ୟରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ।
| file file | ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଧ୍ୱନି ଫାଇଲ |
| format string | ଲକ୍ଷ୍ୟ ଶୈଳୀ: mp3, wav, flac, ogg, m4a, aac |
| bitrate integer | kbit/s ରେ ନିର୍ଗମ ବିଟହାର: 64, 128, 192, 256, 320 |
| sample_rate integer | ନମୁନା ହାର: 22050, 44100, 48000 |
| channels string | mono କିମ୍ବା stereo |
ଧ୍ୱନି ଚାଟName
ଧ୍ୱନି କିମ୍ବା ପାଠ୍ୟ ପଠାନ୍ତୁ ଏବଂ ସଂଯୋଜିତ ଭାଷା ସହିତ 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 | ନାମ | ଗୋଟିଏ ଅବସ୍ଥିତ ବାର୍ତ୍ତାଳାପକୁ ଅଗ୍ରସର କରନ୍ତୁ |
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"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
ସମତଳ TTS ଉତ୍ପାଦନ ପାଇଁ ଏକାଧିକ ପାଠ୍ୟ ଦାଖଲ କରନ୍ତୁ। ସମସ୍ତ କାର୍ଯ୍ୟ ସମାପ୍ତ ହେବା ସମୟରେ ଇଚ୍ଛାନୁସାରେ ଗୋଟିଏ ୱେବହୁକ କଲବ୍ୟାକ ଗ୍ରହଣ କରନ୍ତୁ।
ପ୍ରାଚଳଗୁଡ଼ିକ
| ପ୍ରାଚଳଗୁଡ଼ିକ | ପ୍ରକାର | ବର୍ଣ୍ଣନା |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | Optional URL to POST results when batch completes. |
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
GET /v1/tts/batch/result/?batch_id=abc123 ସହିତ ପଲିସି ପ୍ରଗତି
ଧ୍ୱନି ସନ୍ନିବେଶ
ସଂଯୋଗ ଧ୍ୱନିରୁ ଗୋଟିଏ ସ୍ୱର ସନ୍ନିବେଶକୁ ପୂର୍ବ-ଗଣନା କରନ୍ତୁ। ପାଖାପାଖି-ତତ୍କାଳ ଉତ୍ପତ୍ତି ପାଇଁ ପରବର୍ତ୍ତୀ ସ୍ୱର କ୍ଲୋନ ଅନୁରୋଧଗୁଡ଼ିକରେ ଫେରାଇଥିବା embed_id କୁ ବ୍ୟବହାର କରନ୍ତୁ।
ପ୍ରାଚଳଗୁଡ଼ିକ
| ପ୍ରାଚଳଗୁଡ଼ିକ | ପ୍ରକାର | ବର୍ଣ୍ଣନା |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
ସ୍ୱାସ୍ଥ୍ୟ ଯାଞ୍ଚ
GPU ସର୍ଭର ସ୍ଥିତି, ଧାରଣ କରାଯାଇଥିବା ଆକାର, ଏବଂ ଧାଡ଼ି ଆକାର ଯାଞ୍ଚ କରନ୍ତୁ। କୌଣସି ବୈଧିକରଣ ଆବଶ୍ୟକ ନାହିଁ। 30 ସେକଣ୍ଡ ପାଇଁ କ୍ୟାଶେ କରାଯାଇଛି।
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
ନମୂନା ତାଲିକା
ସେମାନଙ୍କର କ୍ଷମତା ସହିତ ସମସ୍ତ ଉପଲବ୍ଧ ନମୂନାଗୁଡ଼ିକର ଗୋଟିଏ ତାଲିକା ଫେରାଇଥାଏ।
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"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
}
]
}
ଧ୍ୱନିଗୁଡ଼ିକୁ ତାଲିକାବଦ୍ଧ କରନ୍ତୁ
ସମସ୍ତ ଉପଲବ୍ଧ ଧ୍ୱନିଗୁଡ଼ିକର ତାଲିକାକୁ ଫେରାଇଥାଏ, ଇଚ୍ଛାମୁତାବକ ନମୂନା କିମ୍ବା ଭାଷା ଦ୍ୱାରା ଛାଣକିତ।
ପ୍ରଶ୍ନ ପ୍ରାଚଳଗୁଡ଼ିକ
| ପ୍ରାଚଳଗୁଡିକ | ପ୍ରକାର | ବର୍ଣ୍ଣନା |
|---|---|---|
| model | string | ନମୂନା ID ଦ୍ୱାରା ଛାଣକ (ଯେପରିକି, kokoro) |
| language | string | ଭାଷା ସଂକେତ ଅନୁଯାୟୀ ଛାଣକ (ଯେପରିକି, en) |
| gender | string | ଲିଙ୍ଗ ଅନୁଯାୟୀ ଛାଣକ: Male, Female, neutral |
ଉତ୍ତର ଦିଅନ୍ତୁ
{
"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
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
# 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
# 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
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
// 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
# 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
# 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
# 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
ଧ୍ୱନି ଉନ୍ନତି
# 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"
}
ନିର୍ମାଣ ପାଇଁ ପ୍ରସ୍ତୁତ?
ଆପଣଙ୍କର API କିକୁ ପାଇବେ ଏବଂ ଆପଣଙ୍କ ପ୍ରୟୋଗଗୁଡ଼ିକରେ TTS.aiକୁ ଏକୀକୃତ କରିବା ଆରମ୍ଭ କରନ୍ତୁ ।