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 |
Chat completions — প্রাথমিক এন্ডপয়েন্ট |
POST /v1/completions |
Legacy text completions |
POST /v1/messages |
Anthropic Messages ফরম্যাট |
POST /v1/responses |
Responses API (Codex) |
POST /v1/embeddings |
Text embeddings |
GET /v1/models |
উপলব্ধ মডেলগুলোর তালিকা |
Chat completions¶
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 এবং রিজনিং¶
Claudinio মডেলগুলো উত্তর দেওয়ার আগে রিজন করে, এবং রিজনিং টোকেন max_tokens-এর বিপরীতে গণনা করা হয় — একই বাজেট অভ্যন্তরীণ চেইন-অফ-থট এবং দৃশ্যমান উত্তর উভয়ই কভার করে। তাই একটি ছোট max_tokens প্রায় পুরোটাই রিজনিং-এ ব্যয় হতে পারে, যার ফলে উত্তর বাক্যের মাঝখানে কেটে যায়।
এটি প্রতিরোধ করতে, ৪০০০-এর নিচের মানগুলো স্বয়ংক্রিয়ভাবে ৪০০০-এ উন্নীত করা হয়। বড় মানগুলো অপরিবর্তিত রাখা হয়, এবং প্যারামিটারটি বাদ দেওয়া সবসময় ঠিক।
আপনি যদি স্ট্রাকচার্ড আউটপুট (JSON, XML, একটি কঠোর ফরম্যাট) পার্স করেন, তাহলে পার্স করার আগে finish_reason চেক করুন — "length" মানে উত্তর টোকেন সীমায় পৌঁছেছে এবং অসম্পূর্ণ, তাই একটি পার্স ব্যর্থতা মডেল-দোষের পরিবর্তে প্রত্যাশিত:
choice = response.choices[0]
if choice.finish_reason == "length":
... # ছেঁটে ফেলা হয়েছে — একটি বড় max_tokens দিয়ে পুনরায় চেষ্টা করুন
data = json.loads(choice.message.content)
স্ট্রিমিং¶
"stream": true সেট করলে OpenAI স্ট্রিমিং ফরম্যাটে সার্ভার-সেন্ট ইভেন্ট গ্রহণ করবেন (data: {...} চাঙ্কগুলো data: [DONE] দ্বারা সমাপ্ত)।
টুল / ফাংশন কলিং¶
claudinio টুল কল সমর্থন করে। tools পাস করুন এবং প্রতিক্রিয়া থেকে tool_calls পড়ুন, ঠিক OpenAI API-র মতো। এটিই একে Claude Code, Kilo, এবং Cursor-এর মতো এজেন্টিক এডিটরগুলোর মধ্যে কাজ করার উপযোগী করে।
মাল্টিমোডাল ইনপুট¶
claudinio একটি টেক্সট মডেল, কিন্তু Claudin.io স্বচ্ছভাবে ইমেজ, অডিও এবং ভিডিও ব্লক হ্যান্ডেল করে: আপনি যদি সেগুলো পাঠান, তবে মডেল সেগুলো দেখার আগে প্রক্সি সেগুলোকে টেক্সট বিবরণ/প্রতিলিপিতে রূপান্তর করে। আপনাকে বিশেষ কিছু করতে হবে না — স্ট্যান্ডার্ড OpenAI কন্টেন্ট ব্লক পাঠান এবং এটি কাজ করে।
ত্রুটি¶
ত্রুটিগুলো OpenAI ত্রুটির আকৃতি অনুসরণ করে:
| স্ট্যাটাস | অর্থ | কী করতে হবে |
|---|---|---|
401 |
অবৈধ বা অনুপস্থিত API কী | কী এবং অথ হেডার চেক করুন |
403 |
এন্ডপয়েন্ট অনুমোদিত নয় | সমর্থিত /v1/* পাথগুলোর একটি ব্যবহার করুন |
429 |
বাজেট ক্যাপ পৌঁছেছে বা রেট-লিমিটেড | উইন্ডো রিসেটের জন্য অপেক্ষা করুন বা আপগ্রেড করুন |
400 |
ভুলভাবে তৈরি অনুরোধ | আপনার JSON/প্যারামিটার চেক করুন |
5xx |
আপস্ট্রিম/প্রোভাইডার সমস্যা | ব্যাকঅফ সহ পুনরায় চেষ্টা করুন |
প্রোভাইডার বিবরণ ডিজাইন অনুযায়ী লুকানো
ত্রুটির বার্তাগুলো স্যানিটাইজ করা হয় যাতে তারা অন্তর্নিহিত মডেল প্রোভাইডার প্রকাশ না করে। আপনি সবসময় Claudin.io-ব্র্যান্ডেড, OpenAI-আকৃতির ত্রুটিগুলো দেখতে পাবেন।
বাজেট ক্যাপ পৌঁছানো¶
যখন আপনি বর্তমান উইন্ডোর খরচ সুরক্ষা শেষ করেন, অনুরোধগুলো একটি বাজেট ত্রুটি (সাধারণত 429) ফেরত দেয়। আপনার ড্যাশবোর্ডে সঠিক রিসেট সময় এবং অবশিষ্ট বাজেট দেখানো হয়। উইন্ডোগুলো কীভাবে কাজ করে তা জানতে প্ল্যান ও সীমা দেখুন।
রেট লিমিটিং¶
Claudin.io সাধারণ ব্যবহার কঠোরভাবে ব্লক করে না। অপব্যবহারকারী অনুরোধের হার ধীর করা হয় (একটি স্বচ্ছ থ্রটল) প্রত্যাখ্যানের পরিবর্তে, তাই ভালো আচরণকারী ক্লায়েন্ট কখনো শাস্তি পায় না। বাস্তবে আপনাকে কিছু করতে হবে না — বিরল 429-এ পুনরায় চেষ্টা করুন।