नेविगेशन पर जाएँ

लेटेंसी ऑप्टिमाइज़ेशन

यह गाइड बताती है कि अपने एप्लिकेशन में टेक्स्ट टू स्पीच लेटेंसी कैसे कम करें।

यह गाइड टेक्स्ट टू स्पीच लेटेंसी बेहतर बनाने के मुख्य सिद्धांतों को कवर करती है। लेटेंसी क्या है और उसमें किन चीज़ों का योगदान होता है, इसकी अवधारणात्मक व्याख्या के लिए लेटेंसी को समझें देखें।

हालाँकि कई अलग-अलग तकनीकें हैं, हम उन्हें चार सिद्धांतों में बाँटेंगे।

चार सिद्धांत

  1. Flash मॉडल इस्तेमाल करें
  2. स्ट्रीमिंग का लाभ लें
  3. भौगोलिक निकटता पर विचार करें
  4. उपयुक्त वॉइस चुनें

Enterprise ग्राहकों को अधिक concurrency सीमाओं और हमारी रेंडरिंग कतार में प्राथमिकता का लाभ मिलता है। हमारे Enterprise प्लान के बारे में अधिक जानने के लिए सेल्स से संपर्क करें।

रीयल-टाइम मॉडल इस्तेमाल करें

Eleven v4 Turbo और Flash v2.5 रीयल-टाइम उपयोग के लिए डिज़ाइन किए गए हैं और इनकी औसत लेटेंसी ~100ms है। Multilingual v2 की तुलना में Flash मॉडल में ऑडियो क्वालिटी थोड़ी कम होती है।

इन आंकड़ों में नेटवर्क समय और आपका एप्लिकेशन शामिल नहीं है। वास्तविक एंड-टू-एंड लेटेंसी आपके स्थान और इस्तेमाल किए गए endpoint प्रकार जैसे कारकों के अनुसार अलग होगी। देखें कि लेटेंसी कैसे मापी जाती है।

स्ट्रीमिंग का लाभ लें

हमारे API रेफरेंस में टेक्स्ट टू स्पीच endpoint के तीन प्रकार उपलब्ध हैं:

  • नियमित endpoint: एक ही response में पूरी ऑडियो फ़ाइल लौटाता है।
  • स्ट्रीमिंग endpoint: Server-sent events का उपयोग करके ऑडियो chunks को क्रमशः लौटाता है।
  • Websockets endpoint: रीयल-टाइम ऑडियो जनरेशन के लिए द्विदिश स्ट्रीमिंग सक्षम करता है।

स्ट्रीमिंग

स्ट्रीमिंग endpoint रीयल-टाइम में जनरेट होते हुए ऑडियो को क्रमशः लौटाते हैं, जिससे time-to-first-byte कम होता है। यह endpoint उन स्थितियों के लिए सुझाया जाता है जहाँ इनपुट टेक्स्ट पहले से उपलब्ध हो।

स्ट्रीमिंग टेक्स्ट टू स्पीच API, वॉइस चेंजर API और ऑडियो आइसोलेशन API के लिए समर्थित है।

Websockets

टेक्स्ट टू स्पीच websocket endpoint द्विदिश स्ट्रीमिंग को सपोर्ट करता है, इसलिए यह रीयल-टाइम टेक्स्ट इनपुट (जैसे LLM आउटपुट) वाले एप्लिकेशन के लिए उपयुक्त है।

auto_mode को true पर सेट करने से जनरेशन ट्रिगर अपने-आप संभाले जाते हैं, जिससे chunk रणनीतियों को मैन्युअली मैनेज करने की ज़रूरत नहीं रहती।

अगर auto_mode बंद है, तो मॉडल ऑडियो जनरेट करना शुरू करने से पहले chunk schedule से मेल खाने लायक टेक्स्ट का इंतज़ार करेगा।

उदाहरण के लिए, अगर आप 125 वर्णों का chunk schedule सेट करते हैं, लेकिन केवल 50 वर्ण आते हैं, तो मॉडल अतिरिक्त वर्ण आने तक रुक जाएगा—जिससे लेटेंसी बढ़ सकती है।

इम्प्लीमेंटेशन की जानकारी के लिए टेक्स्ट टू स्पीच websocket गाइड देखें।

उपयुक्त वॉइस चुनें

हमने देखा है कि कुछ मामलों में वॉइस चयन लेटेंसी को प्रभावित कर सकता है। तेज़ से धीमे तक का क्रम यह है:

  1. डिफ़ॉल्ट वॉइस (पहले premade कहलाती थीं), Synthetic वॉइस और Instant Voice Clones (IVC)
  2. Professional Voice Clones (PVC)

ज़्यादा ऑडियो क्वालिटी वाले आउटपुट फ़ॉर्मैट लेटेंसी बढ़ा सकते हैं। अपनी लेटेंसी आवश्यकताओं और ऑडियो फ़िडेलिटी की ज़रूरतों के बीच संतुलन रखें।

हम Flash v2.5 के लिए PVC लेटेंसी ऑप्टिमाइज़ करने पर सक्रिय रूप से काम कर रहे हैं।

भौगोलिक निकटता पर विचार करें

आपके भौगोलिक स्थान के आधार पर लेटेंसी ऑप्टिमाइज़ करने के लिए हम अपने मॉडल कई क्षेत्रों से उपलब्ध कराते हैं।

उदाहरण के लिए, Websockets के साथ Flash मॉडल इस्तेमाल करने पर, आपके स्थान के आधार पर निम्न TTFB लेटेंसी अपेक्षित है:

क्षेत्रTTFB
उत्तरी अमेरिका100-150ms
यूरोप100-150ms
दक्षिण-पूर्व एशिया100-150ms
दक्षिण एशिया150-200ms
उत्तर-पूर्व एशिया150-200ms

API response में x-region header देखकर आप जाँच सकते हैं कि आपकी रिक्वेस्ट को कौन-सा backend क्षेत्र सेवा दे रहा है। वर्तमान में इस्तेमाल होने वाले क्षेत्रों में USA, Netherlands और Singapore शामिल हैं।

Enterprise ग्राहक सर्वर स्थान की गारंटी और कम लेटेंसी के लिए हमारे समर्पित EU और India डेटा रेजिडेंसी एनवायरनमेंट का उपयोग कर सकते हैं। हमारे डेटा रेजिडेंसी इन्फ्रास्ट्रक्चर पर ऑनबोर्ड होने के लिए अपने सेल्स प्रतिनिधि से संपर्क करें।

ग्लोबल रूटिंग से ऑप्ट-आउट करने और हमेशा USA सर्वर इस्तेमाल करने के लिए, अपनी API रिक्वेस्ट में api.us.elevenlabs.io base URL इस्तेमाल करें:

import os
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
base_url="https://api.us.elevenlabs.io"
)

पहले ग्लोबल सर्वर के लिए api-global-preview.elevenlabs.io base URL का इस्तेमाल करके opt-in करना होता था। अब इसकी ज़रूरत नहीं है, क्योंकि यह अब डिफ़ॉल्ट व्यवहार है। कृपया अपने एप्लिकेशन को अपडेट करके इसकी जगह सिर्फ़ api.elevenlabs.io इस्तेमाल करें।