Claude Code と Codex API:プロトコル設定と初回テストの確認項目
Claude Code と Codex で異なる API 契約を、短いテストで検証するための実践的なチェックリスト。
目次
Claude Code と Codex API:プロトコル設定と初回テストの確認項目
「OpenAI-compatible」と書かれていても、Claude Code と Codex を同じ設定で使えるとは限りません。Claude Code は Anthropic Messages の契約を前提とし、Codex の custom provider は OpenAI Responses を使います。料金を見る前に、各クライアントのガイド、Base URL、認証項目、現在の Model ID を確認してください。
BetterToken で両方を試す場合は、まず最新の Claude Code ガイド と Codex ガイド を開きます。プロトコルごとに endpoint は分かれており、API Key は自分のアカウントで作成します。短いリクエストの後、Dashboard でステータス、モデル、input/output/cache token、請求額を確認できます。
クライアント契約は二つある
| クライアント | 確認すべき契約 | BetterToken で確認する値 |
|---|---|---|
| Claude Code | Anthropic-compatible Messages と文書化された認証変数 | https://bettertoken.ai。Claude Code が /v1/messages を追加 |
| Codex CLI/App | Chat Completions だけではなく Responses を使う custom provider | https://www.bettertoken.ai/v1 と wire_api = "responses" |
現在の Claude Code ガイドでは ANTHROPIC_BASE_URL と ANTHROPIC_AUTH_TOKEN を使います。この Base URL に /v1 を付けないでください。Messages のパスはクライアントが追加します。Codex は ~/.codex/config.toml から provider を読み、BETTERTOKEN_API_KEY からキーを読みます。
OpenAI の Codex 設定リファレンス と Claude Code のドキュメント はクライアント側の一次情報です。provider 固有の値は、その provider の最新ガイドでも必ず確認します。
最小構成を確認する
Codex は起動前に Responses の設定になっているかを確認します。
model_provider = "custom"
model = "YOUR_MODEL_ID"
[model_providers.custom]
base_url = "https://www.bettertoken.ai/v1"
env_key = "BETTERTOKEN_API_KEY"
wire_api = "responses"
requires_openai_auth = false
YOUR_MODEL_ID は意図的なプレースホルダーです。モデルの提供状況と ID は変わるため、古い記事ではなく、現在のセットアップ画面またはモデルカタログから完全な ID をコピーします。custom provider のキーを ~/.codex/auth.json に置いてはいけません。
Claude Code では Codex の表を流用せず、次のプロトコル変数を確認します。
{
"env": {
"ANTHROPIC_BASE_URL": "https://bettertoken.ai",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY"
}
}
設定ファイルの場所や任意変数は最新ガイドに従います。API Key を prompt、issue、スクリーンショット、リポジトリに入れないでください。
実作業の前に短いテストをする
- 実行するクライアントとバージョンの最新ガイドを開きます。
- 共有アカウントではなく、自分用のテスト API Key を作ります。
- Base URL と現在の Model ID を文書または Dashboard からコピーします。
- Claude Code では route と認証変数、Codex では provider、環境変数、
wire_api = "responses"を確認します。 - 本番 secret のない空のリポジトリで始めます。
- 範囲を絞った小さなタスクを送ります。
- ステータス、モデル、token、表示される retry、最終請求額を記録し、その後に同じ代表タスクを同条件で繰り返します。
コストと初回エラーを読む
input token の単価だけでは agent task のコストは分かりません。プロジェクト文脈、ツール出力、cache、retry、出力長が合計を変えます。候補ごとに Model ID、input/output/cache token、リクエスト数、エラー、retry、最終請求額を同じタスクで記録します。BetterToken の変動するモデルと価格は 現在の価格ページ で確認し、日付付きの記事の数値は履歴として扱います。
| 症状 | 最初に確認すること |
|---|---|
401 | キー、文書化された項目名、貼り付けた空白 |
404 / 接続失敗 | プロトコルに合う Base URL。クライアントが追加する完全な HTTP パスは書かない |
model not found | 同じ provider と key group の完全で現在の Model ID |
| Codex の API mode error | wire_api = "responses"。Chat Completions だけでは不十分 |
429 | endpoint の制限、Retry-After、安全に再試行できるか |
| streaming が切れる | このプロトコルの streaming 対応、ネットワーク、リクエスト状態 |
| 請求が不明 | モデル、token 記録、usage history の retry |
一度のテストで変える項目は一つだけにします。URL、キー、モデル、クライアント設定のどれが原因かを切り分けられます。
記録されたテストで選ぶ
これは速度、安定性、最安値のランキングではありません。異なる二つのクライアント契約を検証する手順です。テスト当日に文書を確認し、同じリポジトリタスクについて設定結果、エラー、token 記録、最終請求額から判断してください。
本番作業へ移る前に、BetterToken の Claude Code ガイド または Codex ガイド を開き、別の API Key を作成して、最初のリクエストを Dashboard で確認します。