认证
区分控制台登录认证与模型调用 API Key,正确配置 OpenAI 和 Anthropic 请求头。
两种认证场景
GFW 的认证按请求目标区分:
| 场景 | 地址示例 | 凭据 | 用途 |
|---|---|---|---|
| 控制台业务 | https://api.gfw.net/api/v1/* | 登录会话令牌 | 账户、Key、用量、订单和流水页面 |
| 模型调用 | https://api.gfw.net/v1/* | API Key | Chat、Responses、图片、视频等模型请求 |
控制台的登录会话只用于同源业务接口。应用调用模型时,应使用控制台创建的 API Key,不要把登录令牌当作模型凭据。
管理 API Key
在控制台打开 使用 → API 密钥:
- 创建时填写
name,名称只用于识别用途。 - 当前控制台创建流程填写名称即可。Key 的额度、速率或有效期等限制若在页面或账户策略中出现,以实际页面和接口返回为准;不要假定未展示的选项已经生效。
- 列表显示 Key 前缀和状态。按控制台提供的操作撤销或删除 Key;撤销后不能继续用于模型调用。
- 完整 Key 不应再次暴露给浏览器之外的任何人。若需要恢复,后端可能返回“创建时未保存完整 Key”错误,此时只能重新创建。
export GFW_API_KEY='your-api-key'应用启动时从环境变量读取它,不要把值硬编码在源码中。
OpenAI 兼容请求
在 /v1 模型接口中使用 Bearer 认证。下面只展示请求头和最小请求体,响应内容为平台实际返回的数据。
curl -sS https://api.gfw.net/v1/chat/completions \
-H "Authorization: Bearer ${GFW_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-max",
"messages": [{"role": "user", "content": "你好"}]
}'qwen3.7-max 是模型目录中的公开 model_code 示例。实际可用性仍以请求当时的目录和你的账户权限为准。
Anthropic Messages 请求
Anthropic 官方 SDK 使用根地址 https://api.gfw.net,SDK 会在根地址后请求 /v1/messages。直接调用时使用 x-api-key 和必需的 anthropic-version 请求头:
curl -sS https://api.gfw.net/v1/messages \
-H "x-api-key: ${GFW_API_KEY}" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-max",
"max_tokens": 256,
"messages": [{"role": "user", "content": "你好"}]
}'该入口返回 Anthropic Messages 风格的响应。模型必须是可用于对话的模型;图片和视频模型应调用各自的 OpenAI 兼容端点。
认证失败与密钥保护
模型调用失败时,先按下面顺序检查:
- URL 是否使用了模型 API 的
/v1,而不是控制台的/api/v1。 - Bearer 或
x-api-key是否引用了当前环境中的GFW_API_KEY。 - Key 是否仍为启用状态,是否达到 Key 额度、速率或过期限制。
model是否使用目录里的model_code,而非供应商上游 ID。
不要记录完整请求头。排查日志只保留 Key 前缀、时间、模型代码、HTTP 状态和服务端返回的错误 type/code。
收到 401 时不要尝试把控制台 JWT、浏览器 localStorage 内容或其他用户凭据放入模型请求。回到 控制台 → 使用 → API 密钥 创建或轮换 API Key。