月账单从 $200 砍到 $60,我只改了一行 base_url
月账单从 $200 砍到 $60,我只改了一行 base_url
结论先说:把 API 请求转到国内中转,同时把非必要的 Claude Sonnet 调用换成 Haiku,账单直接掉到三分之一。
痛点
我有个自用的代码审查 bot,每天跑 CI 的时候自动 review PR。模型用的 claude-sonnet-4-6,效果确实好,但上个月账单出来:$194。
仔细一看,问题很明显:
1. 大量"不需要那么聪明"的调用在用贵模型——比如格式检查、注释生成、简单的 diff summary,完全没必要上 Sonnet
2. 官方 API 没有国内直连,延迟高导致 timeout 重试,重试又产生新的 token 消耗
3. Claude API 官方本来就贵,没有折扣
怎么改的
第一步:换 base_url,一行搞定
找了个支持 OpenAI 格式的中转,改一行:
import anthropic
client = anthropic.Anthropic(
api_key="你的中转key",
base_url="https://api2everything.xyz/v1",
)
或者用 OpenAI SDK 直接调 Claude(中转做了格式兼容):
from openai import OpenAI
client = OpenAI(
api_key="你的中转key",
base_url="https://api2everything.xyz/v1",
)
response = client.chat.completions.create(
model="claude-haiku-4-5-20251001",
messages=[{"role": "user", "content": "review this diff: ..."}],
)
curl 版本:
curl https://api2everything.xyz/v1/chat/completions \
-H "Authorization: Bearer 你的key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-5-20251001",
"messages": [{"role": "user", "content": "你好"}]
}'
第二步:按任务分级调用模型
我把调用分成两档:
| 任务类型 | 原来 | 现在 |
|---|---|---|
| 格式检查、注释生成 | claude-sonnet-4-6 | claude-haiku-4-5-20251001 |
| 复杂逻辑 review、架构建议 | claude-sonnet-4-6 | claude-sonnet-4-6(保留) |
Haiku 速度快、价格大概是 Sonnet 的 1/10,处理简单任务完全够用。
代码层面就是加个路由:
def get_model(task_type: str) -> str:
if task_type in ("format", "comment", "summary"):
return "claude-haiku-4-5-20251001"
return "claude-sonnet-4-6"
结果
这个月跑了 20 天,预计账单 ¥430 左右(约 $60)。主要省在两块:
- 中转比官方便宜约 35%,SVIP 还有 7.7 折
- Haiku 替换掉了约 70% 的调用量
延迟反而比之前低了,国内直连没有那种偶发的 timeout。
今天 V2EX 上也有人在说 gpt-5.6-sol 下午一直报 capacity 满、plus 不稳定,官方服务抖动的时候中转通常还能用,算是个备选保障。
我用的是 api2everything.xyz,注册送 ¥1,够试好几十次调用,余额永久不过期,感兴趣可以先试试再充。