لاسوندونه

زموږ د REST API سره ستاسو غوښتنلیکونو ته د TTS.ai ادغام کړئ. د اسانه مهاجرت لپاره د OpenAI-متوافق بڼه.

REST API OpenAI سمون لرونکی ځوابونه JSON لنډمهاله ملاتړ

سرليک

د TTS.ai API د ټولو پلیټ فارم ځانګړتیاو ته د پروګرام لاسرسی چمتو کوي: د متن څخه د وینا ترکیب، د وینا څخه د متن لیږد، د غږ کلونینګ، د آډیو پراختیا، او نور. API د JSON غوښتنې / ځواب بدنونو سره معیاري REST کنوانسیونونه کاروي.

کيلۍ API

خپل API کیلي ترلاسه کړئ ګڼون امستنې. په پرو او انټرپرایز پلانونو کې شتون لري.

بنسټيز URL

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

باوريول

د لېږونکي توکي له لارې Authorization سريز

کرونه

وړيا طبقه - نه کيلي اړين. نامعلومه /v1/tts/ د هر ډول اجازې پرته کار وکړئ ، تر 5,000 کرکټرونو / ورځ پورې په هر IP کې ، زموږ د وړیا ماډلونو څخه کوم یو کارولو سره (piper, vits, melotts, kokoro). د وړیا حساب لپاره نوم لیکنه وکړئ ترڅو د 15,000 بونس کرکټرونه او د پریمیم ماډلونو ته لاسرسی ترلاسه کړئ.

د ټولو API غوښتنو ته اړتيا لري د تصديق له لارې په يوه Bearer توکي Authorization سريز.

سرۍ HTTP
Authorization: Bearer sk-tts-your-api-key-here
خپل API کيلي پټ وساتئ. دا په مشتري اړخ کې کوډ، عامه ذخیرې یا ریکارډونه نه شریکوي. د خپل حساب تنظیماتو څخه په منظمه توګه کیلي بدل کړئ.

SDKونه

رسمي 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 2، او داسې نور) ۲ کرېډېټونه هر ۱۰۰۰ لوښه
TTS (پریمیوم ماډلونه: Tortoise، Chatterbox، او نور) ۴ کرېډېټونه هر ۱۰۰۰ لوښه
ليکنې ته وينا ۲ کرېډېټونه د غږ په منټه کې
غږ نقلول ۴ کرېډېټونه هر ۱۰۰۰ لوښه
غږ بدلوونکی ۳ کرېډېټونه د غږ په منټه کې
غږيز زياتول ۲ کرېډېټونه د غږ په منټه کې
د غږ لرې کول / د غږ جلا کول 3-4 کریډیټونه د غږ په منټه کې
ژباړه ۵ کرېډېټونه د غږ په منټه کې
غږيزه بنډار ۳ کرېډېټونه په پړاو
کيلۍ پلټونی & BPM وړیا --
غږيز ونجوونکی وړیا --

ليکنه وينا ته

POST /v1/tts/

. ليکنه غږيزې وينا ته بدلول. غږيزه دوتنه په غوښتل شوي بڼه راګرځوي

د غوښتنې بدن

پېرامېټرډولاړينسپړاوی
model string نه بېلګه پېژند (د بېلګې په توګه، <کوډ>kokoro، <کوډ>chatterbox، <کوډ>piper)
text string هو متن ته د خبرو بدلولو لپاره (د پرو لپاره 5,000 chars، د انټرپرایز لپاره 50,000)
voice string هو غږ پېژند (د شته غږونو د لړ لپاره <کوډ>/v1/voices/ کارول)
format string نه وتۍ بڼه: <کوډ>mp3 (تلواله)، <کوډ>wav، <کوډ>flac، <کوډ>ogg
speed float نه تلواله: <کوډ>۱.۰. لړ: <کوډ>۰.۵ ته <کوډ>۲.۰
language string نه .د ژبې کوډ (د بېلګې په توګه، <کوډ>en، <کوډ>es). که چېرې پرېښودل شي نو خپلکارې کشفيږي
instructions string نه د عمل / د تحویلي cues (≤500 chars). د بیلګې په توګه <کوډ> \
pronunciations object | array نه د هرې غوښتنې لوستنه ړنګول کيږي. يا <کوډ>{\
stream boolean نه تلواله: <کوډ>ناسمه

بېلګه غوښتنه

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

د پړاو شمېرې، نېټې، پیسې، د ټېلېفون شمېرې، او acronyms په

ژباړلننوتويل شوی لکه
cardinal1234one thousand two hundred thirty-four
ordinal21twenty-first
date1999-12-31December thirty-first, nineteen ninety-nine
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.

Full example

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.

ليکنې ته وينا

POST /v1/stt/

متن ته غږيز نقل کړئ. د اتومات کشف سره 99 ژبې ملاتړ کوي.

د غوښتنې بدن (multipart/form-data)

پېرامېټرډولاړينسپړاوی
file file هو د غږ دوتنه (MP3، WAV، FLAC، OGG، M4A، MP4، WebM). Max 100MB.
model string نه STT بېلګه: <کوډ>څپاند (تلواله)، <کوډ>ګړندی-څپاند، <کوډ>سم غږ
language string نه .د ژبې کوډ. د خپلکارې کشف لپاره auto (تلواله)
timestamps boolean نه تلواله: <کوډ>ناسمه
diarize boolean نه تلواله: <کوډ>ناسمه

ځوابول

ځواب 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 ثانیو سپارښتنه کیږي).
text string هو .په کلون شوي غږ کې د ويلو لپاره ليکنه
model string نه : <کوډ>چاټربکس (تلواله)، <کوډ>کوسيواېس۲، <کوډ>ګپټ-سوېټس
format string نه وتۍ بڼه: <کوډ>mp3 (تلواله)، <کوډ>wav، <کوډ>flac
language string نه د موخې ژبې کوډ. بايد د ټاکل شوي نمونې لخوا ملاتړ شي.

ځوابول

غږيزه دوتنه د دوديز اومتوک په توګه راګرځوي، لکه د TTS پای ټکی.

غږ بدلوونکی

POST /v1/voice-convert/

غږيز ته د يو بل غږ په څېر غږ بدل کړئ. د سرچينې غږيز او د موخې غږ وټاکئ.

د غوښتنې بدن (multipart/form-data)

پېرامېټرډولاړينسپړاوی
file file هو سرچينه غږيزه دوتنه (MP3، WAV، FLAC). Max 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 هو سرچينه غږيزه دوتنه په اصلي ژبه. Max 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 هو د سرچينې د وينا غږيزه دوتنه. Max 50MB.
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/

د غږ د کیفیت ښه: denoise، د روښانتیا، سوپر حل ښه.

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/ وړیا

د کلیدي، 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 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 نه* غږيز ننوت (يا <کوډ>غږيز يا <کوډ> ليکنه اړين دی)
text string نه* ليکنې ننوت (يا <کوډ>غږيز يا <کوډ> ليکنه اړين دی)
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 callback ترلاسه کړئ.

پېرامېټرونه

پېرامېټرډولسپړاوی
textsarrayArray of objects: {text, model, voice}. Max 50 items.
webhook_urlstringOptional URL to POST results when batch completes.

ځوابول

ځواب 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 پالنګر انکړ، لوستل شوي ماډلونه، او قطار کچه وګورئ. هېڅ کره کول اړين نه دي. د 30 ثانيو لپاره پټ شوی.

ځوابول

ځواب 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 چاڼ په بېلګه پېژند (د بېلګې په توګه، <کوډ>کوډ)
language string چاڼ په ژبې کوډ (د بېلګې په توګه، <کوډ>en)
gender string چاڼ پر جنس: <کوډ>نر، <کوډ>ښځه، <کوډ>بې طرفه

ځوابول

ځواب 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 دنده لپاره synchronized سرليکونه توليد. د غږيز او SRT يا WebVTT په اړه Whisper برابرول چلوي. پایله ده په ډسک کې مخفي نو د همدې uuid لپاره د دویم غږ دی د ډسک ولولئ.

پوښتنې پېرامېټرونه

پېرامېټراړينسپړاوی
uuidهو.دنده UUID د /v1/tts/ يا /v1/voice-clone/ له خوا راوګرځېده
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 غوښتنې ته اتومات پلي کیږي چې تاسو یې کوئ. د 200-ننوتل د حساب حد.

د غوښتنې بدن (POST)

پېرامېټرډولسپړاوی
wordstring.د ځاېناستولو لپاره ويې (د بېلګې په توګه <کوډ>GIF، <کوډ>Anthropic). د ويې-سرليک برابر شو
replacementstringڅنګه د ماډل لپاره دا ليکل (د بیلګې په توګه jiff، ann THROP ick).
languagestringاختیاري ISO کوډ. خالي = د ټولو ژبو ته پلي کیږي.
case_sensitivebooleanتلواله <کوډ>ناسمه. د ليکبڼې سره سمون خوري کله چې <کوډ>سمه وي.
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-..."

تاسو کولی شئ د دوی د خوندي کولو پرته د هر غوښتنې overrides هم انتقال کړئ - په هر / v1 / tts / کې د هر ډول / v1 / tts / په توګه د شی یا آرچ په توګه pronunciations شامل کړئ (د TTS پای ټکي params وګورئ).

ليکنه لوستونکی نوی

په هرې مقالې پاڼه کې یو واحد