OpenAI 相容 API 是接受與 OpenAI API 相同請求與回應格式的端點,官方 OpenAI SDK 換掉 base URL 與金鑰後就能呼叫它。本文整理 OpenAI 平台本身已經管得到什麼、閘道從哪一刻開始划算、實際要改的程式碼,以及同一個工作負載在六個模型上的花費。
簡短回答
只有一個團隊、只用 OpenAI 模型,而且 OpenAI 的專案上限已經符合你的預算規則,就直接用 OpenAI API。
出現下列任一情況,就該加一層 OpenAI 相容閘道:
- 第二家供應商進來了,例如寫程式用 Claude、大量分類用 Gemini Flash,而財務希望只有一張帳單、一套上限。
- 好幾個團隊共用一筆 AI 預算,每個團隊都需要跨供應商的上限與模型清單。
- 想用自己的提示詞比較模型,又不想接三套 SDK。
OpenAI 平台已經提供的控管
單一供應商時,過去需要閘道才能做到的控管,OpenAI 大多已經自己做了:
- 專案可以把測試與正式環境分開,各自有金鑰、速率上限與花費上限(正式環境最佳實務)。
- 兩種花費控管:花費提醒只發通知,流量照跑;硬性花費上限會讓受影響的請求回傳 429(速率上限說明)。
- 專案層級的「Model usage」設定,限制專案可以呼叫哪些模型(管理專案)。
- 使用量等級(usage tier)會在付款累積到一定金額前限制每月花費,從 Tier 1 每月 100 美元到 Tier 5 每月 200,000 美元。
如果流量全部是 OpenAI,先用好這些功能。
直接串接的極限
上面這些上限只管得到 OpenAI 的模型。團隊一加入 Claude,Anthropic 主控台就有另一套工作區、花費上限與金鑰(Anthropic 工作區)。再加上 Gemini,就是第三個主控台。實際上會變成:
- 有人離職時,要在三個地方發放與撤銷金鑰。
- 三套互相看不到的預算,「客服機器人每月跨所有供應商最多花 3,000 美元」這條規則沒有地方能執行。
- 月底收到三張格式不同的帳單。
- 程式碼分散在 OpenAI、Anthropic、Google 三套 SDK。
閘道在它們前面放一套金鑰、上限與紀錄。
程式要改哪裡
用 ATP Token 時 OpenAI SDK 照用,只改三個值(OpenAI SDK 說明、從 OpenAI 遷移):
from openai import OpenAI
# 原本:client = OpenAI(api_key="sk-...")
client = OpenAI(base_url="https://api.atptoken.ai/v1", api_key="atp-...")
for model in ["gpt-5.4", "claude-sonnet-4-6", "gemini-3-5-flash"]:
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "請分類這張工單:「退款十天還沒收到」"}],
max_tokens=200,
)
print(model, r.choices[0].message.content, r.usage.total_tokens)
不變的部分:Chat Completions 的請求內容、回應內容、stream=True 的串流(OpenAI SSE),以及工具定義。
會變的部分:
- 模型 id 以
GET /v1/models回傳的為準(模型查詢)。OpenAI 模型沿用gpt-5.4這類熟悉的名稱;其他模型用claude-sonnet-4-6、deepseek-v4-flash這類 id。 - 不在專案允許清單上的模型,會在送到任何供應商之前回傳 403。
- 專案點數用完時,請求回傳 402(錯誤)。
- ATP 的 OpenAI 格式端點是
/v1/chat/completions、/v1/models與/v1/files。程式若呼叫其他 OpenAI 端點,搬移前先查 API 參考。
使用 Anthropic 或 Google GenAI SDK 的團隊不必改成 OpenAI 格式:同一把專案金鑰也能在 https://api.atptoken.ai 搭配這兩套 SDK 使用(Anthropic SDK、Google GenAI SDK)。
同一個工作負載在六個模型上的花費
假設一個分類服務每月處理 100 萬筆請求,每筆輸入 1,000 個 token、輸出 300 個 token,也就是每月 10 億個輸入 token、3 億個輸出 token。依各模型頁的定價:
價格只是一半的決定。換模型之前,先拿幾百張真實工單,跑過達到品質標準的兩三個最便宜模型。可以從 DeepSeek 與 Claude、Gemini 與 GPT 的並排比較頁開始。
遷移清單
- 列出程式裡每個建立 OpenAI client 的地方,以及各自呼叫的端點。
- 每個服務在 ATP 建一個專案,只啟用該服務需要的模型(工作區與專案)。
- 撥點數給每個專案,撥款額度就是上限(預算上限)。
- 每個專案發一把金鑰,存進密鑰管理工具(管理金鑰)。
- 先在測試環境改 base URL、金鑰與模型 id,在請求紀錄裡比對輸出與 token 數(用量與紀錄)。
- 正式環境一次搬一個服務,最後撤銷不再使用的 OpenAI 金鑰。


