OpenRouter free tier সীমা এবং 429 error সমাধান
Updated 2026-07-15
OpenRouter free model variant প্রায় প্রতি মিনিটে 20 request-এ cap করা, সাথে আপনার account lifetime-এ $10-এর কম credit কিনলে প্রতিদিন 50 request, বা সেই threshold পার হলে প্রতিদিন 1,000। একটি 429 মানে আপনি এই cap-এর একটিতে পৌঁছেছেন অথবা সেই মুহূর্তে shared free pool saturated।
দ্রুত উত্তর: সঠিক free tier সীমা
OpenRouter দুটি axis-এ free ব্যবহার cap করে: একটি per-minute ceiling এবং একটি দৈনিক request বাজেট। Free model variant-এর (model ID :free দিয়ে শেষ) per-minute সীমা প্রতি মিনিটে 20 request। দৈনিক বাজেট নির্ভর করে আপনার account কখনো কমপক্ষে $10 credit কিনেছে কিনা তার উপর: সেই lifetime threshold-এর নিচে দিনে 50টি free-model request পান, তার সমান বা উপরে দিনে 1,000টি। এই সংখ্যাগুলো OpenRouter 2026-এর শুরুতে document করেছে। এগুলো আগে বদলেছে (দৈনিক cap আগে বেশি ছিল), তাই টেবিলটাকে স্থায়ী guarantee না ধরে বর্তমান baseline হিসেবে দেখুন, এবং পরের section-এর check দিয়ে আপনার নিজের key-তে যাচাই করুন। একটি 429 response মানে হয় আপনি এই cap-এর একটি ছাড়িয়ে গেছেন, অথবা সেই free মডেল পরিবেশনকারী upstream provider-এর capacity শেষ হয়ে গেছে যদিও আপনার নিজের quota ঠিক ছিল। এই guide-এর বাকি অংশ কোনটা ঘটেছে তা বলা এবং কী করবেন তা কভার করে।
| সীমা | মান | কখন প্রযোজ্য |
|---|---|---|
| Requests per minute | 20 rpm | সব :free model variant, প্রতি account |
| Requests per day | 50 | Lifetime credit কেনা $10-এর কম |
| Requests per day | 1,000 | Lifetime credit কেনা $10 বা তার বেশি |
| Paid মডেল | আলাদা, অনেক বেশি সীমা | যেকোনো non-free মডেল, per-token billed |
Free tier আসলে কীভাবে কাজ করে
OpenRouter-এ free মডেল হলো :free suffix সহ আলাদা catalog entry। এগুলো এমন provider পরিবেশন করে যারা capacity দান বা ভর্তুকি দেয়, যে কারণে তাদের availability একই weight-এর paid variant-এর চেয়ে অনেক বেশি ওঠানামা করে। তিনটি detail মানুষকে হোঁচট খাওয়ায়। প্রথমত, দৈনিক cap account-wide: 50 request যেকোনো মিশ্র free মডেলে ছড়ানো, প্রতি মডেলে 50 নয়। দ্বিতীয়ত, $10 threshold lifetime credit কেনার হিসাব করে, বর্তমান balance নয়। একবার $10 কিনলে খরচ হয়ে গেলেও আপনি 1,000 requests per day bracket-এ থাকেন। তৃতীয়ত, সীমা account প্রতি প্রয়োগ হয়, তাই একই account-এর নিচে extra API key তৈরি করলে কিছু যোগ হয় না। আপনার key ঠিক কোথায় দাঁড়িয়ে আছে তা check করতে পারেন। Response-এ is_free_tier, আপনার এখনকার ব্যবহার, এবং আপনার key-তে বর্তমানে প্রযোজ্য rate limit object থাকে:
curl https://openrouter.ai/api/v1/auth/key \
-H "Authorization: Bearer $OPENROUTER_API_KEY"
# Response fields worth reading:
# "is_free_tier": true -> under the $10 lifetime threshold
# "usage": 1.42 -> credits consumed
# "rate_limit": {...} -> the per-interval limit on this keyPeak সময়ে কেন 429 বেড়ে যায়
আপনার নিজের cap শুধু অর্ধেক গল্প। Free capacity একটি shared pool, এবং OpenRouter শুধু সেই মুহূর্তে ভর্তুকিযুক্ত ফাঁকা capacity সহ কোনো provider-এ একটি free request route করতে পারে। একটি জনপ্রিয় free মডেল saturate হলে, দিনে হাতে গোনা কয়েকটি request করেও 429 বা upstream error পাবেন। Community report ধারাবাহিকভাবে US time zone-এ সন্ধ্যা এবং সপ্তাহান্তকে সবচেয়ে খারাপ window হিসেবে বর্ণনা করে, একই request off-peak সময়ে সাথে সাথেই সফল হয়। এগুলো আনুমানিক পর্যবেক্ষণ, প্রকাশিত সংখ্যা নয়, কিন্তু পরিকল্পনা করার মতো যথেষ্ট বারবার ঘটে। Chat frontend সমস্যাটা বাড়িয়ে দেয়। SillyTavern এবং JanitorAI style interface প্রতিটি swipe, regenerate, এবং group chat turn-এ একটি নতুন completion request পাঠায়, এবং কিছু proxy setup ব্যর্থতা automatically retry করে। যে ব্যবহারকারী মনে করেন তিনি 15টি message পাঠিয়েছেন তিনি হয়তো 40 থেকে 50টি request তৈরি করেছেন, যা $10 threshold-এর নিচে একটি account-এর পুরো দৈনিক বাজেট। Aggressive automatic retry সবার জন্য peak congestion আরও গভীর করে, যে কারণে disciplined backoff গুরুত্বপূর্ণ। ব্যবহারিক diagnostic: দৈনিক reset পর্যন্ত অপেক্ষা করলে 429 থেমে গেলে, আপনি quota ছুঁয়েছেন। একই ঘণ্টার মধ্যে আসা-যাওয়া করলে যখন আপনার request count কম, আপনি pool congestion দেখছেন।
সমাধান, effort-এর ক্রমে
Free tier-এই traffic রাখলে, minimum viable client ব্যর্থ হওয়া বা blind-retry করার বদলে 429 explicitly handle করে:
- আগে error body পড়ুন। OpenRouter 429 আপনার per-minute সীমা, আপনার শেষ হওয়া দৈনিক quota, এবং upstream congestion-এর মধ্যে পার্থক্য করে। যেটা আসলে ঘটেছে সেটাই ঠিক করুন।
- Retry-After মেনে চলুন এবং jitter সহ exponentially back off করুন। Endpoint-এ বারবার আঘাত করলে আপনি বেশিক্ষণ rate limited থাকবেন এবং congestion আরও খারাপ হবে।
- একবার $10 lifetime credit threshold পার হন। এটা দৈনিক cap 50 থেকে 1,000 request-এ তোলে এবং দৈনিক-quota 429-এর জন্য সবচেয়ে বেশি leverage দেওয়া একক সমাধান।
- যে traffic গুরুত্বপূর্ণ তা একই মডেলের একটি paid variant-এ সরান। DeepSeek-class মডেল প্রতি মিলিয়ন token-এ এক ডলারের অনেক নিচে খরচ করে, তাই chat-এর একটি ভারী সন্ধ্যা সাধারণত কয়েক সেন্ট খরচ করে।
- Client-এ request volume কমান: auto-regeneration বন্ধ করুন, অপ্রয়োজনীয় swipe এড়িয়ে যান, এবং context ছোট রাখুন যাতে retry ঘটলে সেটা সস্তা হয়।
import random
import time
import requests
def chat(payload: dict, key: str, retries: int = 5) -> dict:
for attempt in range(retries):
r = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": f"Bearer {key}"},
json=payload,
timeout=120,
)
if r.status_code != 429:
r.raise_for_status()
return r.json()
wait = float(r.headers.get("Retry-After", 2 ** attempt + random.random()))
time.sleep(wait)
raise RuntimeError("Still rate limited after all retries")যখন প্রতিদিন 50 request যথেষ্ট নয়
আপনার ব্যবহারের ধরন ধারাবাহিকভাবে free বাজেটের উপরে থাকলে, চারটি বাস্তব পথ আছে। সঠিকটা নির্ভর করে আপনার bottleneck দৈনিক quota, peak-hour congestion, নাকি দুটোই তার উপর। লক্ষ্য করার মতো: paid বিকল্পগুলো মূলত overhead-এ ভিন্ন, request shape-এ নয়: সবগুলো একই OpenAI-compatible chat completions format বলে, তাই সুইচ করা মানে base URL এবং key পরিবর্তন, rewrite নয়।
| বিকল্প | খরচের মডেল | Rate limit আচরণ | Trade-off |
|---|---|---|---|
| OpenRouter :free variant | $0 | 20 rpm; 50 বা 1,000 requests/day | Shared pool, peak congestion |
| OpenRouter paid মডেল | Per token, আগে থেকে credit | অনেক বেশি, account-এর সাথে scale করে | Credit কেনায় platform fee |
| সরাসরি provider API | Per token, official list মূল্যে | Provider-নির্দিষ্ট tier | প্রতিটি provider-এর জন্য আলাদা key ও billing |
| সরাসরি pay-as-you-go gateway | Per token, কোনো subscription নেই | Paid capacity, free-pool contention নেই | প্রথম request থেকেই পেমেন্ট |
| Self-hosted open weight | Hardware এবং power | শুধু আপনার GPU দ্বারা সীমাবদ্ধ | Setup effort, model size ceiling |
সরাসরি gateway-তে chat frontend চালানো
একটি সরাসরি gateway OpenAI-compatible request shape রাখে কিন্তু free-pool queue সরিয়ে দেয়, কারণ প্রতিটি request paid capacity। APIsRouter এমন একটি উদাহরণ: কোনো subscription ছাড়া pay as you go, এবং /topup-এ কোনো signup ছাড়া checkout যেখানে আগে পেমেন্ট করেন এবং API key ইমেইলে আসে। Global মডেল official list মূল্যের 20% নিচে চলে, চীনা মডেল তাদের official রেটের নিচে, এবং প্রথম top-up আপনার শুরুর balance দ্বিগুণ করে। Frontend setup আপনি OpenRouter-এর সাথে যা করেন তা প্রতিফলিত করে। SillyTavern-এ, /v1-এ শেষ হওয়া base URL পেস্ট করুন (https://api.apisrouter.com/v1) এবং আপনার key দেওয়ার পর /v1/models থেকে model list auto-populate হয়। JanitorAI proxy configuration-এর বদলে পুরো endpoint দরকার: https://api.apisrouter.com/v1/chat/completions, সাথে model name এবং API key। Character chat এবং roleplay traffic-এর জন্য, DeepSeek V4 পরিবার value-র জন্য community favorite, MiMo, GLM-5, এবং Kimi K2.6 আরও value pick হিসেবে। Anthropic-এর content policy-র অধীনে safe-for-work creative writing-এ সবচেয়ে শক্তিশালী prose লেখে Claude Sonnet 4.6।
| মডেল | Model ID | প্রতি 1M token input / output |
|---|---|---|
| DeepSeek V4 Flash | deepseek-v4-flash | $0.126 / $0.252 |
| DeepSeek V4 Pro | deepseek-v4-pro | $0.3915 / $0.783 |
| GLM-5 | glm-5 | $0.514 / $2.314 |
| Gemini 3.5 Flash | gemini-3.5-flash | $1.20 / $7.20 |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | $2.40 / $12.00 |
curl https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{"role": "user", "content": "Hello"}]
}'সাধারণ প্রশ্ন
OpenRouter কি free ব্যবহার করা যায়?
আংশিকভাবে। OpenRouter কিছু মডেলের free variant তালিকাভুক্ত করে (ID :free দিয়ে শেষ) যাতে কোনো খরচ নেই কিন্তু প্রায় প্রতি মিনিটে 20 request এবং প্রতিদিন 50 বা 1,000 request-এ cap করা, নির্ভর করে আপনি কখনো $10 credit কিনেছেন কিনা তার উপর। বাকি সব model listing per-token paid।
কেন আমি বারবার OpenRouter-এ 429 error পাচ্ছি?
একটি 429 মানে আপনি per-minute সীমা ছাড়িয়ে গেছেন, দৈনিক free-request বাজেট শেষ করেছেন, অথবা সেই free মডেলের shared upstream capacity saturated। Error body বলে দেয় কোনটা। Quota 429 দৈনিক reset পর্যন্ত থাকে; congestion 429 সাধারণত off-peak সময়ে পরিষ্কার হয়ে যায়।
আমার OpenRouter rate limit কীভাবে বাড়াব?
একবার $10 credit কিনুন। এই lifetime threshold free-model দৈনিক cap 50 থেকে 1,000 request-এ তোলে। এর বাইরে, বিকল্পগুলো হলো paid model variant-এ traffic সরানো, backoff দিয়ে request ছড়ানো, বা ভিন্ন provider বা gateway দিয়ে overflow route করা।
OpenRouter free মডেলের কি দৈনিক সীমা আছে?
হ্যাঁ। দৈনিক বাজেট আপনার account-এর সব free মডেলে ভাগ করা: lifetime credit কেনা $10-এর নিচে হলে দিনে 50 request, তার সমান বা বেশি হলে দিনে 1,000। এটা account level-এ প্রয়োগ হয়, তাই একই account-এ extra API key quota যোগ করে না।
JanitorAI বা SillyTavern-এর জন্য free tier কি যথেষ্ট?
হালকা testing-এর জন্য, হ্যাঁ। বাস্তবে প্রতিটি swipe, regenerate, এবং group turn আলাদা request, তাই একটি active session দ্রুত 50 request পুড়িয়ে ফেলতে পারে, আর peak-hour congestion এর উপর আরও failure যোগ করে। ভারী ব্যবহারকারীরা সাধারণত সস্তা paid মডেলে সরে যান। যেটাই ব্যবহার করুন, frontend platform-এর ToS মেনে চলুন, এর বয়স প্রয়োজনীয়তা সহ, এবং model provider-এর content policy।