API और SDKगाइड
CheapTokens के साथ Anthropic Python SDK: Messages API
Anthropic Python SDK इंस्टॉल करें, base_url को CheapTokens पर इंगित करें, messages.create अनुरोध भेजें, और max_tokens सेट करें।

इस पृष्ठ पर
यदि आपका कोड पहले से ही Anthropic Python SDK का उपयोग करता है, तो किसी अन्य मॉडल को कॉल करने के लिए आपको इसे फिर से लिखने की आवश्यकता नहीं है। CheapTokens Anthropic Messages API को समझता है, इसलिए आप क्लाइंट सेटिंग्स बदलते हैं और client. को वैसे ही रखते हैं। यह गाइड आपको एक खाली फ़ोल्डर से एक ऐसी स्क्रिप्ट तक ले जाती है जो उत्तर प्रिंट करती है।
आपको क्या चाहिए#
- Python 3.10 या नया (SDK की आवश्यकता)।
- एक CheapTokens API कुंजी। यदि आपके पास अभी तक नहीं है, तो "What is an API key and how to store it safely" देखें।
- एक बैलेंस सभी मॉडलों को कवर करता है, और कोई पीक आवर्स नहीं हैं, इसलिए वही स्क्रिप्ट दिन के किसी भी समय समान लागत की होती है।
SDK इंस्टॉल करें#
pip install anthropic
export CHEAPTOKENS_API_KEY="your-key"कुंजी को स्रोत फ़ाइल में नहीं, बल्कि एक एनवायरनमेंट वेरिएबल में रखें।
क्लाइंट बनाएं#
डिफ़ॉल्ट Anthropic सेटअप से दो सेटिंग्स भिन्न हैं: कुंजी और base_url।
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["CHEAPTOKENS_API_KEY"],
base_url="https://api.cheaptokens.dev",
)SDK स्वयं /v1/messages पथ जोड़ता है, इसलिए base_url /v1 के बिना होस्ट है। (OpenAI-शैली का एंडपॉइंट, https:/, वह है जिसे आप OpenAI SDK के साथ उपयोग करते हैं; देखें "Your first API request with CheapTokens"।)
पहला अनुरोध#
message = client.messages.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explain what a token is in two sentences."}
],
)
print(message.content[0].text)
print(message.stop_reason, message.usage.input_tokens, message.usage.output_tokens)मॉडल आईडी CheapTokens दस्तावेज़ीकरण से लें; आईडी प्रदाताओं के बीच भिन्न होती हैं। यहाँ हम DeepSeek-V4-Flash का उपयोग करते हैं: 380K कॉन्टेक्स्ट विंडो और एक उत्तर में 32,768 टोकन तक, जो लंबे उत्तरों और एजेंट लूप के लिए उपयुक्त है।
उत्तर message.content में है, ब्लॉकों की एक सूची; पाठ पहले ब्लॉक में है। usage दिखाता है कि कॉल में कितने इनपुट और आउटपुट टोकन का उपयोग हुआ, जिसके लिए आपसे बिल लिया जाता है।
max_tokens आवश्यक है#
OpenAI API के विपरीत, messages.create max_tokens के बिना नहीं चलेगा। यह उत्तर की लंबाई को सीमित करता है:
- बहुत कम, और उत्तर कट जाता है। तब
message.stop_ reason "end_turn"के बजाय"max_tokens"होता है। - DeepSeek-V4-Flash के लिए आप पूर्ण फ़ाइलों या रिपोर्टों जैसे लंबे उत्तरों के लिए 32,768 तक जा सकते हैं।
- आप वास्तव में उत्पन्न टोकन के लिए भुगतान करते हैं, न कि आपके द्वारा निर्धारित सीमा के लिए।
यदि कोई उत्तर वाक्य के बीच में रुक जाता है, तो पूरी व्याख्या के लिए "Why does an AI answer stop mid-sentence?" पढ़ें।
मॉडल बदलना#
केवल model स्ट्रिंग बदलती है; स्क्रिप्ट का बाकी हिस्सा वही रहता है। कार्य के अनुसार चुनें:
- DeepSeek-V4-Flash: लंबे उत्तर और एजेंट लूप, किसी भी समय एक मूल्य, 32,768 आउटपुट टोकन तक।
- GLM-5.3-Flash: सस्ती रोज़मर्रा की चैट और कोडिंग कॉल, 390K कॉन्टेक्स्ट, 8,192 आउटपुट टोकन तक।
- MiniMax-M2.7: कम लागत वाला एजेंट और कोडिंग कार्य, 180K कॉन्टेक्स्ट, 8,192 आउटपुट टोकन तक।
उपलब्ध आईडी की सूची GET https:/ द्वारा लौटाई जाती है, उदाहरण के लिए zai- और MiniMaxAI/।
MiniMax-M2.7 के लिए प्रति 1M टोकन की वर्तमान कीमतें इनपुट के लिए $0.05 और आउटपुट के लिए $0.15 हैं। MiniMax-M2.7 कुल मिलाकर OpenRouter से सस्ता है, इनपुट और आउटपुट को एक साथ गिना गया है। यहाँ प्रत्येक मॉडल पर 2,000 इनपुट और 500 आउटपुट टोकन वाले अनुरोध की लागत दी गई है, सीधे मूल्य सूची से:
| मॉडल | इनपुट $/1M | आउटपुट $/1M | लागत | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00006 | $0.00012 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00008 | $0.00017 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00018 | $0.0012 |
कुल 2,000 इनपुट और 500 आउटपुट टोकन। प्रति 1M टोकन की कीमतें वर्तमान हैं और हमारे टैरिफ के साथ बदलती रहती हैं; OpenRouter कॉलम समान कार्यभार के लिए संदर्भ कीमतें दिखाता है।
GLM-5.3-Flash और MiniMax-M2.7 कुल मिलाकर OpenRouter से सस्ते हैं, इनपुट और आउटपुट को एक साथ गिना गया है।
अगला कदम#
एक कुंजी बनाएं और पहला अनुरोध अनुभाग से स्क्रिप्ट चलाएं। जब यह उत्तर प्रिंट करता है, तो अपने कार्य पर मॉडलों की तुलना करने के लिए model स्ट्रिंग बदलें।



