1 つの API キーで Claude、GPT、Gemini、DeepSeek をまとめて呼び出せるサービスは、大きく 2 種類です。OpenRouter や HopBase のようなマネージドのマルチモデル・ゲートウェイと、LiteLLM や One API のように自社で運用するオープンソースのゲートウェイ(こちらは各モデルベンダーとの契約が別途必要)です。HopBase の場合、1 本のキーに 1〜10 個のグループを含められ、Claude、GPT、Gemini、DeepSeek、Qwen、GLM、Kimi、Doubao、Hunyuan、Grok をカバーできます。GPT、Gemini、中国系モデルは OpenAI 互換の https://api.hop-base.com/v1、Claude は Anthropic Messages の https://api.hop-base.com(/v1 なし)を使います。同じプロトコル内なら、モデルの切り替えは model フィールドを変えるだけです。以下に、そのまま動く curl と Python のコード、そして選択肢の中立的な比較表を示します。
1 本のキーで複数のモデルファミリーに届く仕組み:2 つのプロトコル
マルチモデル・ゲートウェイは、すべてのモデルを 1 つのリクエスト形式に押し込むわけではありません。実際には、大半のモデルは OpenAI 互換形式、Claude は Anthropic ネイティブの Messages 形式のままです。どちらも同じキーで呼び出せ、違うのは Base URL とパスだけです。
| プロトコル | Base URL | エンドポイント | 対象モデル | 認証 |
|---|---|---|---|---|
| OpenAI 互換 | https://api.hop-base.com/v1 | POST /v1/chat/completions(一部モデルは /v1/responses も可) | GPT、Gemini、DeepSeek、Qwen、GLM、Kimi、Doubao、Hunyuan、Grok | Authorization: Bearer |
| Anthropic Messages | https://api.hop-base.com(/v1 なし) | POST /v1/messages | Claude(こちらのみ)。Gemini、DeepSeek、Doubao も利用可 | x-api-key |
よくある失敗は 2 つです。Claude は /v1/messages 専用で、/v1/chat/completions に送ると 404 になります。kimi-k3 は Chat Completions 専用で、/v1/responses と /v1/messages では 404 です。
呼び出せるモデルはキーのグループで決まる
- コンソールの「API キー」でキーを作成し、グループを 1〜10 個選びます。1 グループが 1 つのモデルファミリーに対応します(例:Claude、DeepSeek、Qwen、GLM、Kimi K3)。
GET /v1/modelsでキーが呼び出せるモデルを確認します。選んだグループのモデルの和集合が返ります。- 返ってきた完全なモデル ID だけを使います。グループ外のモデルは 404
model_not_foundになり、別のモデルに黙って置き換えられることはありません。 - 各リクエストはそのモデルを持つ 1 つのグループが処理・課金し、利用記録でどのグループかを確認できます。
モデルが重複するグループは同じキーに入れられません。サブスクリプション型グループはそのグループ単独のキーにする必要があります。
コード例:model フィールドだけでモデルを切り替える
ステップ 1:キーで呼び出せるモデルを確認します。
curl https://api.hop-base.com/v1/models \
-H "Authorization: Bearer sk-your-key"
ステップ 2:OpenAI 互換形式で DeepSeek を呼び出します。Qwen や GLM にするなら model を変えるだけです。
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Reply with only: ok"}]
}'
ステップ 3:Python で 1 つの OpenAI クライアントを使い、6 つのモデルファミリーを順に呼び出します。キーに GPT(Codex Plus または Codex Pro)、Gemini、DeepSeek、Qwen、GLM、Kimi K3 の各グループが含まれている前提です。
# pip install openai
from openai import OpenAI
client = OpenAI(base_url="https://api.hop-base.com/v1", api_key="sk-your-key")
for model in ["gpt-5.6-sol", "gemini-3.8-flash", "deepseek-v4.1-flash",
"qwen3.8-max", "glm-5.3", "kimi-k3"]:
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "一文で自己紹介してください。"}],
)
print(model, "->", resp.choices[0].message.content)
ステップ 4:Claude は Anthropic SDK で呼び出します。Base URL に /v1 は付けず、キーには Claude グループが必要です。max_tokens は明示してください。省略すると 4096 が補われます。
# pip install anthropic
import anthropic
client = anthropic.Anthropic(base_url="https://api.hop-base.com", api_key="sk-your-key")
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "一文で自己紹介してください。"}],
)
print(msg.content[0].text)
{"error":{"code":"model_not_found",...}} が返ったら、/v1/models を呼び直し、コンソールでキーに該当グループを追加します。
選択肢の比較
表には確認できた事実だけを載せています。OpenRouter の列は公開ドキュメントと公開モデル API に基づき、2026-11-05 に確認しました。「公開ページに記載なし」は、機能がないという意味ではありません。
| 観点 | 各ベンダーと個別に契約 | 自社運用ゲートウェイ(LiteLLM、One API) | OpenRouter | HopBase |
|---|---|---|---|---|
| 中国系モデル | ベンダーごとに登録・本人確認・入金 | 接続したベンダー契約次第 | 公開モデル一覧に DeepSeek、Qwen、GLM(z-ai)、Kimi(moonshotai)、ByteDance Seed | DeepSeek、Qwen、GLM、Kimi、Doubao、Hunyuan |
| Claude のネイティブ Messages | Anthropic 自身の API でネイティブ | プロジェクトとバージョン次第 | Anthropic Messages API 互換の入口があるとドキュメントに記載。Claude Code は ANTHROPIC_BASE_URL=https://openrouter.ai/api | 対応。https://api.hop-base.com + /v1/messages |
| チームのクォータと部門 | 各ベンダーのコンソールで個別管理 | 仮想キーと予算は一般的。部門は自前で設定 | Organization の共有クレジットプール、admin / member ロール。メンバー別上限は公開ページに記載なし | メンバー、部門、キー / メンバー / 部門の 3 階層クォータ |
| 課金通貨と支払い方法 | ベンダーごとに通貨・支払い方法が異なる | ソフトは無料、モデル料金は各ベンダーへ | 米ドル建てクレジット。主要クレジットカード、Alipay、USDC | 米ドルの従量課金。Alipay、WeChat Pay、Visa / Mastercard |
| リクエスト単位の照合 | ベンダーごとの請求書を個別に確認 | ゲートウェイのログと各請求書を自前で突き合わせ | Activity ページでモデル・API キー別に利用履歴を絞り込み | CSV の各行に公式コスト・割引・為替レート・請求額。「公式コスト × 割引 ÷ 為替レート = 請求額」で再計算可能 |
どれを選ぶか
- 使うのは 1〜2 社で、契約も済んでいる:各ベンダーと個別に使うのが最も簡単です。
- データ所在地の要件があり、運用担当者がいる:LiteLLM や One API の自社運用。ソフトは自由に管理できますが、契約・可用性・照合も自社の仕事です。
- 海外モデル中心の個人・小規模チーム:OpenRouter はモデルの幅が広く、まず検討する価値があります。
- Claude Code と中国系モデルを併用し、部門別クォータと 1 行単位の照合が必要:HopBase は 1 本のキーで両プロトコルを提供します。料金は各ベンダーの公式定価 × グループ割引で、料金ページで確認できます。
中国系モデルごとの注意点(思考フィールド、画像入力、ツール呼び出し)は DeepSeek・Qwen・GLM・Kimi・Doubao を OpenAI 互換キー 1 本で、プラットフォーム全体の比較は 2026年の OpenRouter 代替、接続手順は クイックスタートを参照してください。準備ができたら 登録してキーを作成できます。
よくある質問
1 つの API キーで Claude と GPT を両方呼び出せますか?
キーに Claude グループと GPT グループの両方が含まれていれば可能です。ただしプロトコルが異なります。GPT は https://api.hop-base.com/v1 の Chat Completions か Responses、Claude は https://api.hop-base.com の /v1/messages です。キーは同じで、クライアント側に Base URL を 2 つ設定します。
DeepSeek、Qwen、GLM、Kimi を OpenAI SDK でそのまま呼べますか?
呼べます。OpenAI SDK の base_url を https://api.hop-base.com/v1 にし、model に /v1/models が返す ID(deepseek-v4.1-flash、qwen3.8-max、glm-5.3、kimi-k3 など)を指定します。ベンダー名のプレフィックスは不要です。
モデル名を変えたら 404 model_not_found になるのはなぜですか?
そのモデルがキーのグループに含まれていないか、ID の綴りが違います。モデル ID は完全一致で、自動補正はされません。GET /v1/models で有効な ID を確認し、足りないグループをコンソールでキーに追加してください(1 キー最大 10 グループ)。