आवश्यकताएँ
apertus API का उपयोग करने के लिए, आपको एक खाता और एक API कुंजी की आवश्यकता है। Get API key पृष्ठ पर Google या ईमेल के माध्यम से साइन अप करें। आपको तुरंत एक कुंजी मिलती है; फ़ोन नंबर की आवश्यकता नहीं है। यदि आप पहले परीक्षण करना चाहते हैं, तो हर नए खाते को 7 दिनों के लिए मान्य $0.50 के मुफ़्त ट्रायल क्रेडिट प्राप्त होते हैं। ट्रायल के लिए कार्ड की आवश्यकता नहीं है। उत्पादन के लिए, क्रिप्टो (TRC20 पर USDT या Base पर USDC) के साथ टॉप-अप करें। क्रेडिट कभी समाप्त नहीं होता है, और त्रुटियाँ बैलेंस खर्च नहीं करती हैं। आपके पास प्रति खाता एक सक्रिय कुंजी होती है; एक नई कुंजी बनाने से पुरानी कुंजी बदल जाती है। अपनी कुंजी को सुरक्षित रखें और इसे Authorization हेडर में bearer टोकन के रूप में पास करें। API पूरी तरह से टेक्स्ट-आधारित है, बिना सेंसर वाले एक मॉडल को सेवा देता है जो बिना सामग्री अस्वीकृति के उत्तर देने के लिए अनुकूलित है।
बेस URL और प्रमाणीकरण
सभी अनुरोध https://api.apertus.cc/v1 पर भेजें। यह बेस URL आधिकारिक OpenAI SDKs और किसी भी संगत क्लाइंट के साथ काम करता है, बस एंडपॉइंट बदलकर। अपने API कुंजी को हेडर में शामिल करें: Authorization: Bearer YOUR_API_KEY। एकमात्र समर्थित एंडपॉइंट POST /v1/chat/completions है। GET /v1/models एंडपॉइंट कनेक्टिविटी सत्यापित करने के लिए भी उपलब्ध है। उपयोग करने के लिए मॉडल ID uncensored है। यह एक ओपन-वेट मॉडल है जो हमारे सर्वरों पर चलता है, जो GPT, Claude या अन्य विक्रेताओं से अलग है। यह टेक्स्ट इनपुट संभालता है और टेक्स्ट आउटपुट लौटाता है। एम्बेडिंग, छवियों या ऑडियो की उम्मीद न करें। API उन डेवलपर्स के लिए डिज़ाइन किया गया है जो मॉडल रूटिंग जटिलता के बिना एक सरल इंटीग्रेशन चाहते हैं।
पहला अनुरोध
अपनी सेटअप की जांच करने के लिए एक बेसिक कंप्लीशन अनुरोध भेजें। चैट कंप्लीशंस एंडपॉइंट पर POST करने के लिए curl कमांड का उपयोग करें। मॉडल को uncensored पर सेट करें और एक सरल संदेश शामिल करें। यह पुष्टि करता है कि आपकी API कुंजी काम करती है और बेस URL सही है। आप आवश्यकतानुसार temperature या max_tokens जैसे पैरामीटर समायोजित कर सकते हैं। प्रतिक्रिया में मॉडल का टेक्स्ट आउटपुट होगा। यदि आपको 401 त्रुटि मिलती है, तो अपनी कुंजी की जांच करें। 402 त्रुटि का अर्थ है अपर्याप्त क्रेडिट। 429 त्रुटि का अर्थ है कि आपने रेट लिमिट पर पहुँच लिया है। यह सरल अनुरोध बिना किसी मध्यस्थ के कच्चे API एक्सेस को प्रदर्शित करता है। यह अधिक जटिल तर्क बनाने से पहले अपनी इंटीग्रेशन को सत्यापित करने का सबसे तेज़ तरीका है।
Python इंटीग्रेशन
API के साथ इंटरैक्ट करने के लिए आधिकारिक openai Python SDK का उपयोग करें। बेस URL https://api.apertus.cc/v1 और अपनी API कुंजी के साथ क्लाइंट को इनिशियलाइज़ करें। मॉडल को uncensored पर सेट करें। संदेशों को शब्दकोशों की सूची के रूप में भेजें। SDK स्वचालित रूप से सीरियलाइज़ेशन और त्रुटि पार्सिंग संभालता है। यह दृष्टिकोण बैकएंड सेवाओं या डेटा प्रोसेसिंग स्क्रिप्ट्स के लिए आदर्श है। आप प्रतिक्रियाओं को स्ट्रीम कर सकते हैं या पूर्ण ब्लॉक प्राप्त कर सकते हैं। क्लाइंट कोड वही है जो आप OpenAI के लिए उपयोग करते, बस एक अलग बेस URL के साथ। यह अन्य प्रदाताओं से स्विच करते समय घर्षण को कम करता है। सर्वोतम संगतता के लिए नवीनतम SDK संस्करण सुनिश्चित करें। इंटीग्रेशन न्यूनतम है, जिसके लिए केवल मौजूदा क्लाइंट सेटअप में कॉन्फ़िगरेशन परिवर्तनों की आवश्यकता है।
Node.js इंटीग्रेशन
JavaScript या TypeScript वातावरण के लिए, openai npm पैकेज का उपयोग करें। Python में की तरह ही बेस URL और कुंजी के साथ क्लाइंट को कॉन्फ़िगर करें। chat.completions.create() को uncensored मॉडल के साथ कॉल करें। अपने संदेशों को मानक प्रारूप में पास करें। यह सर्वरलेस फ़ंक्शंस या Node.js बैकएंड्स के लिए अच्छा काम करता है। SDK HTTP अनुरोधों और प्रतिक्रिया पार्सिंग को प्रबंधित करता है। आप प्रतिक्रिया स्थिति की जांच करके त्रुटियों को सहजता से संभाल सकते हैं। कोड विभिन्न OpenAI-संगत सेवाओं के बीच पोर्टेबल रहता है। इससे यदि आवश्यक हो तो प्रदाता बदलना आसान हो जाता है। Node.js इंटीग्रेशन सिंक्रोनस और असिंक्रोनस दोनों पैटर्नों का समर्थन करता है। बिना सेंसर टेक्स्ट जनरेशन की आवश्यकता वाले APIs, बॉट्स या स्वचालित वर्कफ़्लो बनाने के लिए इसका उपयोग करें।
स्ट्रीमिंग प्रतिक्रियाएँ
अपने अनुरोध में stream: true सेट करके स्ट्रीमिंग सक्षम करें। API टेक्स्ट के चंक को जनरेट होते ही लौटाता है। यह लंबी प्रतिक्रियाओं के लिए अनुभूत विलंबता को सुधारता है। प्रत्येक चंक में कंप्लीशन का एक हिस्सा होता है। अंतिम चंक में टोकन उपयोग सांख्यिकी शामिल होती है। स्ट्रीमिंग Server-Sent Events (SSE) के माध्यम से समर्थित है। चंक को कुशलता से प्रोसेस करने के लिए SDK के स्ट्रीमिंग हेल्पर्स का उपयोग करें। यह चैट इंटरफ़ेस या रियल-टाइम एप्लिकेशन के लिए उपयोगी है। ध्यान दें कि स्ट्रीमिंग गैर-स्ट्रीमिंग की तरह ही टोकन खर्च करती है। त्रुटियाँ स्ट्रीम के बीच में हो सकती हैं, इसलिए विच्छेदों को संभालें। बिना सेंसर मॉडल डिफ़ॉल्ट रूप से स्ट्रीमिंग का समर्थन करता है। यह सुविधा आपको टेक्स्ट को क्रमिक रूप से प्रदर्शित करने की अनुमति देती है। यह आधुनिक LLM APIs में एक मानक सुविधा है। सुनिश्चित करें कि आपका क्लाइंट कोड आंशिक प्रतिक्रियाओं को सही ढंग से संभालता है।
सीमाएँ, त्रुटियाँ और कॉन्टेक्स्ट
कॉन्टेक्स्ट विंडो में प्रॉम्प्ट और पूर्णता सहित कुल 100,000 टोकन होते हैं। प्रति अनुरोध अधिकतम आउटपुट 32,000 टोकन है, या यदि max_tokens सेट नहीं है तो 2,048 है। रेट लिमिट प्रति मिनट 300 अनुरोध और प्रति कुंजी 8 समानांतर अनुरोध हैं। अनुरोध बॉडी 8 MB से कम होनी चाहिए। सामान्य त्रुटियों में अमान्य कुंजियों के लिए 401, क्रेडिट न होने के लिए 402 और रेट लिमिट के लिए 429 शामिल हैं। मॉडल किशोरों से संबंधित यौन सामग्री को अस्वीकार करता है। यह अन्य कानूनी वयस्क, काल्पनिक या विवादास्पद विषयों को अस्वीकार नहीं करता है। मूल्य पारदर्शी हैं: 1M इनपुट टोकन के लिए $0.25 और 1M आउटपुट टोकन के लिए $1.00। त्रुटियाँ मुफ्त हैं। क्रेडिट प्रीपेड है और कभी समाप्त नहीं होता है। इन सीमाओं का उपयोग अपनी एप्लिकेशन के स्केल की योजना बनाने के लिए करें। API उच्च-वॉल्यूम, लागत-प्रभावी टेक्स्ट जनरेशन के लिए डिज़ाइन किया गया है।
cURL
curl https://api.apertus.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.apertus.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apertus.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);स्ट्रीमिंग
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)