API দস্তাবেজ

আমাৰ REST API ৰ সৈতে আপোনাৰ এপ্লিকেচনত TTS.ai একত্ৰিত কৰক। সহজ প্ৰব্ৰজনৰ বাবে OpenAI-সমৰ্থিত বিন্যাস।

REST API OpenAI সংগতিপূৰ্ণ JSON প্ৰতিক্ৰিয়াসমূহ স্ট্ৰিমিং সমৰ্থন

চমু পৰিচয়

TTS.ai API য়ে সকলো প্লেটফৰ্ম বৈশিষ্ট্যৰ বাবে প্ৰগ্ৰামিক প্ৰৱেশ প্ৰদান কৰে: টেক্সট-টু-স্পিচ সংশ্লেষণ, টেক্সট-টু-স্পিচ অনুবাদ, শব্দ ক্লোনিং, অডিঅ' উন্নয়ন, আৰু অধিক। API য়ে JSON অনুৰোধ/প্ৰতিক্ৰিয়া শৰীৰৰ সৈতে প্ৰমিত REST কনভেনচন ব্যৱহাৰ কৰে।

API চাবি

আপোনাৰ API চাবি প্ৰাপ্ত কৰক একাওন্ট সংহতিসমূহ. Pro আৰু Enterprise পৰিকল্পনাত উপলব্ধ।

ভিত্তি URL

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

প্ৰমাণীকৰণ

বাহক টোকেন Authorization হেডাৰ

প্ৰমাণীকৰণ

মুক্ত স্তৰ — কোনো চাবিৰ প্ৰয়োজন নাই। বেনামী POSTs কলৈ /v1/tts/ কোনো প্ৰমাণীকৰণ অবিহনে কাম কৰক, প্ৰতি IP লৈ ৫,০০০ আখৰ/দিন, আমাৰ কোনো বিনামূলীয়া মডেল ব্যৱহাৰ কৰি (piper, vits, melotts, kokoro). ১৫,০০০টা বনাম আখৰ আৰু প্ৰিমিয়াম মডেলসমূহৰ বাবে এটা বিনামূলীয়া একাওন্টৰ বাবে নিবন্ধন কৰক।

সকলো API অনুৰোধৰ বাবে এটা Bearer টোকেনৰ দ্বাৰা প্ৰমাণীকৰণৰ প্ৰয়োজন Authorization হেডাৰ.

HTTP হেডাৰ
Authorization: Bearer sk-tts-your-api-key-here
আপোনাৰ API চাবি গোপন ৰাখিব। ক্লাএন্ট-সাইড কোড, ৰাজহুৱা সংগ্ৰহস্থল, অথবা লগসমূহত ইয়াক অংশীদাৰী নকৰিব। আপোনাৰ একাওন্ট সংহতিসমূহৰ পৰা কি'সমূহ নিয়মিতভাৱে পৰিবৰ্তন কৰক।

SDKs

কৰ্তৃপক্ষীয় 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 ৫০০ আখৰ
আৰম্ভণি 30 3 ১,০০০,০০০ আখৰ
প্ৰো 60 5 ১,০০০,০০০ আখৰ
এন্টারপ্ৰাইজ 300 20 ৫০,০০০ আখৰ

প্ৰতিটো প্ৰতিক্ৰিয়াত হাৰ সীমা হেডাৰ অন্তৰ্ভুক্ত কৰা হয়: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

ঋণ ব্যয়

সেৱা ব্যয় একক
TTS (মুক্ত মডেল: Piper, VITS, MeloTTS) ১ ক্ৰেডিট প্ৰতি ১,০০০ আখৰ
TTS (প্ৰমিত আৰ্হি: Kokoro, CosyVoice ২, ইত্যাদি) ২ ক্ৰেডিট প্ৰতি ১,০০০ আখৰ
TTS (প্ৰিমিয়াম মডেল: Tortoise, Chatterbox, ইত্যাদি) ৪ ক্রেডিট প্ৰতি ১,০০০ আখৰ
কথাৰ পৰা লিপিলৈName ২ ক্ৰেডিট প্ৰতি মিনিটত অডিঅ'
ধ্বনি ক্লোনিং ৪ ক্রেডিট প্ৰতি ১,০০০ আখৰ
শব্দ পৰিবৰ্তনকাৰী ৩ ক্রেডিট প্ৰতি মিনিটত অডিঅ'
অডিঅ' উন্নয়ন ২ ক্ৰেডিট প্ৰতি মিনিটত অডিঅ'
কণ্ঠ অপসাৰণ / কণ্ঠ বিভাজন 3-4 ক্ৰেডিট প্ৰতি মিনিটত অডিঅ'
ভাষণ অনুবাদ ৫ ক্রেডিট প্ৰতি মিনিটত অডিঅ'
ভয়েস চেট ৩ ক্রেডিট প্ৰতি আৱৰ্জনা
কি' আৰু BPM অনুসন্ধানকাৰী মুক্ত --
অডিঅ' পৰিবৰ্তনকাৰী মুক্ত --

টেক্সট-টু-স্পীচName

POST /v1/tts/

টেক্সটক কথোপকথনৰ অডিঅ'লৈ ৰূপান্তৰ কৰক । অনুৰোধ কৰা বিন্যাসত অডিঅ' ফাইল ঘুৰাই দিয়ে ।

অনুৰোধৰ মূল অংশ

প্ৰাচলসমূহধৰণপ্ৰয়োজনীয়বৰ্ণনা
model string নহয় আৰ্হি ID (যেনে, kokoro, chatterbox, piper)
text string হ্যাঁ কথোপকথনে ৰূপান্তৰ কৰিব লগিয়া লিপি (Pro ৰ বাবে সৰ্বাধিক ৫,০০০ আখৰ, Enterprise ৰ বাবে ৫০,০০০)
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 নহয় কাৰ্য্য / প্ৰেৰণ ক'ইছ (≤৫০০ আখৰ)। উদাহৰণস্বৰূপ \
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-31ডিসেম্বর ৩১, ১৯৯৯
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.

সম্পূৰ্ণ উদাহৰণ

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/

অডিঅ'ক টেক্সটলৈ অনুবাদ কৰক। স্বয়ংক্ৰিয় অনুসন্ধানৰ সৈতে ৯৯টা ভাষা সমৰ্থন কৰে।

অনুৰোধৰ মূল অংশ (multipart/form-data)

প্ৰাচলসমূহধৰণপ্ৰয়োজনীয়বৰ্ণনা
file file হ্যাঁ অডিঅ' নথিপত্ৰ (MP3, WAV, FLAC, OGG, M4A, MP4, WebM) । সৰ্বাধিক ১০০ মেগাবাইট ।
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"
    }
  ]
}

ধ্বনি ক্লোনিং

POST /v1/tts/clone/

এটা ক্লোন কৰা কন্ঠত কথোপকথন সৃষ্টি কৰক। এটা উদ্ধৃতি অডিঅ' আৰু টেক্সট আপলোড কৰক।

অনুৰোধৰ মূল অংশ (multipart/form-data)

প্ৰাচলসমূহধৰণপ্ৰয়োজনীয়বৰ্ণনা
reference_audio file হ্যাঁ রেফাৰেন্স ভয়েস অডিঅ' (১০-৩০ ছেকেণ্ড সুপারিশ কৰা হয়) । সৰ্বাধিক ২০ মেগাবাইট ।
text string হ্যাঁ ক্লোন কৰা শব্দত যি টেক্সট উচ্চাৰণ কৰা হ'ব।
model string নহয় ক্লোন আৰ্হি: chatterbox (অবিকল্পিত), cosyvoice2, gpt-sovits
format string নহয় আউটপুট বিন্যাস: mp3 (অবিকল্পিত), wav, flac
language string নহয় লক্ষ্য ভাষাৰ কোড। নিৰ্বাচিত আৰ্হি দ্বাৰা সমৰ্থিত হ'ব লাগিব।

প্ৰতিক্ৰিয়া

অডিঅ' নথিপত্ৰক বাইনাৰি তথ্য হিচাপে ঘুৰাই দিয়ে, TTS অন্তবিন্দুৰ সৈতে একে।

শব্দ পৰিবৰ্তনকাৰী

POST /v1/voice-convert/

অডিঅ'ক এটা ভিন্ন শব্দৰ দৰে শব্দ কৰিবলৈ পৰিবৰ্তন কৰক। উৎস অডিঅ' আপলোড কৰক আৰু এটা লক্ষ্য শব্দ বাছক।

অনুৰোধৰ মূল অংশ (multipart/form-data)

প্ৰাচলসমূহধৰণপ্ৰয়োজনীয়বৰ্ণনা
file file হ্যাঁ উৎস অডিঅ' নথিপত্ৰ (MP3, WAV, FLAC) । সৰ্বাধিক ৫০ মেগাবাইট ।
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

প্ৰতিক্ৰিয়া

পৰিবৰ্তন কৰা অডিঅ' নথিপত্ৰক বাইনাৰি তথ্য হিচাপে ঘুৰাই দিয়ে।

ভাষণ অনুবাদ

POST /v1/speech-translate/

এটা ভাষাৰ পৰা আন এটা ভাষালৈ কথোপকথনৰ অডিঅ' অনুবাদ কৰক। এটা কলত কথোপকথন-থেকে-লিপি, অনুবাদ, আৰু লিপি-থেকে-কথোপকথন একত্ৰিত কৰে।

অনুৰোধৰ মূল অংশ (multipart/form-data)

প্ৰাচলসমূহধৰণপ্ৰয়োজনীয়বৰ্ণনা
file file হ্যাঁ মূল ভাষাত উৎস অডিঅ' নথিপত্ৰ। সৰ্বাধিক ১০০ মেগাবাইট।
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 হ্যাঁ উৎস ভাষণ অডিঅ' নথিপত্ৰ। সৰ্বাধিক ৫০ মেগাবাইট।
voice string হ্যাঁ আউটপুট কথোপকথনৰ বাবে লক্ষ্য ভয়েস ID
model string নহয় মডেল: openvoice (অবিকল্পিত), chatterbox
emotion string নহয় লক্ষ্য অনুভূতি: neutral, happy, sad, angry, excited
speed float নহয় গতি পৰিবৰ্তন। অবিকল্পিত: 1.0। পৰিসীমা: 0.5 ৰ পৰা 2.0

প্ৰতিক্ৰিয়া

পৰিবৰ্তন কৰা অডিঅ' নথিপত্ৰক বাইনাৰি তথ্য হিচাপে ঘুৰাই দিয়ে।

অডিঅ' সঁজুলিসমূহ

উন্নতি, কণ্ঠ অপসাৰণ, ষ্টেম বিভাজন, আৰু অধিকৰ বাবে অডিঅ' প্ৰক্ৰিয়াকৰণৰ অন্তিম বিন্দু।

POST /v1/audio/enhance/

অডিঅ'ৰ গুণমান উন্নত কৰক: ধ্বনি প্ৰতিৰোধ, সুস্পষ্টতা উন্নত কৰক, অতিৰিক্ত বিভাজন।

file fileউন্নত কৰাৰ বাবে অডিঅ' নথিপত্ৰ
denoise booleanনিঃশব্দীকৰণ সামৰ্থবান কৰক (অবিকল্পিত: সত্য)
enhance_clarity booleanকথাৰ স্পষ্টতা বৃদ্ধি কৰক (অবিকল্পিত: সত্য)
super_resolution booleanঅডিঅ'ৰ গুণমান উন্নত কৰক (অবিকল্পিত: মিথ্যা)
strength integer১-৩ (হালকা, মধ্যম, শক্তিশালী) । অবিকল্পিত: ২
POST /v1/audio/separate/

বাদ্যযন্ত্ৰৰ পৰা কণ্ঠস্বৰ পৃথক কৰক (কণ্ঠস্বৰ অপসাৰণ) অথবা স্টেমসমূহত বিভক্ত কৰক।

file fileবিচ্ছিন্ন কৰিবলে অডিঅ' নথিপত্ৰ
model stringdemucs (অবিকল্পিত) অথবা spleeter
stems integerস্টেমসমূহৰ সংখ্যা: ২, ৪, ৫, অথবা ৬ (অবিকল্পিত: ২)
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 integerkbps ত আউটপুট বিটৰেট: ৬৪, ১২৮, ১৯২, ২৫৬, ৩২০
sample_rate integerনমুনা হাৰ: ২২০৫০, ৪৪১০০, ৪৮০০০
channels stringmono অথবা stereo

ভয়েস চেট

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 সৃষ্টিৰ বাবে একাধিক টেক্সট প্ৰেৰণ কৰক। সকলো কাম সম্পূৰ্ণ হ'লে বৈকল্পিকভাৱে এটা webhook কলব্যাক প্ৰাপ্ত কৰক।

প্ৰাচলসমূহ

প্ৰাচলসমূহধৰণবৰ্ণনা
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringব্যাচ সম্পূৰ্ণ হ'লে POST ফলাফলসমূহৰ বাবে বৈকল্পিক URL।

প্ৰতিক্ৰিয়া

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 চাৰ্ভাৰৰ অৱস্থা, ল'ড কৰা মডেল, আৰু লাইন আকাৰ পৰীক্ষা কৰক। প্ৰমাণীকৰণৰ প্ৰয়োজন নাই। ৩০ ছেকেণ্ডৰ বাবে ক্যাশ কৰা হৈছে।

প্ৰতিক্ৰিয়া

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 alignment চলায় আৰু 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

উচ্চাৰণ অভিধান নতুন

GET POST DELETE /api/v1/pronunciations/

TTS ইঞ্জিনক কওক কিদৰে নিৰ্দিষ্ট শব্দ উচ্চাৰণ কৰিব। সংৰক্ষিত নিবেশসমূহ আপুনি কৰা প্ৰতিটো TTS অনুৰোধত স্বয়ংক্ৰিয়ভাৱে প্ৰয়োগ কৰা হয়। প্ৰতি একাওন্টত ২০০-নিবেশৰ সীমা।

অনুৰোধৰ মূল অংশ (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 endpoint params চাওক) ।

প্ৰবন্ধ বৰ্ণনাকাৰী নতুন

যিকোনো প্ৰবন্ধ পৃষ্ঠাত এটা