在 Claude Code 使用自己的 API 金鑰
Claude Code 只要設定兩個環境變數,就能改用 API 金鑰計費:ANTHROPIC_BASE_URL 指向 https://api.relayswitch.io/v1,ANTHROPIC_AUTH_TOKEN 填入 RelaySwitch 的金鑰。之後每一輪對話從預付餘額按 token 扣款,不需要 claude.ai 訂閱。
01訂閱登入與 API 金鑰:兩種計費方式
Claude Code 有兩種身分。一種是用 claude.ai 帳號登入(/login),走訂閱方案的額度;另一種是給它一把 API 金鑰,按 token 計費。兩種可以裝在同一台電腦上,但一個工作階段只會用其中一種。
本頁說的是第二種。Claude Code 會讀兩個環境變數:ANTHROPIC_BASE_URL 決定請求送到哪個網址,ANTHROPIC_AUTH_TOKEN 是那個網址認得的金鑰。兩個都指向 RelaySwitch 之後,每一輪對話從你的預付餘額扣款,模型 id 還是原本的 Claude id。金鑰怎麼取得,見 Claude API 金鑰。
02macOS、Linux、WSL:在終端機設定
先在目前的終端機視窗暫時設定,跑得通再寫進設定檔。金鑰會以 Authorization: Bearer 送出;Base URL 帶不帶 /v1 都可以,本站的範例一律填 https://api.relayswitch.io/v1。
只設網址、不設金鑰的話,Claude Code 會繼續使用已經登入的 claude.ai 帳號。
export ANTHROPIC_BASE_URL="https://api.relayswitch.io/v1"export ANTHROPIC_AUTH_TOKEN="sk-relay-..."claude03Windows:PowerShell 的寫法
Claude Code 支援原生 Windows,不一定要裝 WSL。在 PowerShell 裡這樣設定,同樣只對目前這個視窗有效:
$env:ANTHROPIC_BASE_URL = "https://api.relayswitch.io/v1"$env:ANTHROPIC_AUTH_TOKEN = "sk-relay-..."claude04寫進 settings.json 與 VS Code
要讓設定對所有專案、所有啟動方式都生效,把兩個變數寫進使用者層級的 ~/.claude/settings.json 的 env 區塊(Windows 是 %USERPROFILE%\.claude\settings.json)。同一個變數在終端機和設定檔都有時,以設定檔為準。
金鑰不要寫進專案目錄下的 .claude/settings.json,那個檔案會跟著程式碼一起提交。VS Code 的 Claude Code 擴充功能讀的是它自己的設定項 claudeCode.environmentVariables,要填在 VS Code 的使用者設定裡。桌面版不讀這兩個環境變數,本頁只涵蓋命令列與 VS Code 擴充功能。
05確認請求真的走這把金鑰
先繞過 Claude Code,直接對 API 送一個最小的請求(本節最後的 curl);回覆 200 和一段 JSON,代表網址和金鑰都正確。接著啟動 claude 檢查三件事:
- 啟動後不再出現登入畫面。
- 在工作階段裡執行
/status:Anthropic base URL一行顯示https://api.relayswitch.io/v1,Auth token一行的來源是ANTHROPIC_AUTH_TOKEN。第一行沒出現,表示變數沒有傳進這個處理程序;出現的是登入帳號而不是 Auth token,表示金鑰變數沒有生效。 - 請求會在幾秒內出現在控制台的用量頁,每一筆都有模型 id、計費 token 與費用。
curl -i https://api.relayswitch.io/v1/messages \ -H "Authorization: Bearer sk-relay-..." \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model": "claude-fable-5.1", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with ok"}]}'06opus、sonnet、haiku 分別指向哪個模型
/model 可以在 opus、sonnet、haiku 三個別名之間切換:opus 留給最難的工作,sonnet 是日常主力,haiku 便宜又快,Claude Code 的背景功能也用它。每個別名指向哪個 id,由 ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL 三個環境變數決定,價格表裡的 Claude id 都可以填。
費用的差距主要來自輸出單價與快取單價。日常工作用 sonnet 這一級,遇到它反覆改不好的問題再切到更貴的模型,會比全程用最貴的模型省。
07Claude 模型即時價格
目錄裡目前有 13 個 Claude 模型,價格在頁面產生時讀取,單位是美元/每百萬 token。點模型名稱會開啟英文的模型頁,上面有快取輸入的價格。
| 模型 | 開發商 | 輸入 | 輸出 | 上下文長度 |
|---|---|---|---|---|
| Claude Fable 5.1claude-fable-5.1 | Anthropic | $6.00 | $30.00 | 1,000,000 |
| Claude Fable 5.2claude-fable-5.2 | Anthropic | $4.00 | $20.00 | 1,000,000 |
| Claude Fable 5claude-fable-5 | Anthropic | $3.00 | $15.00 | 1,000,000 |
| Claude Opus 5.5claude-opus-5-5 | Anthropic | $2.716 | $9.70 | 1,000,000 |
| Claude Sonnet 4.6claude-sonnet-4-6 | Anthropic | $1.80 | $9.00 | 1,000,000 |
| Claude Opus 4.6claude-opus-4-6 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Opus 4.7claude-opus-4-7 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Opus 4.8claude-opus-4-8 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Opus 5claude-opus-5 | Anthropic | $1.80 | $7.50 | 1,000,000 |
| Claude Haiku 4.5claude-haiku-4-5 | Anthropic | $0.60 | $3.00 | 200,000 |
| Claude Sonnet 5claude-sonnet-5 | Anthropic | $1.20 | $3.00 | 1,000,000 |
| Claude Sonnet 5.5claude-sonnet-5-5 | Anthropic | $1.20 | $3.00 | 1,000,000 |
| Claude Haiku 5.5claude-haiku-5-5 | Anthropic | $0.0582 | $0.1455 | 1,000,000 |
美元/每百萬 token
08快取與實際花費
Claude Code 每一輪都會送出整段對話,並標記為可快取。從快取讀到的 token 以該模型的快取價計費,只是輸入價的一小部分。快取預設保留五分鐘,所以停了比較久再繼續時,下一輪會以輸入價重算一次整段上下文。
Claude Code 畫面上顯示的費用,是它自己依 Anthropic 官方定價估算的;實際扣了多少,要看控制台的用量頁,或該次請求的收據。
09替 Claude Code 這把金鑰設預算
程式代理會自己連續送出很多輪請求,出問題時花錢很快。建議在控制台替 Claude Code 另外建一把金鑰,設一個美元預算,再加上每日消費上限:到了上限,API 回覆 402,這把金鑰停下來,帳戶裡其餘的餘額不受影響。也可以設模型白名單,只允許它呼叫你選定的幾個 Claude id。
常見問題
- 用 API 金鑰還需要 claude.ai 帳號或訂閱嗎?
- 不需要。依 Claude Code 的文件,設定 ANTHROPIC_AUTH_TOKEN 之後,請求帶的是這把金鑰,不帶 claude.ai 的登入,訂閱方案的用量限制也不會套用。帳戶開在 RelaySwitch,用 Email 就能開。
- ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 要用哪一個?
- 建議用 ANTHROPIC_AUTH_TOKEN:它以 Authorization: Bearer 送出,設定後立即生效。ANTHROPIC_API_KEY 以 x-api-key 送出,互動模式下要先確認一次。兩個只留一個;同時設定而且值不同,API 會回覆 400,說明請求裡帶了不只一把金鑰。
- 環境變數設好了,為什麼 Claude Code 還是要我登入?
- 變數沒有傳到這個處理程序。從 Dock 或開始功能表啟動的編輯器,讀不到終端機裡 export 的變數;把兩個變數寫進 ~/.claude/settings.json 的 env 區塊,再執行 /status,看有沒有 Anthropic base URL 這一行。
- Windows 一定要裝 WSL 嗎?
- 不用。Claude Code 支援原生 Windows(Windows 10 1809 以上),在 PowerShell 或 CMD 都能安裝,不需要系統管理員權限。Git for Windows 是選用的:有裝的話 Claude Code 用 Git Bash 執行指令,沒裝就用 PowerShell。
- 可以在 Claude Code 裡用 GPT、Gemini 或 DeepSeek 嗎?
- 可以填,但體驗不一定好。Claude 的 id 是原生執行;填 GPT、Gemini 或 DeepSeek 的 id 時,API 會把 Messages 請求轉成該模型的 OpenAI 格式再轉回來,過程中會捨棄 thinking 與 cache_control 欄位。Anthropic 並不支援在非 Claude 模型上使用 Claude Code,工具呼叫可能比較不順。
- 出現 401、402 或 403 是什麼意思?
- 401 是金鑰不對或已撤銷,或放在 Claude Code 沒讀到的變數裡;402 是餘額不足,或這把金鑰的預算、消費上限用完了;403 是呼叫了金鑰模型白名單以外的 id。這幾種都在請求送到模型之前就回覆,不會扣款。