中转站报 401 invalid_api_key,Key 明明复制对了

环境: cursor 2.4 + gpt-5.5,走中转
后台查了 Key 状态是正常的

报错全文:

// OpenAI
{'error': {'message': 'Incorrect API key provided: sk-xxx. You can find your API key at https://platform.openai.com/account/api-keys.', 'type': 'invalid_request_error', 'code': 'invalid_api_key'}}

// Anthropic
{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}

// 中转站常见
{"error":{"message":"无效的令牌","type":"new_api_error"}}
{"error":{"message":"令牌已过期","type":"new_api_error"}}

查了下资料,说最常见原因是「Key 复制时带了空格或换行」,但我这个场景……求大佬指点。

这个我们在报错百科里做过完整排查,直接给结论:

401 只有一个意思:你的 Key 没有被接受。 90% 的情况是复制时带了空格、环境变量名写错,或者用错了环境的 Key。

先用 curl 直接请求一次——curl 能过就是客户端配置问题,curl 也不过就是 Key 本身的问题。

修法(节选自百科,完整版见正文链接):

第一步:剥离客户端,用 curl 验证

# OpenAI 兼容
curl https://api.example.com/v1/models \
  -H "Authorization: Bearer $KEY"

# Anthropic
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5-5","max_tokens":16,"messages":[{"role":"user","content":"hi"}]}'
  • curl 通过 → 问题在客户端配置
  • curl 也 401 → 问题在 Key 或站点

第二步:检查环境变量

不同客户端认的变量名不同,写错了会被当成"没配 Key":

客户端 常用变量名
OpenAI SDK OPENAI_API_KEY
Anthropic SDK ANTHROPIC_API_KEY
Claude Code ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY
Codex CLI OPENAI_API_KEY
Cursor 在设置界面里填,不读环境变量

完整排查文档(含全部概率排序和责任判定):401 invalid_api_key:API Key 无效怎么解决 · 报错百科 · docai.cc
按这个改完基本就通了。还报错的话把你改后的完整报错贴上来,我再看。