HI ▾
API कुंजी पाएँ

GLM API Base URL: किसी भी OpenAI क्लाइंट को कनेक्ट करें

इस सेवा के लिए glm API का बेस URL https://api.glmapi.cc/v1 है, मॉडल ID uncensored है, और प्रमाणीकरण एक मानक Bearer कुंजी है। नीचे curl, Python, Node और सामान्य चैट फ्रंट-एंड्स के लिए सटीक सेटिंग्स दी गई हैं, साथ ही वे गलतियाँ जो अधिकांश पहली कॉल विफल होने के कारण हैं।

मुख्य बिंदु

  • बेस URL: https://api.glmapi.cc/v1. मॉडल: uncensored. हेडर: Authorization: Bearer <key>.
  • दो एंडपॉइंट्स: POST /v1/chat/completions और GET /v1/models।
  • अधिकांश कनेक्शन त्रुटियाँ /v1 की कमी, दोहराया गया पथ या चिपकाया गया trailing slash से आती हैं।
  • यह एक स्वतंत्र एंडपॉइंट है, GLM के पीछे के वेंडर या किसी अन्य वेंडर की आधिकारिक API नहीं है।
एक चमकदार केबल से जुड़ा टर्मिनल एक सर्वर से, जो एक क्लाइंट को एक नए API बेस URL की ओर इशारा करते हुए दिखाता है

आपको जिन तीन मानों की आवश्यकता है

एक glm api base url सवाल आमतौर पर उस व्यक्ति से आता है जिसके पास एक क्लाइंट होता है जो एक URL, एक कुंजी और एक मॉडल नाम चाहता है, और यह नहीं पता होता कि कौन से मान कहाँ जाते हैं। यहाँ वे सभी एक ही जगह पर हैं।

सेटिंगमान
बेस URLhttps://api.glmapi.cc/v1
मॉडल IDuncensored
Auth हेडरAuthorization: Bearer YOUR_KEY
Chat एंडपॉइंटPOST /v1/chat/completions
मॉडल सूचीGET /v1/models

कुछ भी कॉपी करने से पहले एक स्पष्टीकरण। डोमेन पर नाम खोज शब्द को संदर्भित करता है, न कि मॉडल को। यह एक ओपन-वेट मॉडल के लिए एक होस्टेड, OpenAI-कम्पैटिबल टेक्स्ट API है जिसे एक स्वतंत्र प्रदाता द्वारा चलाया जाता है, वयस्कों के वैध उपयोग के लिए, सामग्री अस्वीकार किए बिना उत्तर देने हेतु ट्यून किया गया है। यह GLM के पीछे के विक्रेता की आधिकारिक API नहीं है, और न ही यह अन्य विक्रेताओं को अनुरोध भेजने वाला एक राउटर है। यदि आपको एक आधिकारिक GLM मॉडल की आवश्यकता है, तो उस विक्रेता की अपनी सेवा का उपयोग करें।

आप Google या ईमेल और पासवर्ड से साइन अप करके एक कुंजी प्राप्त करते हैं। API कुंजी पेज पर एक क्लिक से $0.50 का ट्रायल भी उपलब्ध है, जो 7 दिनों के लिए मान्य है और जिसमें कार्ड की आवश्यकता नहीं है।

curl के साथ कनेक्शन जाँचें

किसी भी SDK या ऐप को छूने से पहले, एक सादे अनुरोध के साथ कुंजी और URL की पुष्टि करें। यदि यह काम करता है, तो हर बाद की समस्या आपके क्लाइंट कॉन्फ़िगरेशन में है, खाते में नहीं। सबसे पहले, मॉडल की सूची बनाएँ:

curl https://api.glmapi.cc/v1/models \
  -H "Authorization: Bearer YOUR_KEY"

आपको एक JSON सूची मिलनी चाहिए जिसमें id uncensored शामिल हो। फिर एक चैट पूर्णता भेजें:

curl https://api.glmapi.cc/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Reply with the word ready."}],
    "max_tokens": 20
  }'

प्रतिक्रिया हेडर देखने के लिए -i जोड़ें। उनमें X-Request-Id, X-Balance-USD (आपका शेष क्रेडिट), X-RateLimit-Limit-Requests और X-RateLimit-Limit-Concurrency शामिल हैं। यदि आपको किसी कॉल के बारे में सहायता से पूछने की आवश्यकता हो, तो अनुरोध ID को रखें।

Python और Node

दोनों आधिकारिक OpenAI SDKs एक कस्टम बेस URL स्वीकार करते हैं। आप दो कंस्ट्रक्टर तर्कों और मॉडल नाम को बदलते हैं; आपके कोड का बाकी हिस्सा वैसा ही रहता है।

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://api.glmapi.cc/v1",
    api_key="YOUR_KEY",
)

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Give me three names for a tavern."}],
)
print(resp.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.glmapi.cc/v1",
  apiKey: process.env.GLM_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Give me three names for a tavern." }],
});
console.log(resp.choices[0].message.content);

Node प्रॉपर्टी baseURL है, जबकि Python आर्गुमेंट base_url है। इन्हें मिलाना एक क्लासिक तरीका है जिससे SDK के डिफ़ॉल्ट होस्ट पर चुपचाप फॉलबैक हो जाता है और गलत सर्वर से प्रमाणीकरण त्रुटि मिलती है।

कोड के बजाय एन्वायरनमेंट वेरिएबल्स

जब आप उन्हें स्पष्ट रूप से पास नहीं करते हैं, तो OpenAI SDKs एन्वायरनमेंट से OPENAI_BASE_URL और OPENAI_API_KEY पढ़ते हैं। यह एक ऐसे टूल को रीटार्गेट करने का सबसे कम आक्रामक तरीका है जिसे आप एडिट नहीं कर सकते, जैसे कि एक रिपॉजिटरी से स्क्रिप्ट या एक फ्रेमवर्क जो आपके लिए क्लाइंट बनाता है।

export OPENAI_BASE_URL="https://api.glmapi.cc/v1"
export OPENAI_API_KEY="YOUR_KEY"
python my_existing_script.py

आपको अभी भी टूल या उसके कॉन्फ़िगरेशन फ़ाइल के अंदर मॉडल नाम को uncensored पर सेट करना होगा, क्योंकि कोई एन्वायरनमेंट वेरिएबल इसे नहीं ले जाता है। यदि टूल में एक मॉडल ड्रॉपडाउन है जो केवल उन नामों की सूची दिखाता है जिन्हें वह जानता है, तो एक कस्टम मॉडल या फ्री-टेक्स्ट विकल्प खोजें।

मानों को एक ही जगह रखें

एक बार कनेक्शन काम करने के बाद, URL को पाँच फ़ाइलों में पेस्ट करने से बचें। तीन मानों को एक जगह रखें और बाकी जगहों पर उन्हें पढ़ें। एक .env फ़ाइल छोटे प्रोजेक्टों के लिए काम करती है:

GLM_BASE_URL=https://api.glmapi.cc/v1
GLM_API_KEY=YOUR_KEY
GLM_MODEL=uncensored

फिर उन्हें स्टार्ट-अप पर एक बार लोड करें और एक एकल क्लाइंट बनाएँ जिसे कार्यक्रम का बाकी हिस्सा इम्पोर्ट करता है। लाभ उस दिन दिखाई देता है जब आप कुंजियाँ बदलते हैं, एक ट्रायल बैलेंस के साथ एक स्टेजिंग कुंजी जोड़ते हैं, या इस एंडपॉइंट की तुलना किसी अन्य से करते हैं। आप अपना कोडबेस नहीं, बल्कि एक फ़ाइल एडिट करते हैं।

जहाँ खाता अनुमति देता है, डेवलपमेंट और प्रोडक्शन के लिए अलग कुंजियाँ रखें, और यदि कोई कुंजी एक कॉमिट, एक स्क्रीनशॉट या एक शेयर्ड लॉग में दिखाई देती है तो तुरंत उसे रोटेट करें। एक लीक हुई कुंजी आपके प्रीपेड क्रेडिट को खर्च करती है, और क्रेडिट वापस नहीं आता।

चैट ऐप्स और फ्रेमवर्क्स

फ्रंट एंड शब्दावली में भिन्न होते हैं लेकिन एक ही तीन मानों की मांग करते हैं। OpenAI-compatible, custom OpenAI या इसी तरह के किसी कनेक्शन प्रकार के लिए देखें, फिर भरें:

  • API URL / बेस URL: https://api.glmapi.cc/v1
  • API कुंजी: आपके खाते से प्राप्त कुंजी
  • मॉडल: uncensored

SillyTavern आपको अपनी कस्टम चैट कंप्लीशन स्रोत के माध्यम से एक OpenAI-compatible एंडपॉइंट जोड़ने की अनुमति देता है, और Open WebUI के सेटिंग्स में एक OpenAI-compatible कनेक्शन प्रकार है। LangChain जैसे फ्रेमवर्क्स अपने चैट मॉडल क्लास पर एक base_url लेते हैं, और LiteLLM एक कस्टम API बेस के माध्यम से एक OpenAI-शैली वाले मॉडल को रूट कर सकता है। मेनू के नाम संस्करणों के बीच बदल जाते हैं, इसलिए फ़ील्ड सटीक रूप से कहाँ है, इसके लिए प्रत्येक प्रोजेक्ट की वर्तमान दस्तावेज़ीकरण का पालन करें।

कुछ ऐप्स पूछते हैं कि क्या उन्हें /chat/completions को आपके लिए जोड़ना चाहिए। कई ऐसा करते हैं, जिसका अर्थ है कि आपका URL /v1 पर समाप्त होना चाहिए। यदि कोई ऐप इसके बजाय पूरा एंडपॉइंट मांगता है, तो उसे https://api.glmapi.cc/v1/chat/completions दें। क्विकस्टार्ट समर्थित अनुरोध फ़ील्ड्स को अधिक विस्तार से दिखाता है।

पहली कॉल क्यों फेल होती है

यदि curl टेस्ट पास हो जाता है और आपके एप्लिकेशन में फिर भी त्रुटि आती है, तो कारण लगभग हमेशा इनमें से कोई एक होता है:

  • /v1 की कमी। केवल https://api.glmapi.cc का उपयोग करने से अधिकांश मामलों में not-found त्रुटि आएगी, क्योंकि राउट्स /v1 के अंतर्गत स्थित हैं।
  • दोहरा पथ। एप्लिकेशन /chat/completions जोड़ देता है और आप इसे टाइप भी करते हैं, जिससे /chat/completions/chat/completions बनता है। इसे बेस URL से हटा दें।
  • ट्रेलिंग स्लैश। कुछ क्लाइंट पथों को खराब तरीके से जोड़ते हैं। यदि लॉग किए गए URL में डबल स्लैश दिखाई देता है, तो अंतिम / को हटा दें।
  • गलत मॉडल नाम। एकमात्र मॉडल ID uncensored है। अन्य सेवाओं से नाम मिलेंगे नहीं।
  • कुंजी से जुड़ी समस्याएं। पेस्ट करते समय यादृच्छिक स्पेस या लाइन ब्रेक के लिए जांच करें, और जांचें कि क्या कुंजी को Bearer के रूप में दो बार भेजा जा रहा है (एक ऐप जो पहले से ही प्रीफिक्स जोड़ता है)।
  • गलत होस्ट को कॉल करना। ब्राउज़र ऐप में, एक सेट न किया गया बेस URL SDK के डिफ़ॉल्ट पर फॉलबैक करता है। वास्तविक अनुरोध URL को लॉग करें।

ब्राउज़र-साइड कॉल्स में आपकी कुंजी उन सभी के लिए उजागर होती है जो डेव टूल्स खोलते हैं। एक सार्वजनिक साइट के लिए, अनुरोधों को अपने सर्वर से भेजें और कुंजी को वहीं रखें।

जब कोई भी कारण स्पष्ट न करे, तो सबसे छोटे मामले से पीछे की ओर काम करें। विफल ऐप वाली उसी मशीन पर ऊपर दिए गए curl कमांड को चलाएं। यदि curl वहां सफल होता है, तो नेटवर्क और कुंजी ठीक हैं और ऐप अनुरोध अलग बना रहा है, इसलिए उसका डीबग लॉगिंग चालू करें और लॉग किए गए URL, हेडर और JSON बॉडी को curl संस्करण के साथ, अक्षर-दर-अक्षर तुलना करें। यदि curl केवल उसी मशीन पर विफल होता है, तो कॉर्पोरेट प्रॉक्सी, VPN नियम और DNS फ़िल्टर देखें, जो कभी-कभी अजनबी API होस्टनेम को ब्लॉक करते हैं। एक अनुरोध जो कभी सर्वर तक नहीं पहुंचता, उसमें X-Request-Id नहीं होता, जो दो मामलों को अलग करने का एक तेज़ तरीका है।

सीमाएं और 429 प्रतिक्रियाएं

एक पूर्ण कुंजी 8 समानांतर अनुरोधों और प्रति मिनट 300 अनुरोधों की अनुमति देती है। एक ट्रायल कुंजी 2 और 60 की अनुमति देती है। किसी भी एक को पार करने पर API HTTP 429 लौटाता है, जिसमें कोड rate_limited (प्रति मिनट बहुत अधिक) या concurrency (एक साथ बहुत अधिक)। अस्थायी ओवरलोड के दौरान आपको Retry-After: 5 हेडर के साथ भी 429 मिलता है।

एक स्ट्रीमिंग अनुरोध कॉन्करेंसी स्लॉट को स्ट्रीम समाप्त होने तक पकड़े रखता है, इसलिए एक ऐप जो स्ट्रीम खोल देता है और कनेक्शन बंद किए बिना उसे छोड़ देता है, वह अपने ही स्लॉट खत्म कर सकता है। अधिकतम अनुरोध बॉडी 8 MB है, और कॉन्टेक्स्ट विंडो 100,000 टोकन की है जो प्रॉम्प्ट और कंप्लीशन दोनों को मिलाकर कवर करती है। रेट और टॉप-अप के लिए, मूल्य निर्धारण पेज देखें।

स्ट्रीमिंग, टूल्स और JSON एक ही URL का उपयोग करते हैं

स्ट्रीमिंग या फ़ंक्शन कॉलिंग के लिए कोई अलग पता नहीं है। सब कुछ /v1/chat/completions पर जाता है, और आप अनुरोध बॉडी में सुविधाएं चालू करते हैं। एक स्ट्रीमिंग अनुरोध "stream": true सेट करता है और सर्वर-सेंट इवेंट लौटाता है; टूल्स वाले अनुरोध में tools और वैकल्पिक रूप से tool_choice जोड़ता है; JSON मोड response_format के साथ json_object प्रकार जोड़ता है। सैंपलिंग फ़ील्ड जैसे temperature, top_p, stop, seed और पेनल्टी पास-थ्रू होती हैं।

यहाँ एक स्ट्रीमिंग curl कॉल है। -N फ्लैग curl के आउटपुट बफरिंग को बंद कर देता है, इसलिए आप चंक को आते ही देख सकते हैं:

curl -N https://api.glmapi.cc/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","stream":true,"messages":[{"role":"user","content":"Count to five."}]}'

यदि आपका प्रॉक्सी या होस्टिंग परत प्रतिक्रियाओं को बफर करता है, तो स्ट्रीमिंग एक बड़ी देरी वाली प्रतिक्रिया जैसी दिखेगी। रिवर्स प्रॉक्सी को अक्सर सर्वर-सेंट इवेंट्स के लिए रिस्पॉन्स बफरिंग बंद करने की आवश्यकता होती है, इसलिए API को दोष देने से पहले उस सेटिंग को जांचें। प्रत्येक फीचर के लिए एक काम करने वाले Python संस्करण के लिए, क्विकस्टार्ट देखें।

प्रश्न और उत्तर

इस API के लिए बेस URL क्या है?

https://api.glmapi.cc/v1. चैट अनुरोध इसके अंतर्गत /chat/completions पर जाते हैं, और मॉडल सूची /models पर है।

मुझे किस मॉडल नाम का उपयोग करना चाहिए?

uncensored का उपयोग करें। यह एकमात्र मॉडल ID है, और यह किसी भी OpenAI-शैली के क्लाइंट में काम करता है जहां आप कस्टम मॉडल टाइप कर सकते हैं।

क्या यह आधिकारिक GLM API है?

नहीं। यह एक स्वतंत्र, OpenAI-कम्पैटिबल सेवा है जो एक ओपन-वेट मॉडल चलाती है, और यह किसी भी विक्रेता की आधिकारिक API नहीं है।

कुंजी कौन सा हेडर ले जाता है?

Authorization: Bearer उसके बाद आपकी कुंजी। OpenAI SDKs जब आप कुंजी पास करते हैं तो यह आपके लिए इसे जोड़ते हैं।

क्या कनेक्शन का परीक्षण करने के लिए मुझे कार्ड की आवश्यकता है?

नहीं। साइन-अप करने के बाद, API कुंजी पृष्ठ पर $0.50 का एक-क्लिक ट्रायल, जो 7 दिनों के लिए मान्य है, उपलब्ध है।

आपकी कुंजी बस एक फ़ॉर्म दूर है

एक खाता बनाएँ, कुंजी कॉपी करें, बेस URL बदलें। सेटअप यही है।

API कुंजी प्राप्त करेंदस्तावेज़ पढ़ें