यूज़र गाइड API संदर्भ

टेक्स्ट-टू-स्पीच (TTS)

टेक्स्ट को सुनने में स्वाभाविक लगने वाली आवाज़ में बदलें

पोस्ट /api/v1/tts/generate/

AI वॉइस सिंथेसिस का इस्तेमाल करके टेक्स्ट को स्पीच में बदलें। इससे MP3 ऑडियो फ़ाइल मिलती है।

प्रमाणीकरण

ऑथराइज़ेशन हेडर में अपनी API की (API key) शामिल करें।

अनुरोध का मुख्य भाग

पैरामीटर आवश्यक टाइप विवरण
text ज़रूरी डोरी बदलने के लिए टेक्स्ट (अधिकतम 1500 कैरेक्टर)
output_format वैकल्पिक डोरी ज़रूरी ऑडियो आउटपुट फ़ॉर्मैट। इसे codec_sampleRate_bitrate (जैसे, mp3_22050_32) के तौर पर बताया गया है। डिफ़ॉल्ट mp3_44100_128 है। पूरी लिस्ट के लिए नीचे दिया गया ’आउटपुट फ़ॉर्मैट्स’ सेक्शन देखें।
voice_id ज़रूरी पूर्णांक से वॉइस ID आवाज़ों की सूची.
prerecording वैकल्पिक पूर्णांक 1 (बेसिक एन्हांसमेंट) या 2 (AI एन्हांसमेंट)
voice_settings वैकल्पिक स्ट्रिंग (JSON) आवाज़ कस्टमाइज़ करने के विकल्प

सपोर्टेड आउटपुट फ़ॉर्मैट

output_format पैरामीटर इनमें से कोई भी वैल्यू हो सकता है:

  • MP3: mp3_22050_32, mp3_24000_48, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192
  • PCM: pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_32000, pcm_44100, pcm_48000
  • ओपस: opus_48000_32, opus_48000_64, opus_48000_96, opus_48000_128, opus_48000_192

यह सेक्शन एक रेफरेंस के तौर पर काम करता है, ताकि यूज़र्स मुख्य रिक्वेस्ट टेबल को अव्यवस्थित किए बिना सही फ़ॉर्मैट चुन सकें।

वॉइस सेटिंग्स ऑब्जेक्ट

पैरामीटर टाइप रेंज डिफ़ॉल्ट विवरण
temperature पूर्णांक 0 – 100 25 यह स्पीच में बदलाव और भाव-प्रकाशन को कंट्रोल करता है। कम वैल्यू से ज़्यादा स्थिर और अनुमान लगाने योग्य स्पीच मिलती है, जबकि ज़्यादा वैल्यू से विविधता, सहजता और रचनात्मक तरीके से बात कहने का अंदाज़ बढ़ता है।
voice_similarity पूर्णांक 0 – 100 100 यह तय करता है कि बनाई गई स्पीच चुने गए वॉइस प्रोफ़ाइल से कितनी मिलती-जुलती है। ज़्यादा वैल्यू असली आवाज़ की पहचान को बनाए रखती हैं, जबकि कम वैल्यू टोन और बोलने के तरीके में ज़्यादा बदलाव की गुंजाइश देती हैं।
speed तैरना 0.7 – 1.2 1.0 बोलने की रफ़्तार को एडजस्ट करता है। 1.0 से कम वैल्यू बोलने की रफ़्तार को धीमा करती है ताकि बात साफ़ समझ आए, जबकि 1.0 से ज़्यादा वैल्यू बोलने की रफ़्तार को बढ़ाती है।
enable_emotions बूलियन false / true false यह भावनाओं को ज़ाहिर करने वाली स्पीच बनाने में मदद करता है। जब यह चालू होता है, तो मॉडल भावनात्मक संदर्भ के आधार पर बोलने की गति, उतार-चढ़ाव और ज़ोर देने के तरीके को अपने-आप नियंत्रित करता है।
fast_mode पूर्णांक 0, 1, or 2 0 ऑडियो क्वालिटी से समझौता करके सिंथेसिस लेटेंसी को कम करता है।
  • 0: बंद (बेहतरीन क्वालिटी, सामान्य लेटेंसी)
  • 1: मध्यम लेटेंसी में कमी
  • 2: लेटेंसी में अधिकतम कमी (सबसे कम क्वालिटी)

वॉइस सेटिंग के नियम और सीमाएँ

  • जब enable_emotions को true पर सेट किया जाता है, तो voice_settings में नीचे दिए गए फ़ील्ड शामिल नहीं होने चाहिए:
    • voice_similarity
    • speed
    • fast_mode
  • अगर इमोशन (emotions) चालू हैं और रिक्वेस्ट में इनमें से कोई भी फ़ील्ड शामिल है, तो रिक्वेस्ट को 400 INVALID_REQUEST एरर के साथ रिजेक्ट कर दिया जाएगा।

उदाहरण

curl -X POST "https://moknah.io/api/v1/tts/generate/" \
  -H "Authorization: "Bearer your_api_key"
  -d '{
    "text": "مرحبا بك في منصة مكنة",
    "voice_id": 1,
    "prerecording": 1,
    "voice_settings": {
        "speed": 1.0,
        "temperature": 25
    }
  }' \
  --output speech.mp3
import requests

response = requests.post(
    "https://moknah.io/api/v1/tts/generate/",
    headers={
        "Authorization": "Bearer your_api_key",
        "Content-Type": "application/json"
    },
    json={
        "text": "مرحبا بك في منصة مكنة",
        "voice_id": 1,
        "prerecording": 1,
        "voice_settings": {
            "speed": 1.0,
            "temperature": 25
        }
    }
)

with open("speech.mp3", "wb") as f:
    f.write(response.content)
const response = await fetch(
    'https://moknah.io/api/v1/tts/generate/',
    {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer your_api_key',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            text: 'مرحبا بك في منصة مكنة',
            voice_id: 1,
            prerecording: 1,
            voice_settings: {
                speed: 1.0,
                temperature: 25
            }
        })
    }
);

const blob = await response.blob();
// Save or play the audio

प्रतिक्रिया

इन हेडर के साथ बाइनरी MP3 ऑडियो डेटा देता है:

हेडर विवरण
Content-Type audio/mpeg

गलतियाँ

स्थिति कोड विवरण
400 INVALID_REQUEST अमान्य पैरामीटर
401 UNAUTHORIZED अमान्य API की
402 INSUFFICIENT_CREDITS पर्याप्त क्रेडिट नहीं हैं
429 RATE_LIMIT_EXCEEDED बहुत ज़्यादा अनुरोध
API सपोर्ट

API से जुड़े सवालों या समस्याओं के लिए, हमसे संपर्क करें api@moknah.io.