Codex में OpenAI-compatible API कैसे कनेक्ट करें
Codex में custom model provider, सही Base URL और Responses API सेट करें, फिर सुरक्षित test request से connection verify करें।
विषय-सूची

Codex में OpenAI-compatible API कैसे कनेक्ट करें
किसी compatible API को Codex से जोड़ने के लिए user-level $CODEX_HOME/config.toml में custom model provider जोड़ें, provider का Base URL दें, API Key वाली environment variable तय करें और protocol को responses सेट करें। केवल /v1/chat/completions के साथ compatibility पर्याप्त नहीं है: मौजूदा Codex Responses API इस्तेमाल करता है।
BetterToken के लिए काम करने वाली configuration है: base_url = "https://www.bettertoken.ai/v1", env_key = "BETTERTOKEN_API_KEY" और wire_api = "responses"। Codex की मौजूदा BetterToken guide खोलें, अपनी अलग API Key बनाएँ और Setup या model plaza से current full Model ID copy करें। Group और mapping के नाम बदल सकते हैं, इसलिए उन्हें पुराने examples से न लें। यह usage के आधार पर bill होने वाला अलग API workflow है, ChatGPT subscription के features का access नहीं।
क्या तैयार रखें
- Node.js और npm: official Codex CLI install करने के लिए दोनों जरूरी हैं।
- अपना BetterToken account, अपनी API Key और Setup या model plaza से current full Model ID।
- एक छोटी request के लिए balance या console में available test allowance।
- macOS/Linux terminal या Windows PowerShell; नीचे दोनों systems के commands दिए गए हैं।
- किसी दूसरे provider के लिए Responses API, SSE streaming और जरूरी tool calls के support की पुष्टि।
Setup से पहले compatibility जाँचें
| Codex की जरूरत | Provider से क्या पूछें | यह क्यों जरूरी है |
|---|---|---|
| Responses API | क्या /v1/responses और streaming supported हैं | केवल Chat Completions, Responses की जगह नहीं लेता |
| Bearer authentication | क्या key को environment variable से दिया जा सकता है | Key को public TOML में store नहीं करना चाहिए |
| Model ID | इस key के लिए exact कौन-सा ID उपलब्ध है | Marketing name और API ID अलग हो सकते हैं |
| SSE streaming | लंबे responses और connection breaks कैसे handle होते हैं | Codex streamed responses के साथ काम करता है |
| Tool calls | Responses के कौन-से tools और fields supported हैं | “OpenAI-compatible” होने से सभी features की compatibility साबित नहीं होती |
अगर provider सिर्फ Chat Completions का example देता है और Responses का उल्लेख नहीं करता, तो पहले support की पुष्टि लें या छोटी request से test करें। किसी सामान्य chat client की configuration को बिना जाँच के Codex में copy न करें।
चरण 1. Codex CLI install या update करें
npm install -g @openai/codex
codex --version
मौजूदा configuration fields को official Config Reference से verify करें। 14 अगस्त 2026 तक reference बताता है कि model_provider, model_providers की entry चुनता है; env_key, key वाली variable तय करता है; और wire_api का एकमात्र supported value responses है।
चरण 2. अलग profile file बनाएँ
मौजूदा OpenAI Config Reference के अनुसार named profile की canonical location $CODEX_HOME/bt.config.toml है। Default तौर पर CODEX_HOME आम तौर पर macOS/Linux में ~/.codex और Windows में %USERPROFILE%\.codex होता है, लेकिन custom value set होने पर वही वास्तविक path प्राथमिक है।
macOS/Linux में variable बदले बिना directory जाँचें:
printf '%s\n' "${CODEX_HOME:-$HOME/.codex}"
PowerShell में:
if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE ".codex" }
ठीक दिखाई गई directory में bt.config.toml बनाएँ:
model = "YOUR_MODEL_ID"
model_provider = "bettertoken"
[model_providers.bettertoken]
name = "BetterToken"
base_url = "https://www.bettertoken.ai/v1"
env_key = "BETTERTOKEN_API_KEY"
wire_api = "responses"
requires_openai_auth = false
request_max_retries = 4
stream_max_retries = 8
stream_idle_timeout_ms = 300000
supports_websockets = false
File path $CODEX_HOME/bt.config.toml, command --profile bt से match करता है। यह profile main $CODEX_HOME/config.toml को replace नहीं करता, इसलिए official provider available रहता है। YOUR_MODEL_ID को Setup, model plaza या current guide में दिए current API ID से बदलें। अगर model heading का नाम API ID से अलग है, तो heading वाला नाम न डालें।
Codex खुद /responses जोड़ता है। इसलिए Base URL /v1 पर खत्म होता है, /v1/responses पर नहीं; वरना path दो बार जुड़ जाएगा।
चरण 3. API Key को environment से दें
macOS/Linux में:
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
Permanent setup के लिए सुरक्षित secrets manager या सही permissions वाली shell configuration इस्तेमाल करें। Key को repository, .env.example, README या shared computer की shell history में जाने वाली command में न रखें।
Value print किए बिना जाँचें कि variable set है:
test -n "$BETTERTOKEN_API_KEY" && echo "BETTERTOKEN_API_KEY is set"
Windows PowerShell में current window के लिए value set करें और आने वाली sessions के लिए save करें:
$env:BETTERTOKEN_API_KEY = "YOUR_API_KEY"
[Environment]::SetEnvironmentVariable("BETTERTOKEN_API_KEY", "YOUR_API_KEY", "User")
if ($env:BETTERTOKEN_API_KEY) { "BETTERTOKEN_API_KEY is set" }
चरण 4. Profile चलाकर request verify करें
Codex को restart करें और चलाएँ:
codex --profile bt
पहली test request छोटी होनी चाहिए और files नहीं बदलनी चाहिए:
केवल एक पंक्ति में उत्तर दें: CODEX_PROVIDER_OK। कोई file न बदलें और कोई command न चलाएँ।
Connection तब confirmed है जब response बिना error आए, model चुने गए ID से match करे और request तथा usage BetterToken Workspace में दिखें। इसके बाद एक test file को read करने की कोशिश करें; working project में changes की permission उसके बाद ही दें।
ऊपर का चार-चरण workflow और --profile command केवल Codex CLI पर लागू होता है। Codex Desktop में वही custom-provider fields होते हैं, लेकिन configuration चुनने और launch करने का मौजूदा तरीका BetterToken की current guide में verify करें। VS Code Extension के लिए अलग guide इस्तेमाल करें; CLI profile या उसका authentication तरीका बिना जाँच वहाँ copy न करें।
Error code के अनुसार troubleshooting
Profile नहीं मिला या configuration लागू नहीं हुई
तीन exact matches जाँचें: file का नाम bt.config.toml हो, command में --profile bt हो और model_provider = "bettertoken", table [model_providers.bettertoken] से match करे। फिर Codex को पूरी तरह बंद करें, नया terminal खोलें और छोटी test request दोबारा चलाएँ।
पुरानी OpenAI variables expected route को override कर सकती हैं। macOS/Linux में values print किए बिना सिर्फ उनकी मौजूदगी जाँचें:
test -n "$OPENAI_API_KEY" && echo "OPENAI_API_KEY is set"
test -n "$OPENAI_BASE_URL" && echo "OPENAI_BASE_URL is set"
unset OPENAI_API_KEY OPENAI_BASE_URL
PowerShell में current और आने वाली user sessions से उन्हें हटाएँ:
Remove-Item Env:OPENAI_API_KEY -ErrorAction SilentlyContinue
Remove-Item Env:OPENAI_BASE_URL -ErrorAction SilentlyContinue
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", $null, "User")
[Environment]::SetEnvironmentVariable("OPENAI_BASE_URL", $null, "User")
Cleanup के बाद नया terminal खोलें, केवल BETTERTOKEN_API_KEY दोबारा set करें और codex --profile bt चलाएँ।
404 या JSON की जगह HTML
आम तौर पर endpoint गलत बना होता है। जाँचें कि base_url में /responses, /chat/completions या कोई extra proxy path न हो। BetterToken के लिए value ठीक https://www.bettertoken.ai/v1 होनी चाहिए।
401 या 403
env_key का नाम, उसी process में variable की मौजूदगी और key permissions जाँचें। अगर key log में आ सकती है, तो उसे revoke करके नई key बनाएँ।
model not found
Setup, model plaza या मौजूदा Codex guide से current full Model ID दोबारा copy करें और confirm करें कि वह आपकी key के लिए available है। Version suffix का अंदाजा न लगाएँ और किसी पुराने group name को permanent न मानें।
Chat Completions या unsupported field error
Confirm करें कि wire_api = "responses" है और provider जरूरी Codex features सहित Responses API implement करता है। Value को chat करने से समस्या ठीक नहीं होगी: मौजूदा Codex reference केवल responses support करता है।
Stream शुरू होकर बीच में टूट जाता है
पहले एक छोटी request दोबारा चलाएँ। फिर proxy, timeout और SSE support जाँचें। Retry को बिना सीमा बढ़ाने से duplicate requests और extra usage हो सकता है।
Official configuration खोए बिना rollback कैसे करें
Provider अलग $CODEX_HOME/bt.config.toml में है, इसलिए current session बंद करें और Codex को --profile bt के बिना चलाएँ; तब main $CODEX_HOME/config.toml फिर लागू होगा। auth.json delete न करें और official token को third-party API Key से replace न करें। VS Code Extension में rollback उसकी अलग guide के अनुसार करें।
निष्कर्ष
Successful connection के लिए सिर्फ “OpenAI-compatible” URL पर्याप्त नहीं है। चार चीजें साथ match होनी चाहिए: Responses API, सही Base URL, उपलब्ध Model ID और environment में मौजूद key। इन्हें अलग profile में configure करें, safe test चलाएँ और usage verify करें।
पुराने fields copy करने से बचने के लिए BetterToken की मौजूदा Codex setup guide खोलें, अपनी API Key बनाएँ और profile bt से पहली read-only request चलाएँ।