Codex CLI auf Prepaid-Guthaben, über einen Provider-Block
Codex CLI wird angebunden, indem Sie in ~/.codex/config.toml einen Model-Provider-Block ergänzen: base_url erhält https://api.relayswitch.io/v1, und der Key liegt in einer Umgebungsvariable. Die Bedienung von Codex ändert sich nicht, und jeder Turn wird über die Responses-Route pro Token vom Prepaid-Guthaben abgezogen.
01Was Codex ist, und was hier geändert wird
Codex CLI ist der Coding-Agent von OpenAI für die Kommandozeile. Seine Konfiguration hat die Einstellung model_provider mit dem Standardwert openai, Requests gehen also an die Schnittstelle von OpenAI selbst. Diese Einstellung lässt sich ändern: Definieren Sie in config.toml einen eigenen Provider mit der Endpoint-Adresse und dem Namen der Umgebungsvariable, in der der Key liegt, und zeigen Sie mit model_provider darauf. Befehle und Bedienung von Codex bleiben gleich; es wechselt nur, wer abrechnet.
Codex spricht genau ein Protokoll, die Responses API von OpenAI: Die Konfigurationsreferenz nennt für wire_api nur den Wert responses. Bei einem Gateway ist deshalb zuerst zu klären, ob es /v1/responses anbietet und nicht nur /v1/chat/completions. Hier gibt es beide Routen, und Codex nutzt die erste.
02config.toml: ein Provider-Block
Der Block unten hat vier Zeilen, und der API-Key steht nicht in der Datei. Die Bedeutung der einzelnen Einstellungen:
model_providerwählt den Block über den Namen seiner Tabelle aus. Den Namen legen Sie selbst fest, aberopenai,ollama,lmstudio,amazon-bedrock,amazon-bedrock-runtimeundgcpsind eingebaute Codex-IDs, die sich nicht überschreiben lassen.base_urlerhält https://api.relayswitch.io/v1, mit/v1; Codex hängt/responsesan.env_keyist der Name der Umgebungsvariable, in der der Key liegt, nicht der Key selbst. Da der Key in der Umgebungsvariable bleibt, kann die Konfigurationsdatei gefahrlos committet oder synchronisiert werden.wire_apihat nur einen gültigen Wert,responses, und das ist auch der Standardwert; die Zeile darf also entfallen.requires_openai_authhat den Standardwertfalseund muss nicht geschrieben werden: Ein eigener Provider verwendet den Key ausenv_key, nicht den Login eines OpenAI-Kontos.
# ~/.codex/config.tomlmodel = "gpt-6.1-sol"model_provider = "relayswitch" [model_providers.relayswitch]name = "RelaySwitch"base_url = "https://api.relayswitch.io/v1"env_key = "RELAYSWITCH_API_KEY"wire_api = "responses"03Key in einer Umgebungsvariable ablegen, dann codex starten
Schreiben Sie den Block in ~/.codex/config.toml. Das Verzeichnis wird durch die Umgebungsvariable CODEX_HOME bestimmt und ist standardmäßig ~/.codex; der Provider muss in dieser Datei auf Benutzerebene stehen. Exportieren Sie danach den Key in dem Terminal, in dem Codex läuft, und starten Sie. Tragen Sie die export-Zeile in die Konfigurationsdatei Ihrer Shell ein, damit auch neue Terminals sie mitbringen.
export RELAYSWITCH_API_KEY="sk-relay-..."codex04Die Responses-Route mit curl testen
Schicken Sie vor dem Start von Codex einen kleinen Responses-Request, um Key und Adresse zu prüfen. Die Option -i zeigt die Statuszeile und die Antwort-Header, darunter die Request-ID.
Kommt 200 zurück, starten Sie codex und geben Sie die erste Anweisung. Der Request erscheint innerhalb von Sekunden auf der Usage-Seite der Console, mit Token und Kosten. Um das Modell vorübergehend zu wechseln, verwenden Sie codex --model gefolgt von der ID.
curl -i https://api.relayswitch.io/v1/responses \ -H "Authorization: Bearer sk-relay-..." \ -H "content-type: application/json" \ -d '{"model": "gpt-6.1-sol", "input": "Reply with ok"}'05Preise der GPT-Modelle und Kosten einer Aufgabe
Diese Tabelle zeigt die GPT-Modelle im Katalog in USD pro Million Token, mit getrennten Preisen für Input, Cached Input und Output. Codex ist für GPT-Modelle und die Responses-Route gebaut; stellen Sie also sicher, dass die ID, die Sie in config.toml schreiben, auf den curl-Test oben antwortet.
Codex sendet bei jedem Turn die Unterhaltung und die Tool-Ausgaben erneut. Diese Token werden zum Preis für Cached Input abgerechnet, wenn sie den Cache treffen, und die Antwort meldet die Zahl der gecachten Token; ob der Cache greift, hängt vom Modell und vom Request selbst ab. Damit wird Sparen konkret: ein günstigeres Modell für alltägliche Änderungen und das teurere nur für schwierige Reviews und Refactorings, eine neue Sitzung nach jeder abgeschlossenen Aufgabe, damit der Kontext nicht immer länger wird, und ein eigener Key für Codex mit Dollar-Budget und täglichem Ausgabenlimit. Ist das Limit erreicht, antwortet das Gateway mit 402 und nur dieser Key stoppt; das übrige Guthaben des Kontos bleibt unberührt.
| Modell | Entwickler | Input | Output | Kontext |
|---|---|---|---|---|
| GPT-6.1 Solgpt-6.1-sol | OpenAI | $0.582 | $2.91 | 1,050,000 |
| GPT-6 Lunagpt-6-luna | OpenAI | $0.0625 | $0.20 | 1,050,000 |
| GPT-6 Solgpt-6-sol | OpenAI | $0.60 | $3.00 | 1,050,000 |
| GPT-6 Astragpt-6-astra | OpenAI | $3.00 | $15.00 | 1,050,000 |
| GPT-5.6 Lunagpt-5.6-luna | OpenAI | $0.12 | $0.72 | 1,050,000 |
| GPT-5.6 Solgpt-5.6-sol | OpenAI | $1.20 | $3.00 | 1,050,000 |
| GPT-5.6 Terragpt-5.6-terra | OpenAI | $1.20 | $3.60 | 1,050,000 |
| GPT-5.5gpt-5.5 | OpenAI | $1.80 | $9.00 | 1,050,000 |
| GPT-5.4 Minigpt-5.4-mini | OpenAI | $0.75 | $4.50 | 400,000 |
| GPT-5.4gpt-5.4 | OpenAI | $1.50 | $9.00 | 1,050,000 |
| GPT-5.3-Codexgpt-5.3-codex | OpenAI | $1.75 | $14.00 | 400,000 |
| GPT-4o minigpt-4o-mini | OpenAI | $0.15 | $0.60 | 128,000 |
| GPT-4ogpt-4o | OpenAI | $2.50 | $10.00 | 128,000 |
| GPT-4.1 Nanogpt-4.1-nano | OpenAI | $0.10 | $0.40 | 1,048,576 |
| GPT 5.4 Nanogpt-5.4-nano | OpenAI | $0.40 | $2.50 | 400,000 |
| GPT 5.6gpt-5.6 | OpenAI | $0.9412 | $4.7059 | 1,050,000 |
| GPT 6.1 Terragpt-6.1-terra | OpenAI | $0.2941 | $1.4706 | 1,000,000 |
| gpt-oss-120bgpt-oss-120b | OpenAI | $0.20 | $1.80 | |
| gpt-oss-20bgpt-oss-20b | OpenAI | $0.16 | $0.72 |
USD pro Million Token
06Profile pro Modell, und das Menü /model
Ein Profil ist eine Datei namens ~/.codex/<name>.config.toml, die nur die Zeilen enthält, die von config.toml abweichen, und darübergelegt wird, wenn Codex mit codex --profile <name> gestartet wird. Seit Codex 0.134.0 werden Tabellen [profiles.<name>] in config.toml nicht mehr gelesen, und der Selektor profile = auf oberster Ebene wurde entfernt; Tutorials von davor verwenden noch die alte Form und funktionieren nicht, wenn man sie kopiert. Der Wert von model_reasoning_effort richtet sich nach den Stufen, die das gewählte Modell unterstützt; Codex sendet ihn mit jedem Request, und das Gateway reicht ihn unverändert an das Modell weiter.
Mit einem eigenen Provider zeigt das Menü /model in Codex weiterhin die eingebauten OpenAI-Modelle, nicht die Modelle Ihres Providers. Eine Auswahl dort schreibt die aktive Profildatei um: Das Modell wechselt, der Provider nicht. Steht die eingetragene ID im Katalog, läuft Codex zum Preis dieses Modells; wenn nicht, lautet die Antwort 404. Zum Modellwechsel verwenden Sie --profile oder --model.
07Häufige Fehler
Die Status 401 bis 404 werden zurückgegeben, bevor der Request das Modell erreicht, und 429, 502 und 503 enthalten keine Antwort; nichts davon wird abgerechnet. Die vollständige Tabelle pro Status steht auf der Seite zur OpenAI API. Für Coding mit Claude im Terminal verwenden Sie Claude Code; beide laufen mit demselben Key und demselben Guthaben, und wie Sie einen Key erstellen, steht auf der Seite zum Claude API Key.
| 401 | Der Key ist falsch oder wurde widerrufen, oder RELAYSWITCH_API_KEY ist in dem Terminal leer, in dem Codex läuft. Führen Sie export erneut aus und starten Sie neu. |
| 402 | Das Guthaben reicht nicht, oder das Budget des Keys ist aufgebraucht. Nach einer Aufladung oder einer Erhöhung des Budgets läuft alles wieder normal. |
| 404 | Die Modell-ID gibt es im Katalog nicht, meist weil das Menü /model das Profil umgeschrieben hat. Stellen Sie die Zeile model wieder her. |
| 429 | Das Rate Limit des Keys ist erreicht. Warten Sie so lange, wie der Header retry-after angibt, oder erhöhen Sie in der Console das Limit dieses Keys für Requests pro Minute. |
| Provider-Block greift nicht | Der Tabellenname verwendet eine eingebaute ID, oder model_provider enthält nicht den Namen dieser Tabelle. |
| Profil greift nicht | Der Inhalt steht noch als Tabelle [profiles.<name>] in config.toml; verschieben Sie die Zeilen in eine eigene Datei. |
Häufige Fragen
- Was ist Codex CLI?
- Codex CLI ist der Coding-Agent von OpenAI für die Kommandozeile. Die Einstellung model_provider in seiner Konfiguration legt fest, wohin Requests gehen; der Standardwert ist openai, und er lässt sich auf einen Provider umstellen, den Sie selbst in config.toml definieren.
- Wie richte ich Codex mit einem eigenen API-Key ein?
- Ergänzen Sie in ~/.codex/config.toml einen Block model_providers.relayswitch mit name, base_url (https://api.relayswitch.io/v1) und env_key (RELAYSWITCH_API_KEY). Setzen Sie dann auf oberster Ebene model_provider auf relayswitch und model auf eine der GPT-IDs aus dem Katalog. Legen Sie den Key per export in der Umgebungsvariable ab und starten Sie codex.
- Brauche ich ein ChatGPT-Konto oder einen OpenAI-API-Key?
- Laut der Konfigurationsreferenz von Codex hat requires_openai_auth bei einem eigenen Provider den Standardwert false, und Requests werden mit dem Key aus der Umgebungsvariable authentifiziert, auf die env_key zeigt. Konto und Guthaben liegen bei RelaySwitch, und der Key beginnt mit sk-relay-.
- Braucht base_url das /v1, und was gehört in wire_api?
- base_url erhält https://api.relayswitch.io/v1, mit /v1; Codex hängt /responses an. wire_api hat nur einen gültigen Wert, responses, der auch der Standardwert ist; die Zeile darf also entfallen. Der Wert chat aus älteren Tutorials funktioniert nicht mehr.
- Woher weiß ich, dass das Modell nicht stillschweigend ausgetauscht wird?
- Zwei Dinge können Sie selbst prüfen. Jedes Modell erhält einmal täglich denselben Test-Prompt, und die Antwort wird mit den früheren Ergebnissen verglichen; die Ergebnisse sind unter https://api.relayswitch.io/v1/proof einsehbar. Außerdem hat jeder Request einen signierten Beleg mit Modell-ID, abgerechneten Token und Kosten. Den Wert model_reasoning_effort sendet Codex mit jedem Request, und das Gateway reicht ihn unverändert an das Modell weiter.
- Codex verbraucht viele Token, wie spare ich?
- Codex sendet bei jedem Turn die Unterhaltung und die Tool-Ausgaben erneut, die Kosten liegen also vor allem bei Input und Cached Input. Drei Wege: ein günstigeres Modell für alltägliche Änderungen und das teure nur für schwierige Probleme, eine neue Sitzung nach jeder abgeschlossenen Aufgabe, und ein Dollar-Budget samt Tageslimit für den Codex-Key, damit er stoppt, wenn das Limit erreicht ist.
Ein Provider-Block, eine Umgebungsvariable
base_url https://api.relayswitch.io/v1, GPT-Modelle pro Token zum Katalogpreis abgerechnet, mit öffentlich einsehbarer täglicher Prüfung.