रेट लिमिट
रेट लिमिट वे प्रतिबंध हैं जो हमारा API किसी उपयोगकर्ता या क्लाइंट द्वारा एक निश्चित समय अवधि के भीतर हमारी सेवाओं का उपयोग करने की संख्या पर लगाता है।
लिमिट क्यों
हमने अपने API पर रेट लिमिट लगाई हैं ताकि सभी के लिए सबसे बेहतर अनुभव बनाया जा सके। यहाँ बताया गया है कि ये क्यों महत्वपूर्ण हैं:
-
हमारी सेवा को सुरक्षित और स्थिर रखने के लिए! रेट लिमिट को मित्रवत बाउंसर के रूप में सोचें - वे सुनिश्चित करते हैं कि कोई भी एक साथ बहुत ज़्यादा रिक्वेस्ट भेजकर हमारे API पर दबाव न डाल सके। यह हमारी सेवा को संभावित दुरुपयोग से बचाने में मदद करता है और सब कुछ सुचारू रूप से चलता रहता है।
-
यह सुनिश्चित करने के लिए कि सभी को उनका उचित हिस्सा मिले। जैसे किसी खेल के मैदान में खिलौने साझा किए जाते हैं, वैसे ही हम चाहते हैं कि हमारे सभी उपयोगकर्ताओं को API तक समान पहुंच मिले। प्रत्येक उपयोगकर्ता द्वारा की जा सकने वाली रिक्वेस्ट की संख्या को धीरे-धीरे सीमित करके, हम यह सुनिश्चित करते हैं कि किसी को भी अपनी बारी के लिए बहुत लंबा इंतज़ार न करना पड़े।
-
प्रदर्शन को तेज़ और भरोसेमंद बनाए रखने के लिए। रिक्वेस्ट के समग्र प्रवाह को प्रबंधित करके, हम अपने सभी शानदार उपयोगकर्ताओं के लिए तेज़ रेस्पॉन्स टाइम और स्थिर सेवा बनाए रख सकते हैं। यह सुनिश्चित करने जैसा है कि किसी हाईवे पर बहुत ज़्यादा भीड़ न हो - जब हम भीड़भाड़ को रोकते हैं तो ट्रैफ़िक बेहतर तरीके से बहता है!
लिमिट कैसे काम करती हैं
रेट लिमिट को 2 तरीकों से मापा जाता है:
- रिक्वेस्ट प्रति सेकंड: यह प्रति सेकंड की जा सकने वाली नेटवर्क रिक्वेस्ट की संख्या है।
- क्यू टास्क: यह किसी भी समय क्यू में चलाए जा सकने वाले समवर्ती जनरेशन टास्क की संख्या है।
क्यू टास्क में टेक्स्ट से 3D, इमेज से 3D, टेक्स्ट से टेक्सचर, और रीमेश endpoint शामिल हैं। अपलोड और बैलेंस जैसे अन्य endpoint इस लिमिट में शामिल नहीं हैं।
लिमिट प्रति-अकाउंट के आधार पर लागू की जाती हैं। इसका मतलब है कि लिमिट आपकी सभी API key में साझा होती हैं।
रेट लिमिट के अलावा, टास्क प्रोसेसिंग प्राथमिकता भी आपके टास्क की गति को प्रभावित करेगी।
प्रत्येक यूज़र टियर की अपनी आवश्यकताओं के अनुसार विशिष्ट रेट लिमिट और प्राथमिकता स्तर होते हैं। यहाँ टियर के अनुसार मौजूदा लिमिट दी गई हैं:
| यूज़र टियर | रिक्वेस्ट प्रति सेकंड | क्यू टास्क | प्राथमिकता स्तर |
|---|---|---|---|
| Pro | 20 | 10 | डिफ़ॉल्ट |
| Premium | 20 | 30 | Pro से अधिक |
| Ultra | 20 | 100 | सर्वाधिक |
| Studio | 20 | 20 | Pro से अधिक |
| Enterprise | 100 | डिफ़ॉल्ट रूप से 100, कस्टमाइज़ किया जा सकता है | सर्वाधिक |
यदि आप इन लिमिट को पार करते हैं, तो आपको हमारे API से 429 Too Many Requests रेस्पॉन्स मिलेगा। इसे ट्रिगर करने वाली दो प्रकार की स्थितियाँ हो सकती हैं, जिनमें हर एक का रेस्पॉन्स अलग होता है:
- Request Hit: यह तब होता है जब आप प्रति सेकंड बहुत ज़्यादा रिक्वेस्ट भेजते हैं। आपको
Rate limit exceededमैसेज के साथ429 Too Many Requestsरेस्पॉन्स मिलेगा। - Queue Hit: यह तब होता है जब आपके पास बहुत ज़्यादा समवर्ती जनरेशन टास्क चल रहे होते हैं। आपको
NoMorePendingTasks(या, जब आपके क्रेडिट समाप्त हो जाएं, तोNoMoreConcurrentTasks) मैसेज के साथ429 Too Many Requestsरेस्पॉन्स मिलेगा। इस429में कोईRetry-Afterनहीं होता: अगला टास्क बनाने से पहले अपने किसी एक टास्क के पूरा होने का इंतज़ार करें।
रेट लिमिट हेडर
API रेस्पॉन्स में ये हेडर होते हैं ताकि आप अपनी रिक्वेस्ट की गति को नियंत्रित कर सकें:
| Header | विवरण |
|---|---|
X-RateLimit-Limit | आपके टियर पर प्रति सेकंड अनुमत रिक्वेस्ट की संख्या। |
X-RateLimit-Remaining | वर्तमान सेकंड में बची हुई रिक्वेस्ट की संख्या। |
X-RateLimit-Reset | आपका बजट फिर से पूरा होने में लगने वाले सेकंड। |
Retry-After | आपकी अगली रिक्वेस्ट भेजने से पहले प्रतीक्षा करने के सेकंड। यह Request Hit 429 के साथ भेजा जाता है, और जब आप ऐसा टास्क प्राप्त करते हैं जो अभी भी PENDING या IN_PROGRESS है। |
जब Retry-After मौजूद हो, तो अगली रिक्वेस्ट भेजने से पहले उतने सेकंड प्रतीक्षा करें।