API दस्तऐवजीकरण

TTS.ai ला आपल्या अनुप्रयोगांमध्ये आमचे REST API सोबत एकत्रित करा.

REST API OpenAI सुसंगत JSON प्रतिसाद स्ट्रीमिंग समर्थन

ओळख

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 किल्ली मिळवा खाते संयोजना. या कंपनीचे मुख्यालय औरंगाबाद येथे आहे.

आधार URL

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

अधिप्रमाणन

वाहक टोकन द्वारे Authorization शिर्षक

अधिप्रमाणन

सर्व API विनंती करीता खालीलमधील बेअरर टोकन द्वारे अधिप्रमाणन आवश्यक आहे Authorization शिर्षक.

HTTP शिर्षक
Authorization: Bearer sk-tts-your-api-key-here
याचे मूळ नाव अ‍ॅलेक्झांड्रो एफ. क्लाऐंट-साईड कोड, सार्वजनिक रेकॉर्ड, किंवा लॉग मध्ये ते सामायिक करू नका. आपल्या खाते संयोजना पासून कि नियमितपणे फिरवा.

आधार URL

आधार URL: https://api.tts.ai/v1/

सर्व शेवटचे बिंदू या आधार URL सह संबंधित आहेत. उदाहरणार्थ, TTS शेवटचे बिंदू आहे:

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

दर मर्यादा

API दर मर्यादा योजनानुसार बदलतात:

प्लॅन विनंती/मिनिट Concurrent कमाल पाठ्य लांबी
प्रो 60 5 अक्षरे
एंटरप्राइज 300 20 ५०,००० अक्षरे

दर मर्यादा शिर्षक प्रत्येक उत्तरात समाविष्टीत आहे: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

क्रेडिट खर्च

सेवा किंमत Unit
TTS (मुफ्त मॉडेल: पाइपर, VITS, MeloTTS) क्रेडिट प्रति 1000 अक्षरे
टीटीएस (मानक मॉडेल: कोकोरो, कोसीव्हॉइस २, इ. क्रेडिट प्रति 1000 अक्षरे
TTS (प्रीमियम मॉडेल: Tortoise, Chatterbox, इत्यादी) क्रेडिट प्रति 1000 अक्षरे
वक्तव्य ते पाठ्यName क्रेडिट प्रति मिनिट ऑडिओ
आवाज क्लोनिंग क्रेडिट प्रति 1000 अक्षरे
आवाज बदलविकर्ताName क्रेडिट प्रति मिनिट ऑडिओ
ऑडिओ सुधारणName क्रेडिट प्रति मिनिट ऑडिओ
आवाज काढून टाकणे / आवाज विभाजन 3-4 तास प्रति मिनिट ऑडिओ
वक्तृत्व अनुवादName क्रेडिट प्रति मिनिट ऑडिओ
आवाज संवादName क्रेडिट प्रति फेरी
कि (BPM) शोधकर्ता मोकळे --
ऑडिओ कनवर्टरName मोकळे --

पाठ्य ते वक्तव्यName

POST /v1/tts/

पाठ्य संवाद ऑडिओ करीता रूपांतरीत करा. विनंतीकृत स्वरूपन अंतर्गत ऑडिओ फाइल परत करतो.

विनंतीचे मुख्य भाग

पैरामीटरप्रकारआवश्यकवर्णन
model string होय मॉडेल ID (उदा., kokoro, chatterbox, piper)
text string होय भाषण करीता बदलविण्याजोगी पाठ्य (Pro करीता कमाल 5,000 अक्षरे, Enterprise करीता 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
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

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 नाही Unknown parameter |अ‍ॅक्सेसदिनांक= ignored (सहाय्य); Unknown parameter |अ‍ॅक्सेसदिनांक= ignored (सहाय्य)
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/

एका भाषेतून दुसऱ्या भाषेत बोलल्या गेलेल्या ऑडिओचे भाषांतर करा. एकाच कॉलमध्ये भाषण-ते-पाठ्य, अनुवाद, व पाठ्य-ते-भाषण एकत्रित करा. Name

विनंतीचे मुख्य भाग (multipart/form-data)

पैरामीटरप्रकारआवश्यकवर्णन
file file होय मूळ भाषेतील स्रोत ऑडिओ फाइल. कमाल 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
}

वक्तव्य ते वक्तव्यName

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/

त्यांपैकी काही उपप्रकार पुढील प्रमाणे :- (१) ध्वनिप्रदूषण (Voice Pollution) - ध्वनी प्रदूषण हे ध्वनी प्रदूषणाचे एक प्रकार आहे.

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/ मोकळे

कि, बीपीएम आणि वेळ चिन्हांकन शोधण्यासाठी ऑडिओचे विश्लेषण करा.

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 करीता इच्छिक प्रणाली सूचनाName
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
}

नमूने यादीबद्ध करा

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
}

कोड उदाहरण

पाठ्य ते वक्तव्यName

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)

पाठ्य ते वक्तव्यName

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

पाठ्य ते वक्तव्यName

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

ऑडिओ सुधारणName

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 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"
}
Webhook परिणाम पूर्णत्वानंतर २४ तासांसाठी डाऊनलोड करीता उपलब्ध आहेत. ते त्वरित डाऊनलोड करण्याची खात्री करा.

तयार आहात का?

याचा वापर करून आपण आपल्या संगणकावरील ऍप्लिकेशन्स डाउनलोड करण्यास सुरुवात करू शकतो.