认证与地址
API 密钥应通过请求头传递。不要放在 URL 路径、日志、前端 JavaScript 或公开配置文件中。
OpenAI Compatible 与 Responses
http
Authorization: Bearer sk-your-key
Content-Type: application/jsonAuthorization负责鉴权;Bearer后必须保留一个空格。Content-Type表示请求正文使用 JSON。- 只替换
sk-your-key,不要把整行写进 API Key 输入框。
Base URL:
text
https://sprelaytoken.com/v1Claude Messages
http
x-api-key: sk-your-key
anthropic-version: 2023-06-01
content-type: application/jsonx-api-key放 Sprelay 密钥,不需要Bearer前缀。anthropic-version告诉接口按哪个 Anthropic 协议版本解析请求。- 三行都是请求头,不要放进 JSON 正文。
Base URL 使用站点根地址:
text
https://sprelaytoken.comClaude SDK 会继续拼接 /v1/messages。
Gemini Native
推荐使用请求头:
http
x-goog-api-key: sk-your-key
Content-Type: application/jsonx-goog-api-key 直接填写密钥;Gemini 原生 SDK 如果专门提供 API Key 参数,应把密钥传给该参数,而不是自行改成 Bearer Token。
请求路径:
text
https://sprelaytoken.com/v1beta/models/{model}:generateContent环境变量
bash
# 只替换右侧引号内的值;export 让后续命令可以读取该变量。
export SPRELAY_API_KEY="sk-your-key"powershell
# $env: 表示当前 PowerShell 会话的环境变量。
$env:SPRELAY_API_KEY = "sk-your-key"dotenv
# .env 文件只写 KEY=VALUE,不需要 export,也不要在等号两边加空格。
SPRELAY_API_KEY=sk-your-key将 .env 加入 .gitignore。仓库中只提交不含真实值的 .env.example。
常见地址错误
| 实际地址 | 问题 |
|---|---|
.../v1/v1/chat/completions | 客户端和配置都追加了 /v1 |
.../chat/completions/chat/completions | 把完整端点填进 Base URL 字段 |
.../v1/messages 用 OpenAI JSON | 路径是 Claude,正文却是 OpenAI 格式 |
.../v1beta/models/... 使用 Bearer 但 SDK 固定读 Gemini Key | 请求头与 SDK 预期不一致 |
密钥轮换
创建新密钥并先验证,然后更新应用 Secret,确认新请求正常后再撤销旧密钥。不要先删除正在使用的密钥,以免服务立即中断。
更多控制方法见密钥安全与限制。
