API ਦਸਤਾਵੇਜ਼
ਸਾਡੇ REST API ਨਾਲ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ TTS.ai ਨੂੰ ਇਕਸਾਰ ਕਰੋ। ਸੌਖਾ ਮਾਈਗਰੇਸ਼ਨ ਲਈ OpenAI- ਅਨੁਕੂਲ ਫਾਰਮੈਟ ਹੈ।
ਝਲਕ
TTS.ai API ਸਭ ਪਲੇਟਫਾਰਮ ਫੀਚਰਾਂ ਲਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ: ਪਾਠ-ਤੋਂ-ਬਾਤ ਸੰਸਲੇਸ਼ਣ, ਪਾਠ-ਤੋਂ-ਬਾਤ ਅਨੁਵਾਦ, ਬੋਲੀ ਕਲੋਨਿੰਗ, ਆਡੀਓ ਸੁਧਾਰ, ਅਤੇ ਹੋਰ। API JSON ਬੇਨਤੀ/ਜਵਾਬ ਸਰੀਰ ਨਾਲ ਸਟੈਂਡਰਡ REST ਸੰਧੀ ਵਰਤਦਾ ਹੈ।
API ਕੁੰਜੀ
ਆਪਣੀ API ਕੁੰਜੀ ਇੱਥੇ ਲਵੋ ਅਕਾਊਂਟ ਸੈਟਿੰਗ. Pro ਅਤੇ Enterprise ਪਲਾਨ ਉੱਤੇ ਉਪਲੱਬਧ ਹੈ।
ਬੇਸ URL
https://api.tts.ai/v1/
ਪਰਮਾਣਕਿਤਾ
ਬੀਅਰਰ ਟੋਕਨ ਰਾਹੀਂ Authorization ਹੈੱਡਰ
ਪਰਮਾਣਕਿਤਾ
/v1/tts/ ਬਿਨਾਂ ਕਿਸੇ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਕੰਮ ਕਰੋ, 5,000 ਅੱਖਰ/ਦਿਨ ਪ੍ਰਤੀ IP ਤੱਕ, ਸਾਡੇ ਕਿਸੇ ਵੀ ਮੁਫਤ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ (piper, vits, melotts, kokoro). 15,000 ਬੋਨਸ ਅੱਖਰ ਅਤੇ ਪ੍ਰੀਮੀਅਮ ਮਾਡਲਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮੁਫਤ ਅਕਾਊਂਟ ਲਈ ਸਾਈਨ ਅੱਪ ਕਰੋ।
ਪ੍ਰੀਮੀਅਮ ਮਾਡਲਾਂ ਅਤੇ ਉੱਚ ਦਰ ਦੀਆਂ ਸੀਮਾਵਾਂ ਲਈ, ਹੇਠਾਂ ਇੱਕ ਬੀਅਰਰ ਟੋਕਨ ਨਾਲ ਪਰਮਾਣਿਤ ਕਰੋ Authorization ਹੈੱਡਰ.
Authorization: Bearer sk-tts-your-api-key-here
SDKs
TTS.ai ਨੂੰ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ ਰਸਮੀ SDKs ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਨ। ਦੋਵੇਂ ਓਪਨ ਸਰੋਤ ਹਨ ਅਤੇ 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")
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');
ਬੇਸ URL
ਸਭ ਅੰਤ- ਬਿੰਦੂ ਇਸ ਬੇਸ URL ਨਾਲ ਸਬੰਧਤ ਹਨ । ਉਦਾਹਰਨ ਲਈ, TTS ਅੰਤ- ਬਿੰਦੂ ਹੈ:
ਰੇਟ ਲਿਮਟ
API ਰੇਟ ਲਿਮਟ ਯੋਜਨਾ ਅਨੁਸਾਰ ਵੱਖਰੀ ਹੈ:
| ਪਲਾਨ | ਬੇਨਤੀਆਂ/ ਮਿੰਟ | ਇੱਕੋ ਸਮੇਂ | ਵੱਧੋ- ਵੱਧ ਪਾਠ ਲੰਬਾਈ |
|---|---|---|---|
| ਮੁਫਤ | 10 | 2 | 500 ਅੱਖਰ |
| ਲਾਂਚਰ | 30 | 3 | ਅੱਖਰ |
| ਪਰੋ | 60 | 5 | ਅੱਖਰ |
| ਇੰਟਰਪ੍ਰਾਈਜ਼ | 300 | 20 | 50,000 ਅੱਖਰ |
ਹਰੇਕ ਜਵਾਬ ਵਿੱਚ ਰੇਟ ਲਿਮਟ ਹੈਂਡਰ ਸ਼ਾਮਲ ਹਨ: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
ਕ੍ਰੈਡਿਟ ਲਾਗਤ
| ਸਰਵਿਸ | ਕੀਮਤ | ਯੂਨਿਟ |
|---|---|---|
| TTS (ਮੁਫ਼ਤ ਮਾਡਲ: Piper, VITS, MeloTTS) | 1,000 ਅੱਖਰ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| TTS (ਸਟੈਂਡਰਡ ਮਾਡਲ: ਕੋਕੋਰੋ, ਕੋਸੀਵਾਇਸ 2, ਆਦਿ) | 2,000 ਅੱਖਰ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| TTS (ਪ੍ਰੀਮੀਅਮ ਮਾਡਲ: Tortoise, Chatterbox, ਆਦਿ) | 4,000 ਅੱਖਰ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| ਬੋਲੀ ਤੋਂ ਪਾਠName | 2,000 ਅੱਖਰ | ਆਡੀਓ ਪ੍ਰਤੀ ਮਿੰਟ |
| ਬੋਲੀ ਕਲੋਨਿੰਗ | 4,000 ਅੱਖਰ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| ਬੋਲੀ ਬਦਲਣ ਵਾਲਾName | 3,000 ਅੱਖਰ | ਆਡੀਓ ਪ੍ਰਤੀ ਮਿੰਟ |
| ਆਡੀਓ ਸੁਧਾਰ | 2,000 ਅੱਖਰ | ਆਡੀਓ ਪ੍ਰਤੀ ਮਿੰਟ |
| ਬੋਲ ਹਟਾਉਣ / ਬੋਲ ਵੰਡਣ | 3,000-4,000 ਅੱਖਰ | ਆਡੀਓ ਪ੍ਰਤੀ ਮਿੰਟ |
| ਬੋਲੀ ਅਨੁਵਾਦName | 5,000 ਅੱਖਰ | ਆਡੀਓ ਪ੍ਰਤੀ ਮਿੰਟ |
| ਆਵਾਜ਼ ਗੱਲਬਾਤName | 3,000 ਅੱਖਰ | ਹਰ ਵਾਰ |
| ਕੁੰਜੀ & BPM ਖੋਜਕਾਰ | ਮੁਫਤ | -- |
| ਆਡੀਓ ਕਨਵਰਟਰName | ਮੁਫਤ | -- |
ਪਾਠ ਤੋਂ ਬੋਲੀComment
ਟੈਕਸਟ ਨੂੰ ਬੋਲੀ ਆਡੀਓ ਵਿੱਚ ਬਦਲੋ । ਲੋੜੀਦੀ ਫਾਰਮੈਟ ਵਿੱਚ ਆਡੀਓ ਫਾਇਲ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।
ਬੇਨਤੀ ਭਾਗ
| ਪੈਰਾਮੀਟਰ | ਟਾਈਪ | ਲੋੜੀਦਾ | ਵੇਰਵਾ |
|---|---|---|---|
| model | string | ਕੋਈ ਨਹੀਂ | ਮਾਡਲ ID (ਜਿਵੇਂ ਕਿ kokoro, chatterbox, piper)। ਜੇਕਰ ਛੱਡਿਆ ਗਿਆ ਤਾਂ ਅਸੀਂ ਇੱਕ ਮਾਡਲ ਆਟੋ-ਚੋਣਾਂਗੇ ਜੋ ਕਿ language ਲਈ ਸਹਾਇਕ ਹੈ - en/ja/zh/ko/fr/de/it/pt/es/hi/ru ਲਈ kokoro, ਹੋਰ ਸਹਾਇਕ ਭਾਸ਼ਾਵਾਂ (ar/pl/nl/cs/da/fi/el/hu/tr/uk/vi/etc.) ਲਈ piper। |
| text | string | ਹਾਂ | ਬੋਲੀ ਵਿੱਚ ਬਦਲਣ ਲਈ ਪਾਠ। ਪ੍ਰਤੀ ਮੰਗ ਵੱਧ ਤੋਂ ਵੱਧ: 500 ਅੱਖਰ (ਅਨੋਣਤ), 5,000 (ਮੁਫ਼ਤ ਅਕਾਊਂਟ), 1,000,000 (ਪੈਡ ਪਲਾਨ)। ਲੰਬੇ ਇੰਪੁੱਟ ਸਰਵਰ-ਸਾਇਡ ਆਟੋ-ਚੁਕੇ ਜਾਂਦੇ ਹਨ। |
| 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 | ਕੋਈ ਨਹੀਂ | ਕਾਰਵਾਈ / ਡਿਲੀਵਰੀ ਸੁਝਾਅ (≤500 ਅੱਖਰ) । ਉਦਾਹਰਨ ਲਈ \ |
| pronunciations | object | array | ਕੋਈ ਨਹੀਂ | ਹਰੇਕ ਮੰਗ ਉੱਤੇ ਉਚਾਰਨ ਉੱਤੇ ਲਿਖੋ । ਜਾਂ ਤਾਂ {\ |
| 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
SSML ਟੈਗ
ਮਿਤੀ ਫਾਰਮੈਟ ਡਿਫਾਲਟ The TTS endpoint queues your request and returns a JSON response with a job UUID. You then poll for the result. Poll this endpoint every 1-2 seconds until Fetch the Streaming alternative: For supported models (Kokoro, MeloTTS), use
ਇੰਟਰਪਲੇਅ- ਐਸ ਇੰਪੁੱਟ ਇਸ ਤਰ੍ਹਾਂ ਬੋਲਿਆ 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."
}ਜਵਾਬ
Step 1: Submit request
{
"uuid": "77b71db532874ce98e84a69a2d740d4c",
"job_id": "f21316bb-aefa-480d-8523-701d1e3184ce",
"status": "queued",
"credits_used": 11,
"credits_remaining": 15000
}Step 2: Poll for result
status is completed or failed.{
"status": "completed",
"result_url": "https://api.tts.ai/static/downloads/77b71db5.../output.mp3"
}{
"status": "processing"
}Step 3: Download audio
result_url from the completed response to download the audio file.ਪੂਰਾ ਉਦਾਹਰਨ
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)POST /v1/tts/stream/ for real-time Server-Sent Events (SSE) streaming — no polling needed.
ਬੋਲੀ ਤੋਂ ਪਾਠName
ਆਡੀਓ ਨੂੰ ਟੈਕਸਟ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ । ਆਟੋ- ਖੋਜ ਨਾਲ 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 ਅੰਤ- ਬਿੰਦੂ ਵਾਂਗ ਹੀ ਹੈ ।
ਬੋਲੀ ਬਦਲਣ ਵਾਲਾName
ਆਡੀਓ ਨੂੰ ਵੱਖਰੀ ਆਵਾਜ਼ ਵਾਂਗ ਸੁਣਨ ਲਈ ਬਦਲੋ । ਸਰੋਤ ਆਡੀਓ ਅੱਪਲੋਡ ਕਰੋ ਅਤੇ ਟਾਰਗੇਟ ਆਡੀਓ ਚੁਣੋ ।
ਬੇਨਤੀ ਭਾਗ (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
ਜਵਾਬ
ਬਦਲੀ ਆਡੀਓ ਫਾਇਲ ਨੂੰ ਬਾਈਨਰੀ ਡਾਟਾ ਵਾਂਗ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।
ਬੋਲੀ ਅਨੁਵਾਦName
ਇੱਕ ਭਾਸ਼ਾ ਤੋਂ ਦੂਜੀ ਭਾਸ਼ਾ ਵਿੱਚ ਬੋਲੀ ਆਡੀਓ ਦਾ ਅਨੁਵਾਦ ਕਰੋ। ਇੱਕ ਕਾਲ ਵਿੱਚ ਬੋਲੀ-ਤੋਂ-ਪਾਠ, ਅਨੁਵਾਦ ਅਤੇ ਪਾਠ-ਤੋਂ-ਬੋਲੀ ਨੂੰ ਮਿਲਾਓ।
ਬੇਨਤੀ ਭਾਗ (multipart/form-data)
| ਪੈਰਾਮੀਟਰ | ਟਾਈਪ | ਲੋੜੀਦਾ | ਵੇਰਵਾ |
|---|---|---|---|
| file | file | ਹਾਂ | ਅਸਲੀ ਭਾਸ਼ਾ ਵਿੱਚ ਸਰੋਤ ਆਡੀਓ ਫਾਇਲ ਹੈ । ਵੱਧੋ- ਵੱਧ 100MB ਹੈ । |
| target_language | string | ਹਾਂ | ਟਾਰਗੇਟ ਭਾਸ਼ਾ ਕੋਡ (ਜਿਵੇਂ ਕਿ es, fr, de, ja) |
| voice | string | ਕੋਈ ਨਹੀਂ | ਅਨੁਵਾਦ ਆਉਟਪੁੱਟ ਲਈ ਆਵਾਜ਼ । ਜੇ ਛੱਡਿਆ ਗਿਆ ਤਾਂ ਆਟੋ- ਚੁਣਿਆ ਜਾਵੇਗਾ । |
| preserve_voice | boolean | ਕੋਈ ਨਹੀਂ | ਅਸਲੀ ਸਪੀਕਰ ਦੀ ਆਵਾਜ਼ ਵਿਸ਼ੇਸ਼ਤਾ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਡਿਫਾਲਟ: false |
ਜਵਾਬ
{
"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
}
ਬੋਲੀ ਤੋਂ ਬੋਲੀComment
ਭਾਸ਼ਾ ਸਟਾਈਲ, ਭਾਵਨਾ ਜਾਂ ਸਮੱਗਰੀ ਨੂੰ ਸੰਭਾਲਦੇ ਹੋਏ ਸੰਚਾਰ ਬਦਲੋ । ਟੋਨ, ਪੈਸਿੰਗ ਅਤੇ ਭਾਵਨਾਵਾਂ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨ ਲਈ ਫਾਇਦੇਮੰਦ ਹੈ ।
ਬੇਨਤੀ ਭਾਗ (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 |
ਜਵਾਬ
ਤਬਦੀਲ ਆਡੀਓ ਫਾਇਲ ਨੂੰ ਬਾਈਨਰੀ ਡਾਟਾ ਵਾਂਗ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।
ਆਡੀਓ ਟੂਲName
ਆਡੀਓ ਪ੍ਰੋਸੈੱਸਿੰਗ ਅੰਤ- ਬਿੰਦੂ ਵਧਾਉਣ, ਬੋਲ ਹਟਾਉਣ, ਸਟੈਮ ਵੰਡਣ ਅਤੇ ਹੋਰ ਲਈ
ਆਡੀਓ ਕੁਆਲਟੀ ਵਧਾਓ: ਨੌਇਸ ਹਟਾਓ, ਸਪੱਸ਼ਟੀਕਰਨ ਵਧਾਓ, ਸੁਪਰ ਰੈਜ਼ੋਲੂਸ਼ਨ ।
| 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, ਜਾਂ6(ਮੂਲ: 2) |
| format string | ਆਉਟਪੁੱਟ ਫਾਰਮੈਟ: wav, mp3, flac |
ਆਡੀਓ ਰਿਕਾਰਡਿੰਗ ਤੋਂ ਈਕੋ ਅਤੇ ਰਿਵਰਬ ਹਟਾਓ ।
| file file | ਪਰੋਸੈਸ ਕਰਨ ਲਈ ਆਡੀਓ ਫਾਇਲ |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
ਕੀ, 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"]
}
ਆਡੀਓ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਬਦਲੋ ।
| file file | ਬਦਲਣ ਲਈ ਆਡੀਓ ਫਾਇਲ |
| format string | ਟਾਰਗੇਟ ਫਾਰਮੈਟ: mp3, wav, flac, ogg, m4a, aac |
| bitrate integer | ਆਉਟਪੁੱਟ ਬਿੱਟਰੇਟ kbps ਵਿੱਚ: 64, 128, 192, 256, 320 |
| sample_rate integer | ਸੈਂਪਲ ਰੇਟ: 22050, 44100, 48000 |
| channels string | mono ਜਾਂ stereo |
ਆਵਾਜ਼ ਗੱਲਬਾਤName
ਆਡੀਓ ਜਾਂ ਟੈਕਸਟ ਭੇਜੋ ਅਤੇ ਸੰਸਲੇਸ਼ਿਤ ਬੋਲੀ ਨਾਲ 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
}
ਬੈਚ TTS
ਪੈਰਲਲ TTS ਬਣਾਉਣ ਲਈ ਕਈ ਟੈਕਸਟ ਭੇਜੋ । ਚੋਣਵੀਂ ਵੈਬਹੁੱਕ ਕਾਲਬੈਕ ਪ੍ਰਾਪਤ ਕਰੋ, ਜਦੋਂ ਸਭ ਕੰਮ ਪੂਰੇ ਹੋਣ ।
ਪੈਰਾਮੀਟਰ
| ਪੈਰਾਮੀਟਰ | ਟਾਈਪ | ਵੇਰਵਾ |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | ਜਦੋਂ ਬੈਚ ਮੁਕੰਮਲ ਹੋਵੇ ਤਾਂ POST ਨਤੀਜੇ ਲਈ ਚੋਣਵੀਂ URL ਹੈ । |
ਜਵਾਬ
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
GET /v1/tts/batch/result/?batch_id=abc123 ਨਾਲ ਪੁਲਿਸ ਪ੍ਰਗਤੀ
ਬੋਲੀ ਇੰਬੈੱਡਿੰਗ
ਹਵਾਲਾ ਆਡੀਓ ਤੋਂ ਇੱਕ ਬੋਲੀ ਇੰਬੈੱਡ ਕਰਨ ਲਈ ਪਹਿਲਾਂ-ਗਣਨਾ ਕਰੋ। ਬਾਅਦ ਵਿੱਚ ਬੋਲੀ ਕਲੋਨਿੰਗ ਮੰਗਾਂ ਲਈ ਸਿੱਧੀ-ਉੱਤੇ-ਅੰਤ ਪੈਦਾ ਕਰਨ ਲਈ embed_id ਵਰਤੋਂ।
ਪੈਰਾਮੀਟਰ
| ਪੈਰਾਮੀਟਰ | ਟਾਈਪ | ਵੇਰਵਾ |
|---|---|---|
| file | file | Reference audio file (WAV, MP3, FLAC). |
| model | string | Cloning model (default: chatterbox). Supported: chatterbox, cosyvoice2, openvoice, gpt-sovits, spark, indextts2, qwen3-tts. |
ਜਵਾਬ
{
"embed_id": "emb_abc123",
"model": "chatterbox",
"duration_ms": 450
}
ਸਿਹਤ ਚੈੱਕ
GPU ਸਰਵਰ ਹਾਲਤ, ਲੋਡ ਮਾਡਲ ਅਤੇ ਕਤਾਰ ਸਾਈਜ਼ ਚੈੱਕ ਕਰੋ । ਕੋਈ ਪਰਮਾਣਕਿਤਾ ਲੋੜੀਦੀ ਨਹੀਂ ਹੈ । 30 ਸਕਿੰਟ ਲਈ ਕੈਸ਼ ਕੀਤਾ ।
ਜਵਾਬ
{
"status": "online",
"latency_ms": 45,
"queue_size": 3,
"models_loaded": ["kokoro", "chatterbox", "cosyvoice2"]
}
ਮਾਡਲਾਂ ਦੀ ਲਿਸਟ
ਸਭ ਉਪਲੱਬਧ ਮਾਡਲਾਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਦੀ ਲਿਸਟ ਦਿੰਦਾ ਹੈ ।
ਜਵਾਬ
{
"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
}
ਸਬ- ਟਾਈਟਲ (SRT / VTT) ਨਵਾਂ
ਕਿਸੇ ਵੀ ਪੂਰੇ TTS ਕੰਮ ਲਈ ਸਮਕਾਲੀ ਸਬ- ਟਾਈਟਲ ਬਣਾਓ । ਆਡੀਓ ਉੱਤੇ Whisper ਅਲਾਇੰਸ ਚਲਾਓ ਅਤੇ SRT ਜਾਂ WebVTT ਦਿਓ । ਨਤੀਜਾ ਡਿਸਕ ਉੱਤੇ ਕੈਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਕਿ ਇੱਕੋ uuid ਲਈ ਦੂਜਾ ਕਾਲ ਇੱਕ ਡਿਸਕ ਪੜ੍ਹਨ ਲਈ ਹੋਵੇ ।
ਕਿਊਰੀ ਪੈਰਾਮੀਟਰ
| ਪੈਰਾਮੀਟਰ | ਲੋੜੀਦਾ | ਵੇਰਵਾ |
|---|---|---|
| uuid | ਹਾਂ | /v1/tts/ ਜਾਂ /v1/voice-clone/ ਵਲੋਂ ਵਾਪਸ ਕੀਤੀ ਜਾਬ UUID ਹੈ। |
| format | ਕੋਈ ਨਹੀਂ | srt (ਮੂਲ) ਜਾਂ vtt। |
| download | ਕੋਈ ਨਹੀਂ | 1 Content-Disposition: attachment ਭੇਜਣ ਲਈ ਤਾਂ ਕਿ ਬਰਾਊਜ਼ਰ ਵੇਖਾਉਣ ਦੀ ਬਜਾਏ ਸੰਭਾਲੇ। |
| language | ਕੋਈ ਨਹੀਂ | ਇਕਸਾਰਤਾ ਮਾਡਲ ਲਈ ਇਸ਼ਾਰਾ (ਜੇ ਛੱਡਿਆ ਜਾਵੇ ਤਾਂ ਆਟੋ- ਖੋਜਿਆ ਜਾਵੇਗਾ) । |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
ਉਚਾਰਨ ਡਿਕਸ਼ਨਰੀ ਨਵਾਂ
TTS ਇੰਜਣ ਨੂੰ ਦੱਸੋ ਕਿ ਖਾਸ ਸ਼ਬਦ ਕਿਵੇਂ ਉਚਾਰੇ ਜਾਣ। ਸੰਭਾਲੀਆਂ ਐਂਟਰੀਆਂ ਆਟੋਮੈਟਿਕ ਹੀ ਹਰ TTS ਮੰਗ ਉੱਤੇ ਲਾਗੂ ਹੋ ਜਾਂਦੀਆਂ ਹਨ। ਪ੍ਰਤੀ ਅਕਾਊਂਟ 200 ਐਂਟਰੀਆਂ ਦੀ ਸੀਮਾ ਹੈ।
ਬੇਨਤੀ ਭਾਗ (POST)
| ਪੈਰਾਮੀਟਰ | ਟਾਈਪ | ਵੇਰਵਾ |
|---|---|---|
| word | string | ਉੱਤੇ ਲਿਖਣ ਲਈ ਸ਼ਬਦ (ਜਿਵੇਂ ਕਿ GIF, Anthropic)। ਸ਼ਬਦ-ਬੰਡਲ ਮਿਲਿਆ। |
| replacement | string | ਮਾਡਲ ਲਈ ਇਸ ਦਾ ਸ਼ਬਦ-ਜੋੜ ਕਿਵੇਂ ਹੈ (ਜਿਵੇਂ jiff, ann THROP ick)। |
| language | string | ਚੋਣਵਾਂ ISO ਕੋਡ । ਖਾਲੀ = ਸਭ ਭਾਸ਼ਾਵਾਂ ਲਈ ਲਾਗੂ ਹੈ । |
| case_sensitive | boolean | ਡਿਫਾਲਟ false ਹੈ। true ਦੇ ਨਾਲ ਕੇਸ ਮਿਲਦਾ ਹੈ। |
# 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 ਅੰਤ- ਬਿੰਦੂ ਪੈਰਾਮੀਟਰ ਵੇਖੋ) ।
ਲੇਖ ਗਾਇਕ ਨਵਾਂ
ਕਿਸੇ ਵੀ ਲੇਖ ਪੇਜ਼ ਉੱਤੇ ਇੱਕ ਟੈਗ ਪਾਓ ਅਤੇ ਝਲਕਾਰਾ ਇੱਕ ਸਥਿਰ ਰੀਡਰ ਪੱਟੀ ਪ੍ਰਾਪਤ ਕਰੇਗਾ, ਜੋ ਕਿ ਕਲਿੱਕ ਕਰਨ ਉੱਤੇ ਪੇਜ਼ ਨੂੰ ਦੱਸਦਾ ਹੈ । ਲੇਖ ਦੇ ਮੁੱਖ ਭਾਗ ਦੀ ਆਟੋ- ਖੋਜ, ਕਸਟਮ ਆਵਾਜ਼ / ਮਾਡਲ / ਸਥਿਤੀ / ਐਕਸ਼ਨ ਰੰਗ ਲਈ ਸਹਾਇਕ ਹੈ ।
<script src="https://tts.ai/narrator.js"
data-pk="pk-tts-your-publishable-key"
data-voice="af_bella"
data-model="kokoro"
data-extract="auto"
data-position="bottom"
data-color="#e60000"
data-locale="en"></script>
ਚੋਣਾਂ
| ਪੈਰਾਮੀਟਰ | ਵੇਰਵਾ |
|---|---|
data-pk | ਪਬਲਿਸ਼ਿੰਗ ਕੁੰਜੀ (pk-tts-...). ਡੋਮੇਨ ਪਾਬੰਦੀਆਂ ਕੁੰਜੀ ਦੇ allowed_domains ਖੇਤਰ ਰਾਹੀਂ ਲਾਗੂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। |
data-voice | ਵੌਇਸ ID। ਡਿਫਾਲਟ af_bella ਹੈ। |
data-model | TTS ਮਾਡਲ ID। ਡਿਫਾਲਟ kokoro ਹੈ। |
data-extract | auto (ਮੂਲ) — ਲੇਖ/ਮਹਾਂ/.ਪੋਸਟ-ਸੰਬੰਧੀ/.ਐਂਟਰੀ-ਸੰਬੰਧੀ ਚੋਣਕਾਰਾਂ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ, ਸਭ ਤੋਂ ਵੱਧ ਘਣਤਾ ਵਾਲੇ ਪੈਰਾ ਕਲਾਸਟਰ ਵਿੱਚ ਵਾਪਸ ਜਾਓ। ਜਾਂ ਕਿਸੇ ਖਾਸ ਤੱਤ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਲਈ ਕਿਸੇ CSS ਚੋਣਕਾਰ ਨੂੰ ਭੇਜੋ। |
data-position | bottom (ਮੂਲ) ਜਾਂ top। |
data-color | ਐਕਸਪੋਜ਼ਰ ਰੰਗ (ਕੋਈ ਵੀ CSS ਰੰਗ)। ਡਿਫਾਲਟ #e60000 ਹੈ। |
data-min-chars / data-max-chars | ਜੇਕਰ ਲੇਖ ਘੱਟੋ- ਘੱਟ ਅੱਖਰ (ਮੂਲ 200) ਤੋਂ ਛੋਟਾ ਹੈ ਤਾਂ ਪੱਟੀ ਛੱਡ ਦਿਓ । ਵੱਧੋ- ਵੱਧ ਅੱਖਰ (ਮੂਲ 50, 000) ਲਈ ਇੰਪੁੱਟ ਬੰਦ ਕਰੋ । |
ਸੁਣੋ ਬਟਨ ਵਿਦਜੈੱਟName
ਇੰਲਾਈਨ ਬਟਨ- ਸਟਾਈਲ ਇੰਬੈੱਡ । < code>< script> code> ਟੈਗ ਦੇ ਨਾਲ ਪੇਸ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਬਟਨ- ਟਰਿੱਗਡ ਛੋਟਾ ਨਿਸ਼ਾਨ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ । ਉੱਪਰਲੇ ਲੇਖ ਗਾਇਕ ਤੋਂ ਵੱਖਰਾ ਫਾਰਮੈਟ (ਜੋ ਕਿ ਸਫ਼ਾ- ਵਿਆਪੀ ਪੱਟੀ ਆਟੋ- ਇੰਜੈਕਟ ਕਰਦਾ ਹੈ ਅਤੇ ਪੂਰਾ ਲੇਖ ਗਾਉਂਦਾ ਹੈ) ।
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
ਸੰਭਾਲੀਆਂ ਆਵਾਜ਼ਾਂ (ਥਿਰ ਕਲੋਨ)
ਇੱਕ ਵਾਰ ਇੱਕ ਹਵਾਲਾ ਆਡੀਓ ਅੱਪਲੋਡ ਕਰੋ, ਇੱਕ ਸਥਿਰ voice_id ਪ੍ਰਾਪਤ ਕਰੋ, ਫਿਰ ਹਰ ਕਾਲ ਲਈ ਆਡੀਓ ਮੁੜ-ਅੱਪਲੋਡ ਕਰਨ ਦੀ ਬਜਾਏ TTS ਮੰਗਾਂ ਵਿੱਚ ਉਸ id ਨੂੰ ਹਵਾਲਾ ਦਿਓ। ਉੱਚ-ਵੋਲਟੇਜ ਇਕਸਾਰਤਾ ਲਈ ਵਧੀਆ ਹੈ।
ਇੱਕ ਆਵਾਜ਼ ਅੱਪਲੋਡ ਕਰੋ
POST
https://tts.ai/api/v1/user-voices/
ਪਰਮਾਣਕਿਤਾ ਲੋੜੀਦੀ ਹੈ
ਬਹੁ-ਭਾਗ ਫਾਰਮ। ਖੇਤਰ: ਫਾਇਲ (ਜਰੂਰੀ, 5-30s ਆਡੀਓ), ਨਾਂ (ਜਰੂਰੀ), ਭਾਸ਼ਾ (ਚੋਣਵਾਂ, ਡਿਫਾਲਟ en), ਮਾਡਲ (ਚੋਣਵਾਂ — zh/ja/ko ਲਈ ਆਟੋ-ਚੋਣ cosyvoice2 ਓਪਨਵਾਇਸ), ਸਹਿਮਤੀ_ਪਛਾਣ (ਜਰੂਰੀ, ਕੋਈ ਵੀ ਸੱਚ ਮੁੱਲ)।
curl -X POST https://tts.ai/api/v1/user-voices/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@reference.wav" \
-F "name=My Narrator" \
-F "language=en" \
-F "consent_confirmed=true"
# Response:
{
"public_id": "uv_a1b2c3d4e5f6",
"id": 42,
"name": "My Narrator",
"model_name": "openvoice",
"language": "en",
"reference_audio_url": "https://tts.ai/media/user-voices/....wav",
"storage_status": "active",
"created_at": "2026-04-17T03:45:00+00:00"
}
TTS ਵਿੱਚ ਸੰਭਾਲੀ ਆਵਾਜ਼ ਵਰਤੋਂ
/api/v1/tts/ (ਨੋਟ: ਵੈੱਬ VPS ਹੋਸਟ, api.tts.ai ਨਹੀਂ) ਨੂੰ user_voice_id ਨਾਲ POST ਕਰੋ। ਅਸੀਂ ਤੁਹਾਡੇ ਸੰਭਾਲੇ ਆਡੀਓ ਅਤੇ ਕਲੋਨਿੰਗ ਪਾਈਪਲਾਈਨ ਲਈ ਰੂਟ ਲੋਡ ਕਰਦੇ ਹਾਂ।
curl -X POST https://tts.ai/api/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{"text":"Hello from my saved voice","user_voice_id":"uv_a1b2c3d4e5f6"}'
# Returns a queued job — poll /v1/speech/results/?uuid=... for the audio URL.
ਲਿਸਟ / ਹਟਾਓ
GET https://tts.ai/api/v1/user-voices/ # list your saved voices + quota info
DELETE https://tts.ai/api/v1/user-voices/?public_id=uv_a1b2c3d4e5f6
ਅਕਾਇਵ / ਮੁੜ- ਐਕਟਿਵ (ਮੁਫ਼ਤ)
ਅਕਾਇਵ ਵੌਇਸ ਤੁਹਾਡੇ ਅਕਾਊਂਟ ਵਿੱਚ ਰਹਿਣਗੀਆਂ ਪਰ TTS ਵਿੱਚ ਵਰਤੀਆਂ ਨਹੀਂ ਜਾ ਸਕਦੀਆਂ ਹਨ । ਸਸਪੈਂਡ ਅੰਤਿਮ ਯੂਜ਼ਰ ਲਈ ਫਾਇਦੇਮੰਦ ਹੈ ਤਾਂ ਕਿ ਤੁਹਾਡੀ ਲਿਸਟ ਸਾਫ਼ ਰਹੇ ।
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
ਕੋਡ ਉਦਾਹਰਣ
ਪਾਠ ਤੋਂ ਬੋਲੀComment
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')}")
ਬੋਲੀ ਤੋਂ ਪਾਠName
# 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)
ਪਾਠ ਤੋਂ ਬੋਲੀComment
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();
ਬੋਲੀ ਤੋਂ ਪਾਠName
// 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);
ਪਾਠ ਤੋਂ ਬੋਲੀComment
# 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
ਬੋਲੀ ਤੋਂ ਪਾਠName
# 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 characters for this request.",
"characters_required": 4000,
"characters_available": 2000
}
}
| 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 |
ਮਾਡਲ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ । ਕੁਝ ਸਕਿੰਟ ਬਾਅਦ ਮੁੜ ਕੋਸ਼ਿਸ ਕਰੋ । |
ਵੈੱਬ- ਹੂਕਸ
ਲੰਬੇ ਸਮੇਂ ਲਈ ਚੱਲਣ ਵਾਲੇ ਕੰਮਾਂ ਲਈ (ਸਟੈਮ ਵੰਡਣਾ, ਬੈਚ 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 ਨੂੰ ਇਕਸਾਰ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ ।