API دستاويز

اسان جي REST API سان TTS.ai کي پنهنجي ايپليڪيشنن ۾ شامل ڪريو. آسان منتقلي لاءِ OpenAI-compatible فارميٽ.

REST API OpenAI مطابقت رکندڙ JSON جواب اسٽريمنگ مدد

نظرثاني

TTS.ai API سڀني پليٽ فارم جي خاصيتن تائين پروگرامنگ رسائي فراهم ڪري ٿو: متن-to-speech synthesis، ڳالهائڻ-to-text transcription، آواز ڪلوننگ، آڊيو وڌائڻ، ۽ وڌيڪ. API JSON درخواست / جواب جي جسمن سان معياري REST معاهدن کي استعمال ڪري ٿو.

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 شرح حدون منصوبي تي منحصر آهن:

منصوبو درخواستون/منٽ گڏيل وڌ ۾ وڌ متن جي ڊيگهه
پرو 60 5 5000 نشان
انٽرپرائز 300 20 حرف

هر جواب ۾ شرح حد جي هيڊرن کي شامل ڪيو ويندو: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

قرض

سروس خرچ يونٽ
TTS (آزاد ماڊل: Piper, VITS, MeloTTS) 1 ڪرنٽ هر 1,000 حروف
TTS (معياري ماڊل: Kokoro, CosyVoice 2, وغيره) 2 کريڊٽ هر 1,000 حروف
TTS (پريميئم ماڊل: Tortoise, Chatterbox, وغيره) 4 کريڊٽ هر 1,000 حروف
ڳالھائڻ کان متن 2 کريڊٽ هر منٽ آڊيو
آواز جو کلون 4 کريڊٽ هر 1,000 حروف
آواز تبديل ڪندڙ 3 کريڊٽ هر منٽ آڊيو
آڊيو بهتري 2 کريڊٽ هر منٽ آڊيو
وڪيول حذف / وڪيول ورهاڻ 3-4 اکر هر منٽ آڊيو
ڳالهائڻ جو ترجمو 5 ڪرنٽ هر منٽ آڊيو
آواز جي ڳالھائي 3 کريڊٽ هر دور ۾
& BPM ڳوليندڙ مفت --
آڊيو تبديل ڪندڙ مفت --

لکت مان ڳالھائڻName

POST /v1/tts/

متن کي ڳالھائڻ واري آڊيو ۾ تبديل ڪريو. درخواست ڪيل فارميٽ ۾ آڊيو فائل موٽائي ٿو.

درخواست جو جسم

پيراميڊقسملازميبيان
model string ھائو ماڊل ID (مثال، kokoro, chatterbox, piper)
text string ھائو ڳالهائڻ ۾ تبديل ڪرڻ لاءِ متن (پرو لاءِ وڌ ۾ وڌ 5,000 حرف، انٽرپرائز لاءِ 50,000)
voice string ھائو آواز جي سڃاڻپ (/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

جواب

آڊيو فائل کي مناسب Content-Type هيڊر سان بائنري ڊيٽا طور موٽائي ٿو (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 ھائو تبديل ڪرڻ لاءِ آواز جي نشاني جو مقصد (موجود آوازن جي لسٽ ڪرڻ لاءِ /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 ھائو وڪيپيڊيا:
voice string ھائو آڌار واري ڳالھائڻ لاءِ مقصد آواز جي ايڊريس
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 integer2، 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/ مفت

ڪيچ، بي پي ايم، ۽ وقت جي دستخط کي ڳولڻ لاءِ آڊيو جو جائزو وٺو.

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 integer64, 128, 192, 256, 320 ۾ بيٽ رائيٽ
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
}

ماڊلز جي لسٽ

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

ڳالھائڻ کان متن

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)

لکت مان ڳالھائڻ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();

ڳالھائڻ کان متن

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

ڳالھائڻ کان متن

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 حالتغلطي ڪوڊبيان
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 ماڊل لوڊ ڪيو وڃي ٿو. ڪجھ سيڪنڊن ۾ ٻيهر ڪوشش ڪريو.

ويبھوڪ

ڊگهي عرصي تائين هلندڙ ڪمن (Stem splitting, batch TTS) لاءِ، توهان webhook_url پاراميٽر مهيا ڪري سگهو ٿا. جڏھن ڪم مڪمل ٿئي ٿو، اسان نتيجو توهان جي URL تي پوسٽ ڪنداسين.

ويبھوڪ پيلوڊ
{
  "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 کي پنھنجي ايپليڪيشنن ۾ شامل ڪرڻ شروع ڪريو.