NextChat-কে একটা কাস্টম OpenAI-compatible endpoint-এ point করুন।
Updated 2026-07-29
NextChat server deploy-এ এক BASE_URL environment variable দিয়ে তার API host override করে, অথবা client-এ Settings-এ একটা in-app কাস্টম endpoint দিয়ে। @OpenAI suffix সহ CUSTOM_MODELS দিয়ে catalog id যোগ করুন এবং একই model picker-এ Claude, Gemini, এবং DeepSeek এক key-এর নিচে দেখা যায়।
দ্রুত উত্তর: BASE_URL, এক key, এবং একটা model list।
একটা server deploy-এ (Vercel, Docker, বা bare Node), তিনটা environment variable পুরো কাজ করে। BASE_URL ঠিক করে API request কোথায় যাবে; README একে বর্ণনা করে "override openai api request base url" হিসেবে https://api.openai.com default সহ, এবং value /v1 ছাড়া দেওয়া হয় কারণ NextChat নিজেই request path append করে। OPENAI_API_KEY gateway key বহন করে। CUSTOM_MODELS model picker নিয়ন্ত্রণ করে: plus একটা model যোগ করে, minus একটা লুকায়, -all default list clear করে, এবং name=displayName একটা entry rename করে। Multi-vendor id কাজ করার detail-টা হলো provider suffix। NextChat একাধিক vendor-এর জন্য আলাদা client code path শিপ করে, তাই CUSTOM_MODELS-এ যোগ করা একটা bare claude id Anthropic path-এ surface করতে পারে, যা ভিন্ন key এবং request format আশা করে। id-তে @OpenAI append করলে, যেমন +claude-sonnet-4-6@OpenAI, model-কে OpenAI-compatible path-এ pin করে দেয় যাতে কোন vendor model train করেছে তা নির্বিশেষে request আপনার BASE_URL-এ standard chat-completions format-এ যায়।
BASE_URL=https://api.apisrouter.com # no /v1
OPENAI_API_KEY=sk-APIsRouter-...
CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI,+deepseek-v4-pro@OpenAI
DEFAULT_MODEL=claude-sonnet-4-6NextChat কীভাবে তার endpoint resolve করে।
NextChat (GitHub-এ ChatGPTNextWeb, প্রায় 88K star) হলো অস্তিত্বে থাকা সবচেয়ে বেশি deployed chat frontend-এর একটা: এক-click Vercel deployment প্লাস iOS, macOS, Android, Windows, এবং Linux-এর জন্য packaged client সহ একটা light web app। এর জনপ্রিয়তা ঠিক সেই mechanism থেকে আসে যা এই page ব্যবহার করে, সবকিছুই একটা configuration surface, এবং endpoint শুধু আরেকটা setting। সেসব surface-এর দুটো আছে। Server deploy build এবং boot-এ environment variable পড়ে: BASE_URL host ঠিক করে, OPENAI_API_KEY authenticate করে, এবং CUSTOM_MODELS সেই deployment-এর প্রতিটা user-এর জন্য picker আকার দেয়। Client এবং web UI অতিরিক্ত একটা in-app path expose করে: Settings, Model Provider, OpenAI বেছে নিন, তারপর endpoint এবং key field পূরণ করুন এবং custom model names field-এ extra id list করুন। In-app path প্রতি device locally value store করে, যা এটাকে একটা personal client-এর জন্য সঠিক surface বানায়, যখন env var অন্য মানুষ ব্যবহার করে এমন একটা deployment-এর জন্য সঠিক surface। যেভাবেই হোক, NextChat থেকে বের হওয়া request model id-কে একটা plain string হিসেবে সহ আপনার endpoint-এর বিরুদ্ধে একটা standard chat completion। BASE_URL-এর পেছনে একটা multi-vendor gateway সহ, একই deployment লম্বা উত্তরের জন্য Claude, দ্রুত প্রশ্নের জন্য একটা fast Gemini id, এবং bilingual traffic-এর জন্য DeepSeek বা GLM serve করে, সবই এক key দিয়ে।
সম্পূর্ণ সেটআপ: server deploy বা in-app setting।
একটা Vercel deploy-এর জন্য, project-এর environment setting-এ variable সেট করুন এবং redeploy করুন; Vercel build-এ env value bake করে, তাই redeploy না করে একটা variable edit করলে কিছুই পাল্টায় না। Docker-এর জন্য, -e flag বা একটা env file দিয়ে একই variable পাস করুন। যেকোনো public deployment-এ CODE variable সেট করার যোগ্য, এটা একটা password দিয়ে access gate করে যাতে অচেনা লোক আপনার key খরচ না করতে পারে। In-app path-এর কোনো deployment-ই দরকার নেই। Settings-এ, OpenAI provider বেছে নিন, endpoint-কে https://api.apisrouter.com দিয়ে replace করুন, key paste করুন, এবং custom model names field-এ environment variable-এর একই syntax ব্যবহার করে id যোগ করুন। এভাবেই desktop এবং mobile client একটা gateway-এর সাথে কাজ করে, এবং server deploy-এ commit করার আগে value test করার এটাই দ্রুততম উপায়ও। DEFAULT_MODEL ঠিক করে নতুন chat কী দিয়ে শুরু হয়, যা একটা shared deployment-এ যতটা শোনায় তার চেয়ে বেশি গুরুত্বপূর্ণ: বেশিরভাগ user কখনো model পাল্টায় না, তাই default id-ই সেখানে যেখানে বেশিরভাগ spend পড়ে। casual traffic বহন করতে চান এমন model-এই এটা deliberately সেট করুন।
docker run -d -p 3000:3000 \
-e BASE_URL=https://api.apisrouter.com \
-e OPENAI_API_KEY=$APISROUTER_API_KEY \
-e CUSTOM_MODELS="-all,+claude-sonnet-4-6@OpenAI,+claude-haiku-4-5-20251001@OpenAI,+gemini-3.5-flash@OpenAI" \
-e DEFAULT_MODEL=claude-haiku-4-5-20251001 \
-e CODE=your-access-password \
yidadaa/chatgpt-next-webPicker-এর জন্য model বেছে নেওয়া।
যেহেতু পুরো picker এক key দিয়ে bill হয়, tuning loop observational: এক সপ্তাহ চালান, console-এ per-model usage পড়ুন, এবং মানুষ আসলে কী click করেছে তার চারপাশে CUSTOM_MODELS reshape করুন, আপনি যা predict করেছিলেন তার বদলে।
- -all দিয়ে list শুরু করুন। Stock picker একটা লম্বা OpenAI-only menu; একে clear করে চার-পাঁচটা deliberate id যোগ করলে user-দের এমন একটা picker দেয় যেখানে প্রতিটা choice আপনি price করা একটা।
- Default model deployment বহন করে। DEFAULT_MODEL হিসেবে claude-haiku-4-5-20251001 বা gemini-3.5-flash casual majority turn-কে fast এবং inexpensive রাখে, stronger id এক click দূরে।
- Long-form কাজ একটা frontier slot earn করে। claude-sonnet-4-6 এবং gpt-5.5 হলো সেই pick যা user-রা reach করে যখন একটা draft বা analysis গুরুত্বপূর্ণ।
- Bilingual deployment-এ deepseek-v4-pro বা glm-5.2 অন্তর্ভুক্ত করা উচিত; NextChat-এর একটা বিশাল Chinese-speaking install base আছে এবং সেই id সেই traffic-এ natively fit করে।
- Rename বিনামূল্যে documentation: claude-sonnet-4-6=Sonnet (writing) style entry non-technical user-দের জন্য picker-কে self-explanatory বানায়।
ব্যবহার অনুযায়ী পেমেন্ট · অফিশিয়াল মূল্যের নিচে
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| মডেল | অফিশিয়াল মূল্য | আমাদের মূল্য |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
NextChat-specific failure mode।
/v1 ভুলটা বেশিরভাগ tool-এর বিপরীত দিকে চলে। NextChat নিজেই BASE_URL-এ request path append করে, তাই value /v1 ছাড়াই থাকে; https://api.apisrouter.com/v1 paste করলে দ্বিগুণ path তৈরি হয় যা 404 দেয়। LibreChat-এর মতো tool /v1 base URL-এ অন্তর্ভুক্ত থাকা আশা করে, যে কারণেই মানুষ দুই দিকেই ভুল অভ্যাস বহন করে। Key বা header নিয়ে error দেওয়া একটা Claude id missing @OpenAI suffix। এটা ছাড়া, NextChat id-কে এর native Anthropic path দিয়ে route করতে পারে, যা আপনার gateway-এর জন্য কখনো BASE_URL consult করে না এবং vendor-format authentication আশা করে। প্রতিটা gateway id-কে @OpenAI দিয়ে pin করুন এবং সব request compatible path নেবে। Env edit যা কিছু পাল্টায় না তা একটা redeploy সমস্যা। Vercel-এ variable build-এ পড়া হয়; Docker-এ container recreate করতে হবে। In-app setting, বিপরীতে, সাথে সাথে effect নেয় কিন্তু শুধু সেই device-এই, যা একই confusion-এর অন্য অর্ধেক। CODE এবং OPENAI_API_KEY অবাক করার মতো প্রায়ই swap হয়ে যায়। CODE হলো access password যা user UI-তে টাইপ করে; key হলো যা server খরচ করে। যদি user কোনো chat হওয়ার আগে একটা unauthorized page report করে, সেটা CODE; যদি chat endpoint-এর বিরুদ্ধে fail করে, সেটা key।
কারা একটা gateway দিয়ে NextChat route করে।
- যারা Vercel-এ একটা personal deployment চালায় এবং এর পেছনে প্রতি vendor একটা subscription-এর বদলে এক metered key চায়।
- ছোট team যারা একটা NextChat instance share করে, access control-এর জন্য CODE ব্যবহার করে এবং এক gateway key যাতে usage log-ই cost report হয়ে যায়।
- Desktop এবং mobile client user যারা প্রতিটা device-এ এক picker থেকে Claude, Gemini, এবং DeepSeek-এ পৌঁছাতে in-app endpoint-কে একটা gateway-তে point করে।
- Bilingual user যারা এক deployment-এ GLM এবং DeepSeek id-কে Claude এবং GPT-এর সাথে মেশায়, যা native provider silo-কে অস্বস্তিকর বানায়।
- Developer যাদের কোনো নির্দিষ্ট vendor-এর billing-এ access নেই। কোনো card requirement ছাড়া Top-up based access per-provider sign-up dependency সরিয়ে দেয়।
Endpoint verify করুন এবং প্রথম chat debug করুন।
Deploy করার আগে endpoint প্রমাণ করুন: key দিয়ে model list করুন এবং confirm করুন CUSTOM_MODELS-এ রাখতে চাওয়া প্রতিটা id exactly spelled হয়ে দেখা যাচ্ছে। id string হিসেবে forward হয়, তাই /v1/models output-ই authoritative spelling। তারপর deploy করুন এবং picker-এর প্রতি model প্রতি একটা message পাঠান। সবকিছুতে একটা 404 হলো /v1-in-BASE_URL ভুল। একটা 401 হলো key, হয় ভুল বা build actually ব্যবহার করা environment-এ উপস্থিত না। শুধু Claude id-তে একটা error missing @OpenAI suffix। এমন model দেখানো একটা picker যা আপনি কখনো যোগ করেননি মানে CUSTOM_MODELS এর -all prefix হারিয়েছে বা variable build-এ পৌঁছায়নি। একবার chat চললে, APIsRouter console per-request model, token count, এবং spend দেখায়। এক-এর বেশি user সহ একটা deployment-এর জন্য, সেই view প্রতিটা NextChat admin শেষে যে প্রশ্ন করে তার উত্তর দেয়, কোন model নীরবে balance খেয়ে ফেলছে, আন্দাজ না করে data দিয়ে।
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50সাধারণ প্রশ্ন
NextChat-এর BASE_URL-এ কি /v1 থাকা উচিত?
না। NextChat নিজেই request path append করে, তাই BASE_URL=https://api.apisrouter.com /v1 ছাড়া সেট করুন। এটা অন্তর্ভুক্ত করলে দ্বিগুণ path তৈরি হয় যা 404 দেয়। LibreChat-এর মতো tool-এর convention-এর বিপরীত, যারা base URL-এ /v1 আশা করে।
এক endpoint দিয়ে আমি কীভাবে NextChat-এ Claude বা Gemini model যোগ করব?
@OpenAI suffix সহ CUSTOM_MODELS-এ যোগ করুন, উদাহরণস্বরূপ +claude-sonnet-4-6@OpenAI। Suffix id-কে OpenAI-compatible request path-এ pin করে যাতে এটা আপনার BASE_URL-এ যায়, NextChat-এর native Anthropic বা Google client path-এর বদলে।
Environment variable এবং in-app setting-এর মধ্যে পার্থক্য কী?
Environment variable প্রতিটা user-এর জন্য একটা server deployment configure করে এবং পাল্টাতে একটা redeploy দরকার। Settings-এ in-app কাস্টম endpoint প্রতি device locally value store করে এবং সাথে সাথে effect নেয়, যা personal desktop এবং mobile client-এর জন্য উপযুক্ত।
Picker থেকে default OpenAI model list আমি কীভাবে সরাব?
CUSTOM_MODELS -all দিয়ে শুরু করুন, তারপর explicitly id যোগ করুন: CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI। User তখন শুধু সেসব model দেখে যা আপনি ইচ্ছাকৃতভাবে list এবং price করেছেন।
CODE variable কী করে?
এটা deployment-এর জন্য এক বা একাধিক access password সেট করে। Chat শুরুর আগে visitor-দের একটা code লিখতে হবে, যা একটা public Vercel URL-কে আপনার key খরচ করা থেকে আটকায়। এটা API key-এর সাথে অসম্পর্কিত।
একটা environment variable পাল্টানোর কোনো effect কেন হলো না?
NextChat build বা container start-এ env value পড়ে। Vercel-এ, variable edit করুন এবং redeploy করুন; Docker-এ, container recreate করুন। শুধু in-app setting-ই কোনো restart ছাড়া effect নেয়, এবং সেগুলো প্রতি device বাস করে।