Felo API PlatformFelo API Platform

গাইড

চ্যানেল ও প্রোভাইডার রাউটিং

X-Felo-Channel দিয়ে একটি মডেল নির্দিষ্ট প্রোভাইডারে পিন করুন এবং ডিফল্ট রাউটিং, মূল্য ও fallback নিয়ম বুঝুন।

একটি মডেল একাধিক আপস্ট্রিম প্রোভাইডারের মাধ্যমে পরিবেশিত হতে পারে। ডিফল্টভাবে Felo আপনার জন্য একটি প্রোভাইডার বেছে নেয়। আপনার নির্দিষ্ট সরবরাহকারী দরকার হলে এক বা একাধিক পাবলিক চ্যানেল কোডসহ X-Felo-Channel অনুরোধ header পাঠান।

সমর্থিত endpoint

প্রতিটি Model API জেনারেশন endpoint-এ X-Felo-Channel গৃহীত হয়:

Endpointপ্রোটোকল
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generationsইমেজ জেনারেশন
POST /api/v1/videos/generationsভিডিও জেনারেশন
POST /api/v1/decisionsDecisions

এটি Data API (/v1/beta) বা Felo API (/v2)-তে প্রযোজ্য নয়।

মান হলো পাবলিক চ্যানেল কোড-এর একটি ক্রমানুসারী, কমা-বিচ্ছিন্ন তালিকা:

X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic
X-Felo-Channel: default

পাবলিক Model API স্পেসিফিকেশনের নিয়ম:

  • ডিফল্ট রুট ব্যবহার করতে header বাদ দিন।
  • default কেবল একা ব্যবহার করলে বৈধ মান। এটি চ্যানেল কোডের সাথে একত্র করবেন না।
  • পাবলিক চ্যানেল কোড ক্যাটালগে মডেলের channels[].code ফিল্ড থেকে আসে। সরবরাহকারীর প্রদর্শিত নাম নয়, কোডটি ব্যবহার করুন।
  • কেবল রানযোগ্য, প্রকাশিত চ্যানেল রাউটযোগ্য।

ডিফল্ট রাউটিং

আপনি header বাদ দিলে বা একা default পাঠালে প্ল্যাটফর্ম প্রোভাইডার বেছে নেয়। wallet মোডে এটি মডেলের কার্যকর পাবলিক চ্যানেল ক্রম বিপরীতভাবে স্ক্যান করে, অপ্রকাশিত বা অনুপলব্ধ চ্যানেল বাদ দেয় এবং প্রথম উপলব্ধ চ্যানেলের প্রোভাইডার নির্বাচন করে। এটি একই আপস্ট্রিম মডেল ID ও সার্ভিস টিয়ারযুক্ত সেই প্রোভাইডারের উপলব্ধ endpoint অন্তর্ভুক্ত করতে পারে।

আপনাকে X-Felo-Channel: default পাঠাতে হবে না; header বাদ দেওয়াই ডিফল্ট রুট ব্যবহারের স্বাভাবিক উপায়।

স্পষ্ট রাউটিং

আপনি চ্যানেল কোড পাঠালে সেগুলো আপনার তালিকাভুক্ত ক্রমে যাচাই করা হয়। কেবল প্রথম চ্যানেলের প্রোভাইডার গ্রুপ সাবমিট হয়। অন্য প্রোভাইডারে স্বয়ংক্রিয় ফলব্যাক নেই।

এর মানে চ্যানেল তালিকা একটি নির্বাচন, রিট্রাই নীতি নয়। আপনার failover দরকার হলে অ্যাপ্লিকেশনে তা বাস্তবায়ন করুন: প্রথমটি ব্যর্থ হওয়ার পর ভিন্ন চ্যানেল দিয়ে নতুন অনুরোধ পাঠান।

লিগ্যাসি প্রোভাইডার header X-Felo-Channel-কে override করতে পারে না। আপনার ক্লায়েন্টে অন্য header-ও প্রোভাইডার চাইলে X-Felo-Channel অগ্রাধিকার পায়।

মূল্য

প্রতিটি পাবলিক চ্যানেল নিজের স্ট্যান্ডার্ড রেট ও ডিসকাউন্ট মাল্টিপ্লায়ার প্রকাশ করে। মডেল বিস্তারিত পেজে একটি সরবরাহকারীর জন্য দেখানো মূল্য সেই চ্যানেলের গ্রাহক মূল্য। আপনি যে চ্যানেল পিন করেন তা নির্ধারণ করে কোন প্রোভাইডারের রেট প্রযোজ্য হবে।

উচ্চ-ভলিউম ওয়ার্কলোডের জন্য একটি চ্যানেল পিন করার আগে মডেল পেজে সরবরাহকারীর সারিগুলো তুলনা করুন এবং Models and Pricing পড়ুন।

একটি চ্যানেল কোড খুঁজুন

  1. মডেল বিস্তারিত পেজ খুলে সরবরাহকারী টেবিলটি খুঁজুন।
  2. সরবরাহকারীকে তার পাবলিক চ্যানেল কোডের সাথে মেলান। কোডটি API-তে ব্যবহৃত স্থিতিশীল শনাক্তকারী।
  3. আপনি সরাসরি ক্যাটালগ পড়লে channels[].code ব্যবহার করুন এবং runnable দেখুন।

উদাহরণস্বরূপ, claude-haiku-5-5 একাধিক চ্যানেল প্রকাশ করে, যার মধ্যে anthropic (ডিফল্ট), azure, google-vertex-global ও claude-cc আছে। claude-cc সারি নিজের ডিসকাউন্ট দেখায়, তাই এটি পিন করলে প্রোভাইডার ও রেট দুটোই বদলায়।

উদাহরণ

একটি চ্যানেলে পিন করা Chat Completions:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

একই চ্যানেলসহ Anthropic Messages:

curl https://openapi.felo.ai/api/v1/messages \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

রাউটিং header ছাড়া ডিফল্ট রাউটিং:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

সম্পর্কিত