API ஆவணமாக்கம்
TTS.ai ஐ எங்கள் REST API உடன் உங்கள் பயன்பாடுகளில் ஒருங்கிணைக்கவும். எளிதாக மாற்றுவதற்கான 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 | 5000 எழுத்துக்கள் |
| எண்டர்பிரைஸ் | 300 | 20 | 50000 எழுத்துக்கள் |
விகித எல்லை தலைப்புகள் ஒவ்வொரு பதில்களிலும் சேர்க்கப்பட்டுள்ளன: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
கடன் செலவுகள்
| சேவை | செலவு | Unit |
|---|---|---|
| TTS (தனியார் மாதிரிகள்: Piper, VITS, MeloTTS) | 1 புள்ளி | ஒவ்வொரு 1,000 எழுத்துக்களுக்கும் |
| TTS (நிலையான மாதிரிகள்: Kokoro, CosyVoice2, etc.) | 2 புள்ளிகள் | ஒவ்வொரு 1,000 எழுத்துக்களுக்கும் |
| TTS (பிரீமியம் மாதிரிகள்: Tortoise, Chatterbox, etc.) | 4 புள்ளிகள் | ஒவ்வொரு 1,000 எழுத்துக்களுக்கும் |
| உரையிலிருந்து பேசுName | 2 புள்ளிகள் | நிமிடத்திற்கு ஒலி |
| குரல் படிமம்Name | 4 புள்ளிகள் | ஒவ்வொரு 1,000 எழுத்துக்களுக்கும் |
| குரல் மாற்றிName | 3 புள்ளிகள் | நிமிடத்திற்கு ஒலி |
| ஒலி மேம்பாடு | 2 புள்ளிகள் | நிமிடத்திற்கு ஒலி |
| குரல் நீக்குதல் / குரல் பிரித்தல் | 3-4 மதிப்பெண்கள் | நிமிடத்திற்கு ஒலி |
| உரையாடல் மொழிபெயர்ப்பு | 5 புள்ளிகள் | நிமிடத்திற்கு ஒலி |
| குரல் உரையாடல்Name | 3 புள்ளிகள் | சுழற்சிக்கு |
| விசை & BPM தேடுபொறி | இலவசம் | -- |
| ஒலி மாற்றிName | இலவசம் | -- |
உரையிலிருந்து பேசுName
உரையை குரல் ஒலியாக மாற்றுகிறது. கேட்கப்பட்ட வடிவத்தில் ஒலி கோப்பினைத் தருகிறது.
கோரிக்கை உடல்
| அளபுரு | வகை | தேவைப்படும் | விளக்கம் |
|---|---|---|---|
| model | string | ஆமாம் | மாதிரி அடையாளம் (உதாரணமாக, kokoro, chatterbox, piper) |
| text | string | ஆமாம் | உரையை உரையாடலுக்கு மாற்றவும் (Pro க்கு அதிகபட்சம் 5,000 எழுத்துக்கள், Enterprise க்கு 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 -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"
}
]
}
குரல் படிமம்Name
உரையாடலை ஒரு மாதிரி குரலில் உருவாக்கவும். ஒரு குறிப்பு ஒலி மற்றும் உரை ஏற்றவும்.
கோரிக்கை உடல் (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 | ஆமாம் | மாற்ற வேண்டிய இலக்கு குரல் அடையாளம் (உள்ள குரல்களை பட்டியலிட /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
பதில்
மாற்றப்பட்ட ஒலி கோப்பினை இரும தரவாக திருப்பித் தரும்.
உரையாடல் மொழிபெயர்ப்பு
ஒரு மொழியில் இருந்து மற்றொரு மொழிக்கு பேசப்பட்ட ஒலியை மொழிபெயர்க்கவும். ஒற்றை அழைப்பில் உரைக்கு உரையாடல், மொழிபெயர்ப்பு மற்றும் உரைக்கு உரையாடல் ஆகியவற்றை இணைக்கிறது.
கோரிக்கை உடல் (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
}
உரையிலிருந்து உரைக்குName
உரையாடல் பாணியை மாற்று, உணர்வு, அல்லது உள்ளடக்கத்தை வைத்திருக்கும்போது விநியோகம். குரல், வேகம், மற்றும் வெளிப்பாட்டை சரிசெய்ய பயன்படுகிறது.
கோரிக்கை உடல் (multipart/form-data)
| அளபுரு | வகை | தேவைப்படும் | விளக்கம் |
|---|---|---|---|
| file | file | ஆமாம் | மூல பேச்சு ஒலி கோப்பு. அதிகபட்சம் 50MB. |
| voice | string | ஆமாம் | வெளியீட்டுப் பேச்சுக்காக இலக்கு குரல் அடையாளம் |
| model | string | இல்லை | மாதிரி: openvoice (முன்னிருப்பு), chatterbox |
| emotion | string | இல்லை | இலக்கு உணர்வு: neutral, happy, sad, angry, excited |
| speed | float | இல்லை | வேக மாற்றம். முன்னிருப்பு: 1.0. வரம்பு: 0.5 to 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 | மாதிரி அடையாளம் மூலம் வடிகட்டு (உதாரணமாக, 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
}
குறியீட்டு உதாரணங்கள்
உரையிலிருந்து பேசுName
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"])
குரல் படிமம்Name
# 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
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);
உரையிலிருந்து பேசுName
# 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"
குரல் படிமம்Name
# 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 |
மாதிரி ஏற்றப்படுகிறது. சில நொடிகளில் மீண்டும் முயற்சிக்கவும். |
வெப்ஹூக்குகள்
நீண்ட காலம் நடக்கும் பணிகளுக்காக (stem splitting, batch 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 உங்கள் பயன்பாடுகளில் ஒருங்கிணைக்கத் தொடங்கவும்.