एपीआई प्रलेखन
हमारे पुनःसंक्रिया के साथ TTS.ai को आपके अनुप्रयोग में जोड़िए. आसान उत्प्रवासन के लिए कृत्रिम रूप से वितरण प्रारूप खोलें.
ओवरव्यू
TTS.ai API सभी मंच विशेषताओं को प्रोग्राम संगत पहुँच प्रदान करता है: पाठ- से- वार्ता, पाठ- से- वार्ता, भाषा- से- वार्ता, आवाज- वार्ता, ऑडियो सुधार, और अधिक. API का प्रयोग JSON/ mutionion शरीर के साथ मानक रिव्विंग अधिवेशनों के साथ करता है.
एपीआई कुंजी
से अपनी एपीआई कुंजी प्राप्त करें खाता सेटिंग. पहले से योजना बनाइए ।
बेस यूआरएल
https://api.tts.ai/v1/
एटीएन
के द्वारा बीयरर टोकन Authorization शीर्षिका
सत्यापन
/v1/tts/ किसी भी प्राधिकार के बिना काम करें, प्रति आईपी/ दिन 5,000 अक्षरों के लिए, हमारे किसी भी मुक्त मॉडल का उपयोग करते हुए (piper, vits, melotts, kokoro). 15,000 ब्रीस अक्षर प्राप्त करने और पूर्वनियम मॉडलों तक पहुँचने के लिए एक स्वतंत्र वृत्तांत के लिए हस्ताक्षर करें.
प्रीमियम मॉडल तथा उच्च दर सीमा के लिए, एक बीयर टोकन के साथ सत्यापन Authorization शीर्षिका.
Authorization: Bearer sk-tts-your-api-key-here
के डीकेस
आधिकारिक SKSKINK आपके अनुप्रयोग में TTS.ai को एकीकृत करने के लिए आसान कर देता है. दोनों खुले स्रोत हैं और Hhb पर उपलब्ध हैं.
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');
बेस यूआरएल
सभी अंतिम बिन्दु इस आधार यूआरएल के सापेक्ष हैं. उदाहरण के लिए, टीएसएसटीपाइंट है:
दर सीमा
प्लान किया गया है
| योजना | निवेदन/मिन | कॉन्कर | अधिकतम पाठ लंबाई |
|---|---|---|---|
| मुक्त | 10 | 2 | 500 अक्षर |
| प्रारंभ | 30 | 3 | 1 करोड़ अक्षर |
| प्रोग्रेड | 60 | 5 | 1 करोड़ अक्षर |
| छोटे - छोटे रंग | 300 | 20 | 50,000 अक्षर |
दर सीमा शीर्षों को प्रत्येक जवाब में शामिल किया जाता है: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
क्रेडिट कास्ट्स
| सेवा | खर्च | इकाई |
|---|---|---|
| TTS (फ्री मॉडल: पाइपर, VITS, मेरोटीएस) | 1,000 अक्षर | प्रति 1,000 अक्षर |
| TTS (मानक मॉडल: कोकोरो, कोस 2, etc.) | 2,000 वर्ण | प्रति 1,000 अक्षर |
| टीएसटी (प्रेशियम मॉडल: QShortcut, चैट बाक्स इत्यादि) | ४,००० अक्षर | प्रति 1,000 अक्षर |
| पाठ से वार्ता | 2,000 वर्ण | ऑडियो की प्रति मिनट |
| आवाज कोलोन | ४,००० अक्षर | प्रति 1,000 अक्षर |
| आवाज परिवर्तक | 3,000 वर्ण | ऑडियो की प्रति मिनट |
| ऑडियो संवर्द्धन | 2,000 वर्ण | ऑडियो की प्रति मिनट |
| चोरी / स्मिटिंग | 3,000-4 वर्ण | ऑडियो की प्रति मिनट |
| भाषण अनुवाद | 5,000 अक्षर | ऑडियो की प्रति मिनट |
| आवाज़-चीत | 3,000 वर्ण | पलटता है |
| कुंजी & अपराह्न ढूंढने वाला | मुक्त | -- |
| ऑडियो परिवर्तक | मुक्त | -- |
बोलने के लिए पाठ
पाठ को ऑडियो ऑडियो में बदलें. निवेदित फॉर्मेट में ऑडियो फ़ाइल वापस लें.
निवेदन शरीर
| पैरामीटर | क़िस्म | आवश्यक | वर्णन |
|---|---|---|---|
| model | string | नहीं | मॉडल आईडी (जैसे, <कोड करें , गलत है. यदि नहीं, तो हम एक मॉडल को समर्थन करते हैं apt/puti> अन्य भाषाओं के लिए समर्थन करता है. |
| text | string | हाँ | बोलने के लिए पाठ को परिवर्तित करने के लिए. प्रति-रेप टोपी: 500 अक्षर (नोनीनी), 5,000 (पाइम खाता), 1, 1,00,000 (पावर्ड योजना). लंबा इनपुट स्वचालित सर्वर के किनारे है. |
| voice | string | हाँ | आवाज आईडी ( <कोड>/v1/p> उपलब्ध आवाज की सूची में |
| format | string | नहीं | आउटपुट प्रारूप: <कोड>
> <कोड> |
| speed | float | नहीं | गति गुणक है. तयशुदा: <कोड> <40/कोड>. सीमा <कोड> <कोड> <कोड> <कोड> <कोड2> <कोड> <0> |
| language | string | नहीं | भाषा कोड (जैसे, <कोड> कोड>, <कोड> <>> <कोड> कोड>. तब पता चला गया यदि रोका गया हो. |
| instructions | string | नहीं | काम कर रहा है / जोड़ता है (0.500 अक्षर). उदाहरण के लिए <कोड>\ |
| pronunciations | object | array | नहीं | पर- कर्ट उच्चारण ओवरराइड करता है. या तो <कोड> =\ |
| stream | boolean | नहीं | स्ट्रीमिंग अनुक्रिया सक्रिय करें. तयशुदा: <कोड> गलत/कोड> |
उदाहरण निवेदन
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
SSएमएल टैग
संख्या, तारीख़, करेंसी, फोन नंबर, तथा caconms <कोड> तारीख प्रारूप <कोड> [बन्द /] अन्य में <कोड> 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 {
"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.
पाठ से वार्ता
ऑडियो को पाठ में स्केल करें. समर्थन 99 भाषाओं को स्वतः जाँच के साथ समर्थन करता है.
निवेदन शरीर (multipart/form-data)
| पैरामीटर | क़िस्म | आवश्यक | वर्णन |
|---|---|---|---|
| file | file | हाँ | ऑडियो फ़ाइल (एमपी3, WAC, FLAC, ओवेदी, M4A, एमपी4, वेब. अधिकतम 100MB) |
| model | string | नहीं | SGAR मॉडल: <कोड |
| language | string | नहीं | भाषा कोड. <कोड> स्वतः जाँच (तयशुदा रूप से). |
| timestamps | boolean | नहीं | शब्द- लेवल टाइमस्टैंप शामिल करें. डिफ़ॉल्ट: <कोड> < गलत/कोड> |
| diarize | boolean | नहीं | स्पीकर विजुअलाइज़ेशन सक्षम करें. डिफ़ॉल्ट: <कोड> गलत कोड> |
प्रतिक्रिया
{
"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 | हाँ | रेफ़रेंस आवाज (१०- 30 सेकेंड की): अधिकतम २०MB. |
| text | string | हाँ | क्लोन आवाज में बोलने के लिए पाठ. |
| model | string | नहीं | क्लोन मॉडल: <कोड> गपशपबॉक्स कोड>, <कोड> [तयशुदा], <कोड2 कोड> |
| format | string | नहीं | आउटपुट प्रारूप: <कोड>
|
| language | string | नहीं | लक्ष्य भाषा कोड. चुना गया मॉडल द्वारा समर्थित होना चाहिए. |
प्रतिक्रिया
ऑडियो फ़ाइल को द्विचर डाटा के रूप में बताता है, जैसे कि टीटीएस के रूप में.
आवाज परिवर्तक
ध्वनि को भिन्न आवाज की तरह बदलें. अपलोड करने के लिए श्रोत और एक लक्ष्य आवाज चुनें.
निवेदन शरीर (multipart/form-data)
| पैरामीटर | क़िस्म | आवश्यक | वर्णन |
|---|---|---|---|
| file | file | हाँ | स्रोत ऑडियो फ़ाइल (एमपी3, WAC) अधिकतम 50MB. |
| target_voice | string | हाँ | लक्ष्य आवाज आईडी को परिवर्तित करने के लिए ( <कोड>/v1/ Cpp> / दर्ज करें> कुंजी सूची में लागू करने के लिए) |
| model | string | नहीं | आवाज रूपांतरण मॉडल: <कोड> |
| format | string | नहीं | आउटपुट प्रारूप: <कोड < wav> <कोड> <कोड> <कोड>, |
उदाहरण निवेदन
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 | हाँ | लक्ष्य भाषा कोड (जैसे कि, <कोड> कोड>, <कोड> <कोड>, <कोड> > > |
| 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
}
बोलने के लिए भाषण
उन्नति करने के लिए उपयोगी स्वर, माप, और भाव - शक्ति के लिए ।
निवेदन शरीर (multipart/form-data)
| पैरामीटर | क़िस्म | आवश्यक | वर्णन |
|---|---|---|---|
| file | file | हाँ | स्रोत ऑडियो फ़ाइल. अधिकतम 50MB. |
| voice | string | हाँ | आउटपुट भाषण के लिए लक्ष्य आवाज आईडी |
| model | string | नहीं | मॉडल: <कोड> <कोड कोड> (डिफ़ॉल्ट), <कोड> गपशप- बाक्स कोड> |
| emotion | string | नहीं | लक्ष्य भावना: <कोड> , <कोड> , <कोड> |
| speed | float | नहीं | गति समायोजन. डिफ़ॉल्ट: <कोड> <1.0 <कोड>. सीमा <कोड> <कोड> <कोड> <कोड2> <कोड> <कोड2> |
प्रतिक्रिया
परिवर्तित ऑडियो फ़ाइल को द्विचर डाटा के रूप में बताता है.
ऑडियो औज़ार
ध्वनि प्रक्रिया अंत में प्रक्षेपक, मुखक हटाने, विन्यासक विभाजन, और उससे भी अधिक करती है ।
ऑडियो गुण: डीनोन, स्पष्टता से सुधार, सुपर प्रस्ताव.
| 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> , <कोड>
<कोड>, <कोड
|
ऑडियो रिकॉर्डिंग से इको निरस्तीकरण हटाएँ.
| file file | प्रक्रिया में ऑडियो फ़ाइल |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
कुंजी, बीएम, तथा समय हस्ताक्षर का पता लगाने के लिए ऑडियो की जाँच करें.
| 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 | लक्ष्य प्रारूप: <कोड
|
| bitrate integer | आउटपुट बिटरेट केब में: 64, 128, 192, 256, 320 |
| sample_rate integer | सेंपल दर: 22050, 44100, 48000 |
| channels string | mono या stereo |
आवाज़-चीत
ऑडियो या पाठ भेजें और स्लोने वाले शब्दों के साथ एआई प्रतिक्रिया प्राप्त करें.
निवेदन शरीर (multipart/form-data या JSON)
| पैरामीटर | क़िस्म | आवश्यक | वर्णन |
|---|---|---|---|
| audio | file | नहीं* | ऑडियो इनपुट (FAS <कोड>oodo कोड> या <कोड> पाठ कोड> जरूरी) |
| text | string | नहीं* | पाठ इनपुट (FSE <कोड>oodio कोड> या <कोड> पाठ कोड> जरूरी) |
| voice | string | नहीं | एआई प्रतिक्रिया के लिए आवाज. डिफ़ॉल्ट: <कोड>fffell_BAR_ blayfell कोड> |
| tts_model | string | नहीं | प्रतिक्रिया के लिए TTS मॉडल. डिफ़ॉल्ट: <कोड> <कोडियो कोड> |
| system_prompt | string | नहीं | एआई के लिए मनपसंद तंत्र प्राम्प्ट |
| 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
}
बैच टीएस
समानांतर टीटीसी पीढ़ी के लिए बहुत से पाठ जमा करें. जब सभी कार्य पूरा हों तो वैकल्पिक रूप से वेब कॉलबैक प्राप्त करें.
पैरामीटर्स
| पैरामीटर | क़िस्म | वर्णन |
|---|---|---|
| texts | array | Array of objects: {text, model, voice}. Max 50 items. |
| webhook_url | string | जब मिटाया जा रहा हो तो वास्तविक परिणाम प्राप्त करने के लिए वैकल्पिक यूआरएल. |
प्रतिक्रिया
{
"batch_id": "abc123",
"total": 3,
"completed": 0,
"status": "processing"
}
मिल /v1/ ttk/ tttp/?
आवाज एम्बेडिंग
ऑडियो से गुप्त रूप से एक आवाज पैकिंग दर्ज करें. बाद में विडगेट के लिए कनेक्ट_BAR_रिकार्ड निवेदन पास की पीढ़ी के लिए करता है.
पैरामीटर्स
| पैरामीटर | क़िस्म | वर्णन |
|---|---|---|
| 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
}
स्वास्थ्य जाँच
जीपीयू सर्वर स्थिति, लोड मॉडल तथा कतार आकार जाँचें. कोई प्रमाणीकरण आवश्यक नहीं. कैश 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 | मॉडल आईडी से फ़िल्टर (उदा. g, <कोड> |
| language | string | भाषा कोड द्वारा फ़िल्टर (उदा.g, <कोड> कोड>) |
| gender | string | फिल्टर: <कोड>
, <कोड> <कोड कोड>, <कोड> <कोड> |
प्रतिक्रिया
{
"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 या वेब प्लेयर को पलटता है तो परिणाम डिस्क में कैश किया जाता है ताकि एक ही विजुअल डिस्क में एक बार पढ़ने के लिए दूसरा कॉल है.
क्वैरी पैरामीटर
| पैरामीटर | आवश्यक | वर्णन |
|---|---|---|
| uuid | हाँ | कार्य UV_v1/ tt1/ या /v1/ ic1/क्लास |
| format | नहीं | <कोड> कोड> (डिफ़ॉल्ट) या <कोड> |
| download | नहीं | <कोड> <कोड> <कोड> <कोड' को भेजने के लिए: संलग्नक |
| language | नहीं | संरेखण मॉडल पर संकेत (यदि सहेजा गया हो तो अपने आप पता लगाएँ). |
curl "https://api.tts.ai/v1/speech/subtitles/?uuid=$UUID&format=srt&download=1" -o subtitles.srt
उच्चारण शब्दकोश नया
TTS इंजिन को विशिष्ट शब्दों को कैसे घोषित करें. प्रविष्टियों को प्रत्येक टीईएस निवेदन के लिए स्वचालित सहेजें
निवेदन शरीर (POST)
| पैरामीटर | क़िस्म | वर्णन |
|---|---|---|
| word | string | ओवरराइड करने के लिए शब्द (जैसे कि, <कोड> |
| replacement | string | मॉडल के लिए यह कैसे टाइप करें (जैसे कि -g> <कोडffffff कोड>, <कोड> |
| language | string | वैकल्पिक आईएसओ कोड. खाली = सभी भाषाओं में लागू होता है. |
| case_sensitive | boolean | तयशुदा <कोड> गलत <कोड>. मिलान सही जब <कोड> <कोड> कोड> |
# 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-..."
आप उन्हें बचाने के बिना प्रति प्रति मिनट ओवरराइड कर सकते हैं - शामिल करें <कोड>
आलेख उत्पत्तिर नया
एक एकल <कोड>
<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 | अनुमति योग्य कुंजी (pt- tont-ts). डोमेन प्रतिबंध कुंजी के द्वारा लागू किया गया है <कोड> 'domin_ dofects कोड> क्षेत्र स्वीकारें. |
data-voice | आवाज आईडी. तयशुदा <कोड>forfffff_BAR_ fel_/कोड>. |
data-model | TTS मॉडल आईडी. डिफ़ॉल्ट <कोड>kokoo कोड>. |
data-extract | <कोड> <कोड> - (डिफ़ॉल्ट) - आलेख/man/. compons की कोशिश करता है, गहरा अनुच्छेद गुच्छ में वापस गिरता है. या कोई सीएसएस टेप टेप चलाने के लिए किसी विशिष्ट तत्व को लक्ष्य के लिए पास जाता है. |
data-position | <कोड> कोड> (डिफ़ॉल्ट) या <कोड> <कोड>> |
data-color | AARACK रंग (कोई सीएसएस रंग नहीं). डिफ़ॉल्ट <कोड> # 100 < 150 <कोड>. |
data-min-chars / data-max-chars | बार छोड़ें अगर यह लेख मि-Te से कम है (डिफ़ॉल्ट 200). कैप अधि. केक्स में सेड इनपुट (तयशुदा रूप से 50,000.) |
GiB पर स्रोत: < abon=\
बटन विज़ेट सुनें
इनलाइन बटन शैली. इसके अगले बटन को रेंडर करता है <कोड>
<script src="https://tts.ai/widget.js"
data-voice="af_bella"
data-model="kokoro"
data-style="full"
data-theme="light"></script>
सहेजा गया उपयोक्ता (प्रयोगक डाउनलोड)
एक संदर्भ ऑडियो अपलोड करें, एक बार एक आग्रहित आवाज वापस लाएँ, तब संदर्भ है कि टीएसएस निवेदन में हर कॉल के बजाए i- अप ऑडियो को फिर से लोड करने के लिए निवेदन करता है. मैं उच्च-वोल संयोजन के लिए आदर्श हूँ.
आवाज़ अपलोड करें
POST
https://tts.ai/api/v1/user-voices/
एटीएम आवश्यक
मल्टीरे फ़ॉर्म. क्षेत्र: फ़ाइल (re-30, 5-30 ऑडियो), भाषा (वैकल्पिक, डिफ़ॉल्ट, मॉडल (वैकल्पिक), मॉडल (वैकल्पिक), स्वतः ejk/kosefak/Owakeue2 के लिए स्वचालित समर्थन, upphat_BAR_ Andine (किसी भी सत्य मूल्य आवश्यक है).
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"
}
टीटीटी में सहेजे गए आवाज का प्रयोग करें
उपयोक्ता के साथ /ap/v1/ tpe/ (कोई नहीं): वेब Wepephys, कोई pepaphs. ocs) नहीं है। हम आपका ऑडियो लोड कर रहे हैं और क्षमा करने के लिए मार्ग।
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
अभिलेख / फिर से सक्रिय करें (फ्री)
अभिलेखित आवाज आपके खाते में रहती है लेकिन TTSTS में उपयोग नहीं किया जा सकता. उपयोगी अंत उपयोक्ता के लिए उपयोगी है ताकि आपकी सूची साफ रहे.
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/archive/
POST https://tts.ai/api/v1/user-voices/uv_a1b2c3d4e5f6/reactivate/
कोड उदाहरण
बोलने के लिए पाठ
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')}")
पाठ से वार्ता
# 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)
बोलने के लिए पाठ
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();
पाठ से वार्ता
// 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);
बोलने के लिए पाठ
# 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
पाठ से वार्ता
# 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 |
अनुपस्थित या अवैध कुंजी. |
| 402 | insufficient_credits |
पर्याप्त अक्षर नहीं हैं. / etc/. |
| 403 | forbidden |
इस रिसोर्स पर पहुँच के लिए आपके पास अनुमति नहीं है (जैसे कि अन्य उपयोक्ता का कार्य). एपीआई पहुँच प्रत्येक योजना में शामिल है. |
| 404 | not_found |
मॉडल या आवाज नहीं मिला. |
| 413 | file_too_large |
फ़ाइल आकार सीमा से अधिक हो गया. |
| 429 | rate_limited |
बहुत से निवेदन हैं. दर सीमा शीर्ष शीर्षिका जांचें. |
| 500 | internal_error |
सर्वर त्रुटि. बाद में फिर कोशिश करें. |
| 503 | model_loading |
मॉडल लोड किया जा रहा है. कुछ सेकंड में फिर कोशिश करें. |
न्यूक्लासhaiti. kgm
लंबे सफर किए कार्यों के लिए (स्किक विभाजन, बैच TS), आप एक <कोड_BAR_kturturt _center> पैरामीटर प्रदान कर सकते हैं. जब कार्य पूरा हो जाएगा, हम आपके URL के सिर्फ परिणाम तक पहुँचने के लिए पी सकते हैं.
{
"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"
}
बिल्ड के लिए तैयार?
अपनी एपीआई कुंजी प्राप्त करें और अपने अनुप्रयोगों में TTS.ai को ध्यान में रखते हुए शुरू करें.