टेक्स्ट-टू-स्पीच (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 |
ऑडियो क्वालिटी से समझौता करके सिंथेसिस लेटेंसी को कम करता है।
|
वॉइस सेटिंग के नियम और सीमाएँ
-
जब enable_emotions को true पर सेट किया जाता है, तो voice_settings में नीचे दिए गए फ़ील्ड शामिल नहीं होने चाहिए:
voice_similarityspeedfast_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.