API ਦਸਤਾਵੇਜ਼

ਸਾਡੇ REST API ਨਾਲ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ TTS.ai ਨੂੰ ਇਕਸਾਰ ਕਰੋ। ਸੌਖਾ ਮਾਈਗਰੇਸ਼ਨ ਲਈ OpenAI- ਅਨੁਕੂਲ ਫਾਰਮੈਟ ਹੈ।

REST API OpenAI ਅਨੁਕੂਲ JSON ਜਵਾਬ ਸਟਰੀਮਿੰਗ ਸਹਿਯੋਗ

ਝਲਕ

TTS.ai API ਸਭ ਪਲੇਟਫਾਰਮ ਫੀਚਰਾਂ ਲਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ: ਪਾਠ-ਤੋਂ-ਬਾਤ ਸੰਸਲੇਸ਼ਣ, ਪਾਠ-ਤੋਂ-ਬਾਤ ਅਨੁਵਾਦ, ਬੋਲੀ ਕਲੋਨਿੰਗ, ਆਡੀਓ ਸੁਧਾਰ, ਅਤੇ ਹੋਰ। API JSON ਬੇਨਤੀ/ਜਵਾਬ ਸਰੀਰ ਨਾਲ ਸਟੈਂਡਰਡ REST ਸੰਧੀ ਵਰਤਦਾ ਹੈ।

API ਕੁੰਜੀ

ਆਪਣੀ API ਕੁੰਜੀ ਇੱਥੇ ਲਵੋ ਅਕਾਊਂਟ ਸੈਟਿੰਗ. Pro ਅਤੇ Enterprise ਪਲਾਨ ਉੱਤੇ ਉਪਲੱਬਧ ਹੈ।

ਬੇਸ URL

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

ਪਰਮਾਣਕਿਤਾ

ਬੀਅਰਰ ਟੋਕਨ ਰਾਹੀਂ Authorization ਹੈੱਡਰ

ਪਰਮਾਣਕਿਤਾ

ਸਭ API ਮੰਗਾਂ ਲਈ ਪਰਮਾਣਕਿਤਾ ਲੋੜੀਦੀ ਹੈ Authorization ਹੈੱਡਰ.

HTTP ਹੈੱਡਰ
Authorization: Bearer sk-tts-your-api-key-here
ਆਪਣੀ API ਕੁੰਜੀ ਗੁਪਤ ਰੱਖੋ । ਕਲਾਂਇਟ-ਸਾਈਡ ਕੋਡ, ਪਬਲਿਕ ਰਿਪੋਜ਼ਟਰੀਆਂ ਜਾਂ ਲਾਗ ਵਿੱਚ ਸਾਂਝਾ ਨਾ ਕਰੋ । ਆਪਣੇ ਅਕਾਊਂਟ ਸੈਟਿੰਗ ਤੋਂ ਕੁੰਜੀਆਂ ਨੂੰ ਨਿਯਮਤ ਰੂਪ ਵਿੱਚ ਘੁੰਮਾਓ ।

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")
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 500 ਅੱਖਰ
ਲਾਂਚਰ 30 3 100,000 ਅੱਖਰ
ਪਰੋ 60 5 100,000 ਅੱਖਰ
ਇੰਟਰਪ੍ਰਾਈਜ਼ 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

POST /v1/tts/

ਟੈਕਸਟ ਨੂੰ ਬੋਲੀ ਆਡੀਓ ਵਿੱਚ ਬਦਲੋ । ਲੋੜੀਦੀ ਫਾਰਮੈਟ ਵਿੱਚ ਆਡੀਓ ਫਾਇਲ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।

ਬੇਨਤੀ ਭਾਗ

ਪੈਰਾਮੀਟਰਟਾਈਪਲੋੜੀਦਾਵੇਰਵਾ
model string ਹਾਂ ਮਾਡਲ ID (ਜਿਵੇਂ ਕਿ kokoro, chatterbox, piper)
text string ਹਾਂ ਬੋਲੀ ਵਿੱਚ ਬਦਲਣ ਲਈ ਪਾਠ (ਪ੍ਰਤੀ ਮੰਗ ਵੱਧ ਤੋਂ ਵੱਧ 100, 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

ਜਵਾਬ

ਆਡੀਓ ਫਾਇਲ ਨੂੰ ਸਹੀ Content-Type ਹੈਡਰ ਨਾਲ ਬਾਈਨਰੀ ਡਾਟਾ ਦੇ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਦਿੰਦਾ ਹੈ (audio/mpeg, audio/wav, ਆਦਿ)।

ਜਵਾਬ ਹੈਂਡਰ
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498

ਬੋਲੀ ਤੋਂ ਪਾਠName

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 ਅੰਤ- ਬਿੰਦੂ ਵਾਂਗ ਹੀ ਹੈ ।

ਬੋਲੀ ਬਦਲਣ ਵਾਲਾName

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

ਜਵਾਬ

ਬਦਲੀ ਆਡੀਓ ਫਾਇਲ ਨੂੰ ਬਾਈਨਰੀ ਡਾਟਾ ਵਾਂਗ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।

ਬੋਲੀ ਅਨੁਵਾਦName

POST /v1/speech-translate/

ਇੱਕ ਭਾਸ਼ਾ ਤੋਂ ਦੂਜੀ ਭਾਸ਼ਾ ਵਿੱਚ ਬੋਲੀ ਆਡੀਓ ਦਾ ਅਨੁਵਾਦ ਕਰੋ। ਇੱਕ ਕਾਲ ਵਿੱਚ ਬੋਲੀ-ਤੋਂ-ਪਾਠ, ਅਨੁਵਾਦ ਅਤੇ ਪਾਠ-ਤੋਂ-ਬੋਲੀ ਨੂੰ ਮਿਲਾਓ।

ਬੇਨਤੀ ਭਾਗ (multipart/form-data)

ਪੈਰਾਮੀਟਰਟਾਈਪਲੋੜੀਦਾਵੇਰਵਾ
file file ਹਾਂ ਅਸਲੀ ਭਾਸ਼ਾ ਵਿੱਚ ਸਰੋਤ ਆਡੀਓ ਫਾਇਲ ਹੈ । ਵੱਧੋ- ਵੱਧ 100MB ਹੈ ।
target_language string ਹਾਂ ਟਾਰਗੇਟ ਭਾਸ਼ਾ ਕੋਡ (ਜਿਵੇਂ ਕਿ es, fr, de, ja)
voice string ਕੋਈ ਨਹੀਂ ਅਨੁਵਾਦ ਆਉਟਪੁੱਟ ਲਈ ਆਵਾਜ਼ । ਜੇ ਛੱਡਿਆ ਗਿਆ ਤਾਂ ਆਟੋ- ਚੁਣਿਆ ਜਾਵੇਗਾ ।
preserve_voice boolean ਕੋਈ ਨਹੀਂ ਅਸਲੀ ਸਪੀਕਰ ਦੀ ਆਵਾਜ਼ ਵਿਸ਼ੇਸ਼ਤਾ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਡਿਫਾਲਟ: false

ਜਵਾਬ

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
}

ਬੋਲੀ ਤੋਂ ਬੋਲੀComment

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

ਜਵਾਬ

ਤਬਦੀਲ ਆਡੀਓ ਫਾਇਲ ਨੂੰ ਬਾਈਨਰੀ ਡਾਟਾ ਵਾਂਗ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।

ਆਡੀਓ ਟੂਲName

ਆਡੀਓ ਪ੍ਰੋਸੈੱਸਿੰਗ ਅੰਤ- ਬਿੰਦੂ ਵਧਾਉਣ, ਬੋਲ ਹਟਾਉਣ, ਸਟੈਮ ਵੰਡਣ ਅਤੇ ਹੋਰ ਲਈ

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, ਜਾਂ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 integerਆਉਟਪੁੱਟ ਬਿੱਟਰੇਟ kbps ਵਿੱਚ: 64, 128, 192, 256, 320
sample_rate integerਸੈਂਪਲ ਰੇਟ: 22050, 44100, 48000
channels stringmono ਜਾਂ stereo

ਆਵਾਜ਼ ਗੱਲਬਾਤName

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
}

ਬੈਚ TTS

POST /v1/tts/batch/

ਪੈਰਲਲ TTS ਬਣਾਉਣ ਲਈ ਕਈ ਟੈਕਸਟ ਭੇਜੋ । ਚੋਣਵੀਂ ਵੈਬਹੁੱਕ ਕਾਲਬੈਕ ਪ੍ਰਾਪਤ ਕਰੋ, ਜਦੋਂ ਸਭ ਕੰਮ ਪੂਰੇ ਹੋਣ ।

ਪੈਰਾਮੀਟਰ

ਪੈਰਾਮੀਟਰਟਾਈਪਵੇਰਵਾ
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 ਮਾਡਲ 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
}

ਕੋਡ ਉਦਾਹਰਣ

ਪਾਠ ਤੋਂ ਬੋਲੀComment

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

ਬੋਲੀ ਤੋਂ ਪਾਠName

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)

ਪਾਠ ਤੋਂ ਬੋਲੀComment

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

ਬੋਲੀ ਤੋਂ ਪਾਠName

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

ਪਾਠ ਤੋਂ ਬੋਲੀComment

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

ਬੋਲੀ ਤੋਂ ਪਾਠName

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 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"
}
ਵੈੱਬਹੁੱਕ ਨਤੀਜੇ ਮੁਕੰਮਲ ਹੋਣ ਤੋਂ ਬਾਅਦ 24 ਘੰਟਿਆਂ ਲਈ ਡਾਊਨਲੋਡ ਲਈ ਉਪਲੱਬਧ ਹਨ । ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਤੁਰੰਤ ਡਾਊਨਲੋਡ ਕਰੋ ।

ਬਣਾਉਣ ਲਈ ਤਿਆਰ ਹੋ?

ਆਪਣੀ API ਕੁੰਜੀ ਲਵੋ ਅਤੇ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ TTS.ai ਨੂੰ ਇਕਸਾਰ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ ।