API دستاویزات
TTS.ai کو ہمارے REST API کے ساتھ آپ کی ایپلیکیشنوں میں شامل کریں۔ آسان ہجرت کے لئے OpenAI-مطابق فارمیٹ۔
خلاصہ
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 هيڈر.
Authorization: Bearer sk-tts-your-api-key-here
بنياد URL
تمام انتہا پوائنٹس اس بیس URL سے متعلق ہیں. مثال کے طور پر، TTS انتہا پوائنٹ ہے:
حدیں
API شرح حدیں منصوبے کے مطابق مختلف ہیں:
| منصوبہ بندی | درخواستیں/منٹ | Concurrent | زیادہ سے زیادہ متن کی لمبائی |
|---|---|---|---|
| پرو | 60 | 5 | 5000 حروف |
| انٹرپرائز | 300 | 20 | 50,000 حروف |
ریت حد ہیڈرس ہر جواب میں شامل ہیں: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
کریڈٹ لاگت
| سروس | خرچ | يونٹ |
|---|---|---|
| TTS (آزاد ماڈل: Piper, VITS, MeloTTS) | 1 کریڈٹ | ہر 1000 حروف |
| TTS (معیاري ماڈل: Kokoro, CosyVoice 2, etc.) | 2 کریڈٹ | ہر 1000 حروف |
| TTS (پریمیئم ماڈل: Tortoise, Chatterbox, etc.) | 4 کریڈٹ | ہر 1000 حروف |
| زبان سے متن | 2 کریڈٹ | پر منٹ آڈیو |
| آواز کا کلوننگ | 4 کریڈٹ | ہر 1000 حروف |
| آواز بدلنے والا | 3 کریڈٹ | پر منٹ آڈیو |
| آڈیو بہتری | 2 کریڈٹ | پر منٹ آڈیو |
| آواز ختم کر نے / آواز تقسيم کر نے | 3-4 کریڈٹ | پر منٹ آڈیو |
| ترجمہ | 5 کریڈٹ | پر منٹ آڈیو |
| آواز چیٹ | 3 کریڈٹ | ہر دور میں |
| کلید & BPM تلاش کرنے والا | مفت | -- |
| آڈیو تبدیل کرنے والا | مفت | -- |
تحریر سے کلام
متن کو بولنے والی آڈیو میں تبدیل کریں. درخواست شدہ فارمیٹ میں آڈیو فائل واپس کرتا ہے.
درخواست کا جسم
| پیرامیٹرز | قسم | ضروری | وضاحت |
|---|---|---|---|
| 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 -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
زبان سے متن
آڈیو کو ٹیکس میں تبدیل کریں. خودکار دریافت کے ساتھ 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"
}
]
}
آواز کا کلوننگ
کلونڈ آواز میں بولنا پيدا کريں رفرنس آڊيو اور ٹیکس اپ لوڈ کريں
درخواست کا جسم (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 انتہا پوائنٹ.
آواز بدلنے والا
مختلف آواز کے طور پر آواز کے طور پر آڈیو تبدیل کریں. سرچشمہ آڈیو اپ لوڈ کریں اور مقصد آواز منتخب کریں.
درخواست کا جسم (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
جواب
تبدیل شدہ آڈیو فائل کو بائنری ڈیٹا کے طور پر واپس کرتا ہے.
ترجمہ
ایک زبان سے دوسری زبان میں بولے ہوئے آڈیو کا ترجمہ کریں۔ ایک کال میں بولے ہوئے سے تحریر، ترجمہ اور تحریر سے بولے ہوئے کو جوڑتا ہے۔
درخواست کا جسم (multipart/form-data)
| پیرامیٹرز | قسم | ضروری | وضاحت |
|---|---|---|---|
| file | file | جی ہاں | اصل زبان میں سرچشمہ آڈیو فائل. زیادہ سے زیادہ 100MB. |
| target_language | string | جی ہاں | مقصد زبان کا کوڈ (مثال، es, fr, de, ja) |
| voice | string | نہیں | ترجمہ خروجی کے لیے آواز. اگر چھوڑ دیا جائے تو خودکار طور پر منتخب کیا جائے گا. |
| preserve_voice | boolean | نہیں | اصل بولنے والے کو محفوظ رکھنے کی کوشش کریں |
جواب
{
"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
}
کلام سے کلام
مضمون کو محفوظ رکھتے ہوئے بولنے کے طريقے ، احساس يا پيش کر نے کو تبديل کريں تنا ن ، رفتار اور اظہار کي ترتيب کے ليے فائده مند
درخواست کا جسم (multipart/form-data)
| پیرامیٹرز | قسم | ضروری | وضاحت |
|---|---|---|---|
| file | file | جی ہاں | آواز کی سرچشمہ آڈیو فائل. زیادہ سے زیادہ 50MB. |
| voice | string | جی ہاں | خروجی بولنے کے لیے مقصد آواز ID |
| model | string | نہیں | ماڈل: openvoice (مقررہ)، chatterbox |
| emotion | string | نہیں | مقصدي احساس: neutral, happy, sad, angry, excited |
| 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, or 6 (معیاري: 2) |
| format string | خروجی فارمیٹ: wav, mp3, flac |
اوڈيو ریکارڈنگ سے ایکو اور ری بیرر کو ہٹاو
| file file | پروسیسنگ کے لیے آڈیو فائل |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
کی، بي پي ايم اور ٹائم دستخط کو تلاش کرنے کے ليے اوڈيو کا تجزیہ کريں
| file file | Audio 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"]
}
فارمیٹ کے درمیان آڈیو تبدیل کریں.
| file file | تبدیل کرنے کے لیے آڈیو فائل |
| format string | مقصدی فارمیٹ: mp3, wav, flac, ogg, m4a, aac |
| bitrate integer | 64، 128، 192، 256، 320 |
| sample_rate integer | نمونے کی شرح: 22050, 44100, 48000 |
| channels string | mono يا stereo |
آواز چیٹ
آڈیو یا ٹیکس بھیجیں اور سنتھسیزڈ کلام کے ساتھ ایک 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
}
ماڈلز کی فہرست
ان کی صلاحیتوں کے ساتھ تمام دستیاب ماڈلز کی فهرست واپس کرتا ہے.
جواب
{
"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
}
کوڈ مثالیں
تحریر سے کلام
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')}")
زبان سے متن
# 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"])
آواز کا کلوننگ
# 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)
تحریر سے کلام
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();
زبان سے متن
// 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);
تحریر سے کلام
# 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
زبان سے متن
# 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"
آواز کا کلوننگ
# 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 credits for this request.",
"credits_required": 4,
"credits_available": 2
}
}
| HTTPحالت | Error Code | وضاحت |
|---|---|---|
| 400 | bad_request |
ناجائز درخواست پیرامیٹرز. تفصیلات کے لیے غلطی کا پیغام چیک کریں. |
| 401 | unauthorized |
گم شدہ یا غلط API کلید. |
| 402 | insufficient_credits |
کافی کریڈٹ نہیں. /price/ پر زیادہ خریدیں. |
| 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 کو شامل کرنا شروع کریں.