エンドポイントと API パス
QCode.cc の 2 つの API プロトコル(Anthropic / OpenAI)、4 つのアクセスドメイン、BASE_URL の正しい書き方
エンドポイントと API パス¶
このページでは QCode.cc が提供する 2 種類の API プロトコル、4 つのアクセスドメイン、そして BASE_URL の正しい指定方法をまとめて説明します。同じ API キーで両方のプロトコルが使えます — プロトコルはリクエストのパスによって決まり、バックエンドが自動でルーティングします。
1. 2 つの API プロトコル¶
QCode.cc は Anthropic Messages と OpenAI の両プロトコルに対応しています:
| プロトコル | 主なクライアント | パス |
|---|---|---|
| Anthropic Messages | Claude Code / Claude Agent SDK / Cline / Aider | /api/v1/messages または等価な /claude/v1/messages |
| OpenAI Chat Completions | OpenAI 公式 SDK / LangChain など汎用クライアント | /openai/v1/chat/completions |
| OpenAI Responses | Codex CLI(Codex には必須) | /openai/v1/responses |
リクエストボディのスキーマは各公式 API(Anthropic POST /v1/messages / OpenAI POST /v1/chat/completions / OpenAI POST /v1/responses)と同一です。
注意:
/api、/claude、/openai/v1はいずれもパスプレフィックスであり、単独のエンドポイントではありません。SDK が/v1/messages、/chat/completions、/responsesなどを自動で付加します。curl https://api.qcode.cc/apiを直接実行すると 404 が返りますが、これは正常な挙動です。
2. 4 つのアクセスドメイン¶
4 つのドメインが提供する機能は同一で、違いはネットワークルーティングのみ:
| ドメイン | 対象地域 | スキーム | 備考 |
|---|---|---|---|
api.qcode.cc |
グローバル(Route 53 遅延ベース) | HTTPS | 中国本土以外の推奨、最寄りノードへ自動ルーティング |
us.qcode.cc |
北米 | HTTPS | ロサンゼルスノード、2026-04-22 稼働 |
eu.qcode.cc |
欧州 | HTTPS | フランクフルトノード |
asia.qcode.cc |
アジア | HTTPS | 香港ノード |
103.236.53.153 |
中国本土 | HTTP | 深圳直通、最低遅延(裸 IP) |
同じ API キーで 4 つのドメインすべてを利用でき、いつでも切り替え可能です。中国本土ユーザーは最小の遅延を得るため 103.236.53.153(HTTP、HTTPS ではない点に注意)の利用を推奨します。
3. BASE_URL 設定対応表¶
ご利用のツールに応じて下表のとおり設定してください:
| ツール | 環境変数 / 設定キー | 設定値 | SDK が送信する先 |
|---|---|---|---|
| Claude Code | ANTHROPIC_BASE_URL |
https://api.qcode.cc/api |
/api/v1/messages |
| Claude Agent SDK | base_url= コンストラクタ引数 |
https://api.qcode.cc/api |
/api/v1/messages |
| Cline / Aider | Anthropic モードの base URL | https://api.qcode.cc/api |
/api/v1/messages |
| OpenAI Python/JS SDK | base_url= コンストラクタ引数 |
https://api.qcode.cc/openai/v1 |
/openai/v1/chat/completions |
| Codex CLI | TOML base_url = |
https://api.qcode.cc/openai |
/openai/v1/responses |
中国本土ユーザーは https://api.qcode.cc を http://103.236.53.153 に置き換えるだけで OK です(HTTP であることに注意)。
4. curl によるセルフテスト¶
SDK を組み込む前に、パスの可達性とネットワーク疎通は curl で POST を打つだけで確認できます:
# Anthropic プロトコルパスのテスト
curl -X POST https://api.qcode.cc/api/v1/messages
# → 401 が返れば成功。パスは正しく、Authorization ヘッダーが無いだけ(期待通り)
# OpenAI Chat Completions テスト
curl -X POST https://api.qcode.cc/openai/v1/chat/completions
# → 401 = パス OK
# OpenAI Responses(Codex が使用)
curl -X POST https://api.qcode.cc/openai/v1/responses
# → 401 = パス OK
解釈:401 Unauthorized はパスマッピングが正しく、ネットワークも到達していて、認証ヘッダーが未指定であることを示します — これは良い兆候です。404 が返る場合はパスプレフィックスが誤っているので、第 3 節の表を再確認してください。
実際の API キーを使ったエンドツーエンドテスト:
curl -X POST https://api.qcode.cc/api/v1/messages \
-H "x-api-key: YOUR_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-5","max_tokens":64,"messages":[{"role":"user","content":"ping"}]}'
同じパスでドメインを us.qcode.cc / eu.qcode.cc / asia.qcode.cc に切り替えても同じ結果が得られるはずです — これにより、その代替ドメインが利用可能であることを確認できます。
5. FAQ¶
Q:curl https://api.qcode.cc/api が 404 を返すのはなぜ?
A:/api はパスプレフィックスでありエンドポイントではないためです。正しいパスは /api/v1/messages です。
Q:/api/v1/messages と /claude/v1/messages に違いはありますか?
A:ありません。両方のプレフィックスが Anthropic Messages プロトコルにルーティングされます。ドキュメントでは Claude エコシステム SDK のデフォルトに合わせて /api を使っています。
Q:1 つの API キーで Claude と Codex の両方を呼び出せますか?
A:はい。キーはプロトコル非依存で、プロトコルはリクエストパスで決まります。/api/v1/messages なら Anthropic、/openai/v1/responses なら OpenAI Responses。
Q:どのドメインを選べばいい?
A:中国本土 → 103.236.53.153(HTTP、深圳直通)。それ以外 → api.qcode.cc(グローバルルーティング)。主ドメインが不安定なら us / eu / asia に切り替えて OK。
Q:BASE_URL に末尾スラッシュは必要?
A:不要です。多くの SDK は /v1/messages などを自動で付加するので、末尾スラッシュが付いていると //v1/messages となり 404 になります。