API ਦਸਤਾਵੇਜ਼
ਸਾਡੇ REST API ਨਾਲ TTS.ai ਨੂੰ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰੋ। ਸੌਖਾ ਮਾਈਗਰੇਸ਼ਨ ਲਈ OpenAI- ਅਨੁਕੂਲ ਫਾਰਮੈਟ ਹੈ।
ਝਲਕ
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 ਕੁੰਜੀ ਇੱਥੇ ਲਵੋ ਅਕਾਊਂਟ ਸੈਟਿੰਗ. Pro ਅਤੇ Enterprise ਪਲਾਨ ਉੱਤੇ ਉਪਲੱਬਧ ਹੈ।
ਬੇਸ URL
https://api.tts.ai/v1/
ਪਰਮਾਣਕਿਤਾ
ਬੀਅਰਰ ਟੋਕਨ ਰਾਹੀਂ Authorization ਹੈੱਡਰ
ਪਰਮਾਣਕਿਤਾ
ਸਭ API ਮੰਗਾਂ ਲਈ ਪਰਮਾਣਕਿਤਾ ਲੋੜੀਦੀ ਹੈ Authorization ਹੈੱਡਰ.
Authorization: Bearer sk-tts-your-api-key-here
ਬੇਸ URL
ਸਭ ਅੰਤ- ਬਿੰਦੂ ਇਸ ਬੇਸ URL ਨਾਲ ਸਬੰਧਤ ਹਨ । ਉਦਾਹਰਨ ਲਈ, TTS ਅੰਤ- ਬਿੰਦੂ ਹੈ:
ਰੇਟ ਲਿਮਟ
API ਰੇਟ ਲਿਮਟ ਯੋਜਨਾ ਮੁਤਾਬਕ ਬਦਲਦੀ ਹੈ:
| ਯੋਜਨਾ | ਬੇਨਤੀਆਂ/ ਮਿੰਟ | Concurrent | ਵੱਧੋ- ਵੱਧ ਟੈਕਸਟ ਲੰਬਾਈ |
|---|---|---|---|
| ਪਰੋ | 60 | 5 | 5,000 ਅੱਖਰ |
| ਇੰਟਰਪ੍ਰਾਈਜ਼ | 300 | 20 | 50,000 ਅੱਖਰ |
ਹਰੇਕ ਜਵਾਬ ਵਿੱਚ ਰੇਟ ਲਿਮਟ ਹੈਂਡਰ ਸ਼ਾਮਲ ਹਨ: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
ਕ੍ਰੈਡਿਟ ਲਾਗਤ
| ਸਰਵਿਸ | ਕੀਮਤ | Unit |
|---|---|---|
| TTS (ਮੁਫ਼ਤ ਮਾਡਲ: Piper, VITS, MeloTTS) | ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| TTS (ਸਟੈਂਡਰਡ ਮਾਡਲ: ਕੋਕੋਰੋ, ਕੋਸੀਵਾਇਸ 2, ਆਦਿ) | 2 ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| TTS (ਪ੍ਰੀਮੀਅਮ ਮਾਡਲ: Tortoise, Chatterbox, ਆਦਿ) | 4 ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| ਬੋਲੀ ਤੋਂ ਪਾਠName | 2 ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ ਮਿੰਟ ਆਡੀਓ |
| ਬੋਲੀ ਕਲੋਨਿੰਗ | 4 ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ 1,000 ਅੱਖਰ |
| ਬੋਲੀ ਬਦਲਣ ਵਾਲਾName | ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ ਮਿੰਟ ਆਡੀਓ |
| ਆਡੀਓ ਸੁਧਾਰ | 2 ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ ਮਿੰਟ ਆਡੀਓ |
| ਬੋਲ ਹਟਾਉਣਾ / ਬੋਲ ਵੰਡਣਾ | 3-4 ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ ਮਿੰਟ ਆਡੀਓ |
| ਬੋਲੀ ਅਨੁਵਾਦName | ਕ੍ਰੈਡਿਟ | ਪ੍ਰਤੀ ਮਿੰਟ ਆਡੀਓ |
| ਆਵਾਜ਼ ਗੱਲਬਾਤName | ਕ੍ਰੈਡਿਟ | ਹਰ ਵਾਰ |
| ਕੁੰਜੀ & BPM ਖੋਜਕਾਰ | ਮੁਫਤ | -- |
| ਆਡੀਓ ਕਨਵਰਟਰName | ਮੁਫਤ | -- |
ਪਾਠ ਤੋਂ ਬੋਲੀComment
ਟੈਕਸਟ ਨੂੰ ਬੋਲੀ ਆਡੀਓ ਵਿੱਚ ਬਦਲੋ । ਲੋੜੀਦੀ ਫਾਰਮੈਟ ਵਿੱਚ ਆਡੀਓ ਫਾਇਲ ਮੁੜ- ਪ੍ਰਾਪਤ ਕਰੋ ।
ਬੇਨਤੀ ਭਾਗ
| ਪੈਰਾਮੀਟਰ | ਟਾਈਪ | ਲੋੜੀਦਾ | ਵੇਰਵਾ |
|---|---|---|---|
| model | string | ਹਾਂ | ਮਾਡਲ ID (ਜਿਵੇਂ ਕਿ kokoro, chatterbox, piper) |
| text | string | ਹਾਂ | ਬੋਲੀ ਵਿੱਚ ਬਦਲਣ ਲਈ ਟੈਕਸਟ (ਪ੍ਰੋ ਲਈ ਵੱਧੋ- ਵੱਧ 5,000 ਅੱਖਰ, ਐਂਟਰੀ- ਲੈਵਲ ਲਈ 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 -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
ਬੋਲੀ ਤੋਂ ਪਾਠ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 | ਕੋਈ ਨਹੀਂ | ਅਸਲੀ ਸਪੀਕਰ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ |
ਜਵਾਬ
{
"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 | Audio 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"]
}
ਆਡੀਓ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਬਦਲੋ ।
| 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 ਲਈ ਪਸੰਦੀਦਾ ਸਿਸਟਮ ਪਰੋਮਿਟName |
| 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
}
ਮਾਡਲਾਂ ਦੀ ਲਿਸਟ
ਸਭ ਉਪਲੱਬਧ ਮਾਡਲਾਂ ਅਤੇ ਉਨ੍ਹਾਂ ਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਦੀ ਲਿਸਟ ਦਿੰਦਾ ਹੈ ।
ਜਵਾਬ
{
"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
}
ਕੋਡ ਉਦਾਹਰਣ
ਪਾਠ ਤੋਂ ਬੋਲੀ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 credits for this request.",
"credits_required": 4,
"credits_available": 2
}
}
| HTTP ਹਾਲਤ | Error Code | ਵੇਰਵਾ |
|---|---|---|
| 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 ਨੂੰ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ।