エンドポイントと API パス
QCode.cc の 3 つの API プロトコル(Anthropic / OpenAI / Google Gemini)、5 つのアクセスドメイン、BASE_URL の正しい書き方
title: "エンドポイントと API パス" description: "QCode.cc の 3 つの API プロトコル(Anthropic / OpenAI / Google Gemini)、4 つのアクセスドメイン、BASE_URL の正しい書き方"
エンドポイントと API パス¶
このページでは QCode.cc が提供する 3 種類の API プロトコル、4 つのアクセスドメイン、そして BASE_URL の正しい指定方法をまとめて説明します。同じ API キーで 3 つのプロトコルすべてが使えます — プロトコルはリクエストのパスによって決まり、バックエンドが自動でルーティングします。
1. 3 つの API プロトコル¶
QCode.cc は Anthropic Messages、OpenAI、Google Gemini の 3 プロトコルに対応しています:
| プロトコル | 主なクライアント | パス |
|---|---|---|
| Anthropic Messages | Claude Code / Claude Agent SDK / Cline / Aider | /api/v1/messages または等価な /claude/v1/messages |
| OpenAI Chat Completions | OpenAI 公式 SDK / LangChain / DeepSeek-TUI など汎用クライアント | /openai/v1/chat/completions |
| OpenAI Responses | Codex CLI(Codex には必須) | /openai/v1/responses |
| Google Gemini API | Gemini CLI / OpenCode(google provider)/ Google @google/genai SDK |
/gemini/v1beta/models/{model}:generateContent |
リクエストボディのスキーマは各公式 API(Anthropic POST /v1/messages / OpenAI POST /v1/chat/completions / OpenAI POST /v1/responses / Google POST /v1beta/models/{model}:generateContent)と同一です。
注意:
/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 |
北米(Backup) | HTTPS | ロサンゼルスノード、2026-04-22 稼働 |
eu.qcode.cc |
欧州(Backup) | HTTPS | フランクフルトノード |
asia.qcode.cc |
アジア(Backup) | HTTPS | 香港ノード |
同じ API キーで 4 つのドメインすべてを利用でき、いつでも切り替え可能です。
🇨🇳 CN ユーザーへのお知らせ:
asia.qcode.cc(香港ノード、最低レイテンシ)を推奨します。不安定ならapi.qcode.cc(グローバル Route 53)に切り替えてください。すべてのドメインのリクエストは probe.qcode.cc に報告されます——API Key を入力するとリクエスト詳細、コンテキスト長、使用量などを確認できます。
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 |
DeepSeek-TUI(openai provider) |
TOML base_url = または OPENAI_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 |
OpenCode(google provider) |
baseURL |
https://api.qcode.cc/gemini/v1beta |
/gemini/v1beta/models/{model}:generateContent |
Gemini CLI / Google @google/genai SDK |
base URL | https://api.qcode.cc/gemini |
/gemini/v1beta/models/{model}:generateContent |
Gemini の 2 通りの書き方について:OpenCode の
/v1beta/を自動で付加しないため、baseURLは/gemini/v1betaまで含める必要があります。Gemini CLI と Google 公式@google/genaiSDK は/v1beta/を自動で付加するため、base URL は/geminiまでで十分です(/v1betaまで書くと/gemini/v1beta/v1beta/...となり 404 になります)。
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
# Google Gemini プロトコルパスのテスト
curl -X POST https://api.qcode.cc/gemini/v1beta/models/gemini-2.5-pro:generateContent
# → 401 / 400 = パス OK(Gemini の認証は x-goog-api-key ヘッダーまたは ?key= クエリ)
解釈: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、Gemini をすべて呼び出せますか?
A:はい。キーはプロトコル非依存で、プロトコルはリクエストパスで決まります。/api/v1/messages なら Anthropic、/openai/v1/responses なら OpenAI Responses、/gemini/v1beta/models/... なら Google Gemini。
Q:Gemini の baseURL は末尾に /v1beta が必要ですか?
A:ツールによって異なります。OpenCode の google provider では必要です(baseURL を /gemini/v1beta に設定)— このプロバイダは /v1beta/ を自動で付加しません。Gemini CLI と Google 公式 @google/genai SDK では不要です(base URL は /gemini まで)— SDK が /v1beta/ を自動で付加するため、手動で追加すると /gemini/v1beta/v1beta/... となり 404 になります。
Q:どのアクセスドメインを選べばいい?
A:中国本土 → asia.qcode.cc(香港ノード、最低レイテンシ)または api.qcode.cc(グローバル Route 53);北米 → us.qcode.cc;欧州 → eu.qcode.cc。主ドメインが不安定なら別の予備ドメインに自由に切り替えてください。
Q: 自分のリクエスト履歴を確認できますか?
A:はい。すべてのドメイン(api.qcode.cc / asia.qcode.cc / us.qcode.cc / eu.qcode.cc)経由で送信したリクエストは probe.qcode.cc に報告されます。自身の API Key を入力すると、リクエスト一覧、モデル、tokens などを確認できます。
Q:BASE_URL に末尾スラッシュは必要?
A:不要です。多くの SDK は /v1/messages などを自動で付加するので、末尾スラッシュが付いていると //v1/messages となり 404 になります。