API دستاویزات

TTS.ai کو ہمارے REST API کے ساتھ آپ کی ایپلیکیشنوں میں شامل کریں۔ آسان ہجرت کے لئے OpenAI-مطابق فارمیٹ۔

REST API OpenAI سازگار 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 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 تلاش کرنے والا مفت --
آڈیو تبدیل کرنے والا مفت --

تحریر سے کلام

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

زبان سے متن

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

آواز کا کلوننگ

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 انتہا پوائنٹ.

آواز بدلنے والا

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

جواب

تبدیل شدہ آڈیو فائل کو بائنری ڈیٹا کے طور پر واپس کرتا ہے.

ترجمہ

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
}

کلام سے کلام

POST /v1/speech-to-speech/

مضمون کو محفوظ رکھتے ہوئے بولنے کے طريقے ، احساس يا پيش کر نے کو تبديل کريں تنا ن ، رفتار اور اظہار کي ترتيب کے ليے فائده مند

درخواست کا جسم (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

جواب

تبدیل شدہ آڈیو فائل کو بائنری ڈیٹا کے طور پر واپس کرتا ہے.

آڈیو ٹولز

بہتری کے لیے آڈیو پروسیسنگ انتہا پوائنٹس، آواز کو ہٹانا، سٹیم تقسیم کرنا، اور مزید.

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, or 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/ مفت

کی، بي پي ايم اور ٹائم دستخط کو تلاش کرنے کے ليے اوڈيو کا تجزیہ کريں

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 integer64، 128، 192، 256، 320
sample_rate integerنمونے کی شرح: 22050, 44100, 48000
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
}

ماڈلز کی فہرست

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
}

کوڈ مثالیں

تحریر سے کلام

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

زبان سے متن

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

آواز کا کلوننگ

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)

تحریر سے کلام

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

زبان سے متن

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

تحریر سے کلام

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

زبان سے متن

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"

آواز کا کلوننگ

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 کافی کریڈٹ نہیں. /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"
}
ويب ہوک نتائج مکمل ہونے کے بعد 24 گھنٹوں کے لیے ڈاؤن لوڈ کے لیے دستیاب ہیں. انہیں جلدی ڈاؤن لوڈ کرنے کا یقین کریں.

بنانے کے لئے تیار ہیں؟

آپ کی API کی کلید حاصل کریں اور آپ کی ایپلیکیشنوں میں TTS.ai کو شامل کرنا شروع کریں.