從其他平台遷移

把應用從 OpenAI、OpenRouter 或 Anthropic 官方 API 遷到 HopBase:要改的三項、各 SDK 的改前改後程式碼、一把金鑰一個分組的規則,以及不支援的功能。

把現有應用遷到 HopBase,只需要改三項:Base URL、金鑰,有時還有模型名稱。請求內容、串流處理和錯誤處理程式碼都不用動。

要改什麼

OpenAIOpenRouterAnthropicHopBase
Base URLhttps://api.openai.com/v1https://openrouter.ai/api/v1https://api.anthropic.comOpenAI 協定:https://api.hop-base.com/v1
Anthropic 協定:https://api.hop-base.com(不帶 /v1)
金鑰OpenAI 金鑰一把 OpenRouter 金鑰呼叫所有模型Anthropic 金鑰在「API 金鑰」裡建立的 sk-…,綁定一個套餐分組
模型名稱gpt-5.5openai/gpt-5.5、anthropic/claude-sonnet-5claude-sonnet-5不帶廠商前綴,按 GET /v1/models 回傳的原樣填寫:gpt-5.5、claude-sonnet-5

各模型系列走哪種協定,見 Base URL 與協定。

一把金鑰 = 一個分組 = 一個模型系列

每個分組各建一把金鑰。這和 OpenRouter 正好相反——OpenRouter 一把金鑰能呼叫所有模型。HopBase 的金鑰只綁定一個套餐分組:GET /v1/models 只回傳這個分組的模型,呼叫分組外的模型回傳 404 model_not_found。同時使用 Claude 和 GPT 的應用需要兩把金鑰(一把 Claude 分組、一把 Codex Plus 或 Codex Pro 分組),在程式碼裡依模型選用。

OpenAI SDK

設定 Base URL、換掉金鑰即可。gpt-5.5 這類 OpenAI 模型 ID 只要出現在這把金鑰的 GET /v1/models 裡,就不用改。

 import os
 from openai import OpenAI

 client = OpenAI(
-    api_key=os.environ["OPENAI_API_KEY"],
+    base_url="https://api.hop-base.com/v1",
+    api_key=os.environ["HOPBASE_OPENAI_API_KEY"],
 )

 resp = client.chat.completions.create(
     model="gpt-5.5",
     messages=[{"role": "user", "content": "Hello"}],
 )

不想改程式碼的話,兩個 SDK 都會讀取環境變數 OPENAI_BASE_URL 和 OPENAI_API_KEY:分別設為 https://api.hop-base.com/v1 和你的 HopBase 金鑰。更多範例見 OpenAI SDK。

Anthropic SDK

Claude 繼續走 Anthropic Messages API。Base URL 不帶 /v1,金鑰用「Claude Max(官號滿血版)」分組的。「Claude Max(ccmax)」分組的金鑰只能在 Claude Code 用戶端裡用,SDK 呼叫會失敗。

 import os
 from anthropic import Anthropic

 client = Anthropic(
-    api_key=os.environ["ANTHROPIC_API_KEY"],
+    base_url="https://api.hop-base.com",
+    api_key=os.environ["HOPBASE_CLAUDE_API_KEY"],
 )

 msg = client.messages.create(
     model="claude-sonnet-5",
     max_tokens=1024,
     messages=[{"role": "user", "content": "Hello"}],
 )

同樣可以只改環境變數:ANTHROPIC_BASE_URL=https://api.hop-base.com。詳見 Anthropic SDK。

OpenRouter

改 Base URL 和金鑰,去掉模型名稱裡的廠商前綴,並刪掉 OpenRouter 的來源標識請求標頭——HopBase 用不到它們。

 import os
 from openai import OpenAI

 client = OpenAI(
-    base_url="https://openrouter.ai/api/v1",
-    api_key=os.environ["OPENROUTER_API_KEY"],
-    default_headers={"HTTP-Referer": "https://your-app.example", "X-Title": "Your App"},
+    base_url="https://api.hop-base.com/v1",
+    api_key=os.environ["HOPBASE_OPENAI_API_KEY"],
 )

 resp = client.chat.completions.create(
-    model="openai/gpt-5.5",
+    model="gpt-5.5",
     messages=[{"role": "user", "content": "Hello"}],
 )

如果你之前是透過 OpenRouter 的 OpenAI 相容端點呼叫 Claude,HopBase 上 Claude 沒有這條路徑:請按上一節改用 Anthropic SDK 和 Claude 分組金鑰。其他系列(Gemini、GLM、通義千問、DeepSeek、Kimi、Grok)繼續用 OpenAI SDK,各用自己分組的金鑰。

不支援的功能

你可能在用的在 HopBase 上
透過 /v1/chat/completions 或 /v1/responses 呼叫 Claude回傳 404。請改用 Anthropic Messages——Anthropic SDK
透過 /v1/responses 或 Gemini 原生 SDK 路徑呼叫 Gemini只支援 Chat Completions——Gemini 對話
透過 /v1/responses 呼叫 Kimi K3只支援 Chat Completions——Kimi K3
Embeddings、語音轉寫、Files、Batch、Assistants、微調、內容審核介面不提供,這些路徑回傳 404
一把金鑰呼叫所有模型每個分組各一把金鑰(見上文)
OpenRouter 的模型候補清單(models)、provider 路由、:online / :free 這類模型後綴不支援,刪掉後只傳一個模型 ID

完整端點清單見 Base URL 與協定。

遷移後檢查

列出金鑰可用的模型

用新金鑰呼叫 GET https://api.hop-base.com/v1/models,只使用回應裡出現的 ID。

發一個小請求

讓模型「只回覆 ok」,確認回傳 200。404 通常是模型不在這把金鑰的分組裡,或 Base URL 用錯了協定——見錯誤碼與重試。

查這把金鑰還能花多少

GET https://api.hop-base.com/v1/usage 回傳這把金鑰可用的餘額,欄位說明見帳戶與目錄 API。

本頁目錄