具體問題

同事問我:「除了 OpenRouter,還有別家能接 Claude Code 嗎?」問的不是有沒有,而是換過去之後,帳單會不會比較便宜、出問題查不查得到原因。

2026 年這類 API 閘道(gateway)不少,規格頁看起來也差不多:都寫一個金鑰、幾百個模型、相容 OpenAI 與 Anthropic。真正把兩家分開的,是回應裡多出來的那幾個欄位,以及錢是在哪一步被扣走的。

以下把 2026 年 10 月 12 日的一次實測與兩份文件的對照整理成一條判準:先看欄位,再看計價,最後才看模型數量。

環境與方法

實測用三支請求走完:Claude Code 的最小 Messages 請求、帶 cache_control 的長上下文請求、以及 budget_tokens 分別設 128 與 1024 的對照。受測模型是 claude-haiku-5-5、claude-sonnet-5-5、claude-opus-5-5,全部走 HTTP,沒有把官方文件裡的設定說明當成實測結果。

兩家的模型條目數、欄位命名與定價,取自各自公開介面與文件;OpenRouter 一側的規格以官方文件為準,沒有付費實測。日期標在每個數字旁邊,是因為這類數據三個月就會變。

結果與證據

第一個差別在回應欄位。 同一條 Anthropic Messages 請求,一邊回的是正規化格式,一邊回的是原生格式。原生那邊有四個欄位是 OpenAI 相容格式表達不了的:

欄位 作用
cache_creation.ephemeral_5m_input_tokens<br>cache_creation.ephemeral_1h_input_tokens 快取寫入按 5 分鐘/1 小時兩檔分別計數
output_tokens_details.thinking_tokens 思考 token 從輸出裡單獨列出
diagnostics.cache_miss_reason 這次為什麼沒命中(實測回 previous_message_not_found)
safeguard_results 安全檢查結果

正規化不是缺點。它是聚合器的必然選擇,而且有好處:程式從 Claude 換到 Gemini 再換到 DeepSeek,解析 usage 的邏輯一行都不用改。代價出現在故障那一刻——命中率掉了,正規化之後只看到 cached_tokens 變成 0,接下來只能自己猜。

# 三個斷言,把「安靜失敗」變成「明確報錯」
diag = resp.get("diagnostics") or {}
assert resp["usage"]["output_tokens_details"]["thinking_tokens"] > 0, "thinking 沒觸發,檢查 budget_tokens"
miss = diag.get("cache_miss_reason")
if miss:
    print(f"快取未命中原因: {miss}")

第二個斷言特別有用:budget_tokens 給小了不會報錯,介面照樣回 200,只是 thinking_tokens 是 0。實測時 128 沒有觸發、1024 才有,四款 Claude 的反應還不一樣。

第二個差別在規則寫在哪。 OpenRouter 的降級寫在請求裡(models 清單或 @preset/<name> 預設集),用戶端必須送它特有的東西;另一家把模型白名單與 token 預算掛在 API 金鑰上,用戶端照送原本的模型名,未授權的模型回 model not allowed(403),超預算回 429。

第三個差別在模型池。 正規化之後 372 對 177,交集 77。差距集中在開源權重長尾:Qwen3 37 對 12、Gemini 23 對 8、DeepSeek 17 對 4。這一格沒有折衷空間,要跑冷門開源模型就是選 OpenRouter。

幫你算一筆帳

多數人以為價差在匯率或折扣,其實大頭在快取命中率。

按 Anthropic 的規則,快取寫入是標價的 1.25 倍、讀取是 0.1 倍、1 小時 TTL 寫入是 2 倍。兩家都用這組係數,差的是你知不知道它有沒有命中。

用 Claude Sonnet 5.5(輸入 $2 / 輸出 $10)算,一輪帶 6 萬 token 上下文、一天 40 輪:

  • 全程不命中:0.06M × $2 = $0.12 一輪,40 輪 $4.80 / 天
  • 全程命中:首輪寫入 0.06M × $2 × 1.25 = $0.15,之後 39 輪各 × 0.1 = $0.012,合計 $0.62 / 天

一天差 $4.18,一個月約 $125。同樣的 token,十倍的單價差,全部來自命中沒命中。

至於標價之上的那一筆:OpenRouter Standard 方案刷卡儲值收 5.5%(Business 8%,手續費不退),按每百萬 token 換算就是標價 × 1.055。以 2026 年 10 月 13 日的價格頁快照為例,GPT-6 Astra 官方 $10 / $50,在 OpenRouter 是 $10.55 / $52.75;另一家那天的標價是 $6.50 / $32.50,低 35%。同一個月 $1,000 的用量,一年差約 $4,860。

邊界:什麼情況該選哪一邊

你的需求 落在哪一側 理由
多模型橫向比較、開源權重長尾 OpenRouter 372 對 177
程式要在多廠商之間切換 OpenRouter 正規化欄位,解析邏輯不用改
資料落地、零保留、主權雲 OpenRouter ZDR 與區域內路由有完整文件
要照文件實作限流策略 OpenRouter 402 / 403 / 429 分工
任務可以等 OpenRouter Batch API 約半價
模型固定在 Claude 這一兩支 另一家 原生欄位透傳
要查快取為什麼沒命中 另一家 cache_miss_reason 寫在回應裡
要 token 級預算與環境隔離 另一家 現成機制
要拆分限流 另一家 限流按 token 計
剛上手一個編碼工具 另一家 五個工具各有整合頁

Claude Code 換過去是三個環境變數的事:

export ANTHROPIC_BASE_URL="https://api.crazyrouter.com"
export ANTHROPIC_AUTH_TOKEN="你的金鑰"
export ANTHROPIC_MODEL="claude-sonnet-5-5"

沒驗證的部分

  • 延遲與錯誤率沒有測。 兩家都沒有穩定的對照方法,單機 ping 一次不構成證據,所以這篇不給延遲數字。
  • 429 的實際門檻沒有測。 限流按 token 計是從排障文件推出來的,不是壓測結果。
  • OpenRouter 一側沒有付費實測。 規格與價格來自官方文件與公開介面,實際帳單行為以使用者的對帳單為準。
  • 折扣不能外推。 35% 是 10 月 13 日某一個模型的快照,換模型、換月份都要重新確認。

價格與模型數自己拉最準,兩個介面都免金鑰:

curl -s https://openrouter.ai/api/v1/models | jq '.data | length'
curl -s https://crazyrouter.com/api/pricing | jq '.data | length'

參考資料

Crazyrouter

OpenRouter(對照來源)


此人尚未填寫簡介。

共有 0 則留言


此人尚未填寫簡介。
🏆 本月排行榜
🥇
站長阿川
260
🥈
boluoji
📝4  
50
🥉
mike
1
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次