API حوالہ¶
Claudin.io ایک OpenAI کے ساتھ مطابقت رکھنے والا API ہے۔ اگر آپ نے OpenAI API استعمال کیا ہے تو یہاں سب کچھ مانوس ہے — بس Claudin.io کے بیس URL کی طرف اشارہ کریں اور claudinio ماڈل استعمال کریں۔
بیس URL¶
OpenAI طرز کے راستے /v1 کے تحت ہیں۔
تصدیق¶
اپنی API کلید ہر درخواست کے ساتھ بھیجیں، ان میں سے کسی ایک ہیڈر کی صورت میں:
ماڈل¶
| ماڈل آئی ڈی | سیاق و سباق کی ونڈو |
|---|---|
claudinio |
256K ٹوکنز |
ہر جگہ claudinio استعمال کریں۔ (کچھ کلائنٹس provider/model کی شکل کی توقع رکھتے ہیں — ان کے لیے، claudinio/claudinio استعمال کریں۔)
اینڈ پوائنٹس¶
| طریقہ اور راستہ | تفصیل |
|---|---|
POST /v1/chat/completions |
چیٹ تکمیلات — بنیادی اینڈ پوائنٹ |
POST /v1/completions |
لیگیسی ٹیکسٹ تکمیلات |
POST /v1/messages |
Anthropic Messages فارمیٹ |
POST /v1/responses |
Responses API (Codex) |
POST /v1/embeddings |
ٹیکسٹ ایمبیڈنگز |
GET /v1/models |
دستیاب ماڈلز کی فہرست |
چیٹ تکمیلات¶
curl https://api.claudin.io/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "claudinio",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a haiku about proxies."}
],
"temperature": 0.7
}'
معیاری OpenAI پیرامیٹرز تعاون یافتہ ہیں: messages, temperature, top_p, max_tokens, stream, stop, tools / tool_choice (فنکشن کالنگ), response_format، اور اسی طرح کے دیگر۔ دو کی ایسی حدود ہیں جنہیں بھیجنے سے پہلے جاننا ضروری ہے: max_tokens کو ایک کم از کم اور زیادہ سے زیادہ حد کے درمیان محدود کیا جاتا ہے، اور n کا 1 ہونا ضروری ہے۔
max_tokens اور استدلال¶
Claudinio ماڈل جواب دینے سے پہلے استدلال کرتے ہیں، اور استدلال کے ٹوکنز max_tokens میں شمار ہوتے ہیں — یہی بجٹ اندرونی سوچ کا سلسلہ اور ظاہر ہونے والا جواب دونوں کا احاطہ کرتا ہے۔ چھوٹا max_tokens اس لیے تقریباً مکمل طور پر استدلال پر خرچ ہو سکتا ہے، جواب جملے کے بیچ میں کٹ کر رہ جاتا ہے۔
اس سے بچنے کے لیے، 32000 سے کم اقدار خود بخود بڑھا کر 32000 کر دی جاتی ہیں۔ دوسری طرف، 393216 سے زیادہ اقدار کم کر کے 393216 کر دی جاتی ہیں — ماڈلز کی زیادہ سے زیادہ حد — کیونکہ اس سے بڑی تعداد کو یکسر مسترد کر دیا جاتا ہے، نہ کہ "جتنا چاہیں" سمجھ کر قبول کیا جاتا ہے۔ ان دونوں کے درمیان کوئی بھی قدر بغیر کسی تبدیلی کے گزر جاتی ہے، اور پیرامیٹر کو چھوڑ دینا ہمیشہ درست ہے۔
max_tokens ایک حد ہے، کوئی ریزرویشن نہیں: آپ سے صرف انہی ٹوکنز کا بل آتا ہے جو دراصل پیدا ہوئے، اس لیے فراخدلانہ قیمت کا کوئی اضافی خرچ نہیں ہوتا۔
اگر آپ ساختہ آؤٹ پٹ (JSON, XML، یا کوئی سخت فارمیٹ) پارس کرتے ہیں تو پارس کرنے سے پہلے finish_reason چیک کریں — "length" کا مطلب ہے کہ جواب ٹوکن کی حد کو چھو گیا اور نامکمل ہے، اس لیے پارس کی ناکامی ایک متوقع معاملہ ہے، نہ کہ ماڈل کی خرابی کا مسئلہ:
choice = response.choices[0]
if choice.finish_reason == "length":
... # truncated — retry with a larger max_tokens
data = json.loads(choice.message.content)
متعدد تکمیلات (n)¶
صرف n = 1 تعاون یافتہ ہے۔ 1 سے بڑا n بھیجنے پر 400 واپس آتا ہے جس کے ساتھ "code": "unsupported_parameter" ہوتا ہے؛ پیرامیٹر چھوڑ دینا ہمیشہ محفوظ ہے۔
Claudinio ماڈل جواب دینے سے پہلے استدلال کرتے ہیں، اور استدلال کا عمل سوچ کی صرف ایک لائن پیدا کرتا ہے — اسے کئی آزاد امیدواروں میں تقسیم کرنے کا کوئی سستا طریقہ نہیں، اس لیے اپ اسٹریمز بھی کوئی پیش نہیں کرتے۔ اگر آپ ایک سے زیادہ امیدوار چاہتے ہیں تو درخواست ایک سے زیادہ بار بھیجیں (زیادہ temperature آپ کو تنوع دیتا ہے)، اور یاد رکھیں کہ ہر ایک پر الگ بل لگتا ہے۔
ہم n > 1 کو مسترد کرتے ہیں بجائے اس کے کہ خاموشی سے ایک ہی نتیجہ واپس کریں: ایک کلائنٹ جس نے چار مانگے اور اسے ایک ملا، عام طور پر بعد میں اپنے ہی کوڈ کے اندر ناکام ہوتا ہے، ہماری طرف سے کوئی ایسی خرابی نہ ہونے کے باوجود جو وجہ بتا سکے۔
اسٹریمنگ¶
OpenAI اسٹریمنگ فارمیٹ میں سرور کی طرف سے بھیجے گئے واقعات حاصل کرنے کے لیے "stream": true سیٹ کریں (data: {...} کے حصے جن کا اختتام data: [DONE] پر ہوتا ہے)۔
ٹول / فنکشن کالنگ¶
claudinio ٹول کالز کو سپورٹ کرتا ہے۔ tools پاس کریں اور جواب سے tool_calls واپس پڑھیں، بالکل ویسے ہی جیسے OpenAI API کے ساتھ۔ یہی چیز اسے Claude Code، Kilo Code، اور Cursor جیسے ایجنٹک ایڈیٹرز کے اندر کام کرنے کے قابل بناتی ہے۔
ملٹی موڈل ان پٹ¶
claudinio ایک ٹیکسٹ ماڈل ہے، لیکن Claudin.io تصاویر، آڈیو، اور ویڈیو بلاکس کو شفاف طریقے سے سنبھالتا ہے: اگر آپ انہیں بھیجتے ہیں تو پراکسی ماڈل کے دیکھنے سے پہلے انہیں متن کی تفصیل/نقل میں تبدیل کر دیتی ہے۔ آپ کو کچھ خاص کرنے کی ضرورت نہیں — معیاری OpenAI کنٹینٹ بلاکس بھیجیں اور یہ بس کام کر جاتا ہے۔
خرابیاں¶
خرابیاں OpenAI خرابی کی شکل کی پیروی کرتی ہیں:
| اسٹیٹس | معنی | کیا کرنا ہے |
|---|---|---|
401 |
غلط یا غائب API کلید | کلید اور auth ہیڈر چیک کریں |
403 |
اینڈ پوائنٹ کی اجازت نہیں | معاون /v1/* راستوں میں سے ایک استعمال کریں |
402 |
کوئی فعال سبسکرپشن نہیں | سبسکرائب کریں — دوبارہ کوشش کرنے سے فائدہ نہیں ہوگا |
429 |
بجٹ کی حد پوری ہو گئی یا شرح محدود کر دی گئی | ونڈو کے ری سیٹ ہونے کا انتظار کریں (Retry-After ہیڈر دیکھیں) یا اپ گریڈ کریں |
400 |
خراب درخواست | اپنا JSON / پیرامیٹرز چیک کریں — max_tokens اور n دیکھیں |
5xx |
اپ اسٹریم/پروائیڈر رکاوٹ | بیک آف کے ساتھ دوبارہ کوشش کریں |
پروائیڈر کی تفصیلات ڈیزائن کے لحاظ سے پوشیدہ ہیں
خرابی کے پیغامات صاف کیے جاتے ہیں تاکہ وہ بنیادی ماڈل پروائیڈر کو ظاہر نہ کریں۔ آپ کو ہمیشہ Claudin.io-برانڈڈ، OpenAI-شکل والی خرابیاں نظر آئیں گی۔
بجٹ کی حد تک پہنچنا¶
جب آپ موجودہ ونڈو کی اخراجات کی حفاظت ختم کر دیتے ہیں تو درخواستیں 429 واپس کرتی ہیں، ساتھ Retry-After ہیڈر جو ونڈو کے ری سیٹ ہونے تک کے سیکنڈ دیتا ہے۔ آپ کا ڈیش بورڈ عین ری سیٹ کا وقت اور باقی بجٹ دکھاتا ہے۔ فوری دوبارہ کوشش کرنے کے بجائے اس ہیڈر کی بنیاد پر بیک آف کریں۔ ونڈوز کیسے کام کرتی ہیں اس کے لیے منصوبے اور حدود دیکھیں۔
429 کے بجائے ایک پیغام¶
چند ایک اکاؤنٹس پر ہم اسی صورتِ حال کے لیے ایک مختلف جواب آزما رہے ہیں۔ خرابی کے بجائے درخواست مکمل ہو جاتی ہے اور جواب خود بتاتا ہے کہ حد پوری ہو چکی ہے اور وہ کب دوبارہ مقرر ہوگی۔ ہم یہ ماپ رہے ہیں کہ آیا اس طرح معلومات لوگوں تک اُس خرابی کی نسبت زیادہ بھروسے سے پہنچتی ہیں جسے اُن کا ایجنٹ خاموشی سے نگل جاتا ہے — اور یہ کہ صاف بتائے جانے پر کیا وہ اپنے کام کے مطابق پلان پر جانا پسند کرتے ہیں۔
اگر آپ آٹومیشن بنا رہے ہیں تو 2xx کو "کام ہو گیا" نہ سمجھیں۔ جو جواب کہے کہ
حد پوری ہو چکی ہے، اُسے حد کا پورا ہونا ہی سمجھیں اور ونڈو دوبارہ مقرر ہونے تک
رُک جائیں۔ اوپر دیا گیا 429 اب بھی طے شدہ رویہ ہے اور تقریباً ہر اکاؤنٹ کو وہی
ملتا ہے۔
شرح کی حد بندی¶
Claudin.io عام استعمال کو سختی سے بلاک نہیں کرتا۔ غلط استعمال کی شرح کو مسترد کرنے کے بجائے سست کیا جاتا ہے (ایک شفاف تھروٹل)، اس لیے اچھے برتاؤ والے کلائنٹس کو کبھی سزا نہیں ملتی۔ عملی طور پر آپ کو کچھ کرنے کی ضرورت نہیں — شاذ و نادر 429 پر بس دوبارہ کوشش کریں۔