docai.cc

401 invalid_api_key:API Key 无效怎么解决

401高频认证401api-key

30 秒结论

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

先用 curl 直接请求一次——curl 能过就是客户端配置问题,curl 也不过就是 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"}}

原因排序

概率 原因 怎么确认
40% Key 复制时带了空格或换行 echo "$KEY" | cat -A 看首尾
25% 环境变量名不对 客户端要求的变量名可能不是 OPENAI_API_KEY
15% 用错了 Key(测试/正式、不同站点) 拿 Key 前 8 位对一下后台
10% Key 已被禁用或删除 后台看状态
10% 请求头格式不对 应该是 Authorization: Bearer sk-xxx 或 x-api-key: sk-xxx

修法

第一步:剥离客户端,用 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 在设置界面里填,不读环境变量

责任判定表

现象 责任方
curl 也 401,换 Key 就好 你的 Key
同一个 Key 在 A 站好用、B 站 401 B 站
昨天好用今天 401,Key 没动 站点把 Key 停了,或过期
只有某个模型 401 该分组没开通这个模型

特别注意

中转站的 Key 和官方 Key 不通用。你在 OpenAI 官网拿的 sk-proj- 开头 Key,拿到中转站用一定 401。

还是没解决?把报错贴进来

纯本地判断,不上传你的报错内容。支持 400 / 401 / 403 / 404 / 413 / 429 / 500 / 502 / 503 / 504 / 529 及常见错误码文字。

新用户福利:先免费试,再决定充值

注册就送积分,可兑换 API 额度。拿真实请求验证本页结论,比看十篇教程都有用。

领免费额度