API 密钥管理
创建与管理 API 密钥、供应商路由策略、额度与有效期、模型限制与 IP 白名单。
API 密钥(API Key)是调用接口的凭证。所有对 /v1/... 接口的请求都要在请求头带上:
Authorization: Bearer sk-xxxxxxxx菜单位置:左侧 常规 → API 密钥。
创建密钥
点击列表右上角的新建,表单分为三块:基本信息、额度设置、高级设置。只有名称是必填的,其余全部保持默认就能用。
基本信息
| 字段 | 说明 |
|---|---|
| 名称 | 便于识别用途,建议按「环境-业务」命名,如 生产-订单服务、本地开发 |
| 供应商路由 | 决定这把密钥走哪条线路。默认智能路由 → 智能自动,详见下一节 |
| 过期时间 | 提供 1 小时 / 1 天 / 1 个月 / 永不过期,也可自选日期。到期后密钥自动失效 |
| 数量 | 一次批量创建多把密钥。名称会自动加序号,适合给多个同事或多个环境一次性分发 |
额度设置
| 字段 | 说明 |
|---|---|
| 无限配额 | 默认开启。这把密钥不设单独上限,能花到账户余额花完为止 |
| 额度 | 关闭「无限配额」后填写,是这把密钥的消费上限(单位为美元金额) |
密钥额度不是一笔独立的钱,钱始终从账户余额出。它的作用是「限额」——比如给外包同事一把额度 $5 的密钥,即使账户里有 $500,这把密钥最多也只能花掉 $5。
密钥额度用完后状态变成已耗尽,调用会被拒绝;编辑该密钥调高额度即可恢复。
高级设置
| 字段 | 说明 |
|---|---|
| 模型限制 | 限制这把密钥只能调用选中的模型。不选则不限制 |
| IP 白名单 | 限制只有指定 IP 能用这把密钥,支持 CIDR 表达式(如 203.0.113.0/24)。留空不限制 |
| 图片响应格式 | 生图类接口返回 URL 还是 base64,见下方说明 |
| 图片转存策略 | 是否把上游返回的图片转存到平台,见下方说明 |
创建成功后立即复制并保存 sk- 开头的密钥。
密钥等同于账户的消费权限。不要提交到代码仓库、不要写进前端代码、不要发在群里。
一旦怀疑泄露,立刻在列表里删除该密钥并新建一把——禁用只是暂停,删除才是彻底失效。
供应商路由
同一个模型,平台通常接了多条上游线路。界面上把这些线路叫供应商。供应商路由决定你的请求走哪条线,直接影响价格、速度和成功率。
有两种模式:
智能路由(默认,推荐)
由平台自动挑选当前最优的可用供应商,并带熔断机制——某条线路出问题会被自动摘掉,不用你手工干预。
可以选一个偏好策略:
| 策略 | 适用场景 |
|---|---|
| 智能自动(默认) | 综合价格、速度、成功率平衡取优。不确定时选它 |
| 价格优先 | 成本敏感的批量任务、离线处理 |
| 速度优先 | 对首字延迟敏感的交互式场景,如在线客服、实时对话 |
| 成功率优先 | 对稳定性要求高的生产链路,宁可慢一点也要成功 |
还可以设置忽略供应商:把你明确不想用的线路排除掉,剩下的仍由系统自动选。
指定供应商
手动指定一个供应商调用顺序。请求会严格按你排的顺序尝试。
配合跨供应商重试开关:开启后,当前供应商的线路全部失败时,会按顺序尝试下一个供应商;关闭则只用第一个,失败即返回错误。
除非你有明确的线路偏好(例如合规要求必须走某个区域的线路),否则建议保持智能路由。手动指定顺序意味着你要自己承担某条线路故障时的可用性风险。
图片相关设置
只有调用生图类模型时这两个设置才起作用。
图片响应格式:
| 选项 | 行为 |
|---|---|
| 跟随请求或端点(默认) | 由你的请求参数或所调用的接口决定 |
| 强制 URL | 始终返回图片链接 |
| 强制 base64 | 始终返回 base64 编码,适合不方便再发一次 HTTP 请求去取图的环境 |
图片转存策略(仅在响应格式为「强制 URL」时可选):
| 选项 | 行为 |
|---|---|
| 默认存储 | 按平台默认策略处理 |
| 仅存 base64 | 只保留 base64 数据 |
| 存 URL 和 base64 | 两者都保留 |
上游返回的原始图片链接通常有效期很短。如果你需要长期保存生成结果,建议自己落库,或参考自有存储把结果自动转存到你自己的对象存储。
管理已有密钥
密钥列表里每一行可以:
- 查看用量 — 这把密钥的累计消费与调用次数;
- 编辑 — 修改上面所有字段(密钥值本身不会变);
- 禁用 / 启用 — 临时停用,不影响已有配置;
- 删除 — 永久失效,不可恢复。
批量选中后可以一次性禁用或删除。
密钥状态
| 状态 | 含义 | 怎么恢复 |
|---|---|---|
| 已启用 | 正常可用 | — |
| 已禁用 | 被手动停用 | 在列表里重新启用 |
| 已过期 | 超过设定的过期时间 | 编辑并延长过期时间,或设为永不过期 |
| 已耗尽 | 密钥自身额度用完 | 编辑并调高额度,或改为无限配额 |
密钥即将过期时,系统会提前(默认 3 天)给你发邮件提醒。可以在个人资料 → 通知里关闭这类提醒。
在代码中使用
平台兼容 OpenAI 的接口格式,绝大多数 SDK 只需要改两处:base_url 和 api_key。
curl https://<你的站点域名>/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5.5", "messages": [{"role": "user", "content": "Hello"}]}'from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxx",
base_url="https://<你的站点域名>/v1",
)
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)import OpenAI from 'openai'
const client = new OpenAI({
apiKey: process.env.API_KEY,
baseURL: 'https://<你的站点域名>/v1',
})
const resp = await client.chat.completions.create({
model: 'gpt-5.5',
messages: [{ role: 'user', content: 'Hello' }],
})
console.log(resp.choices[0].message.content)API 地址就是你当前访问的站点域名,不需要 api. 前缀。完整参数与更多接口见 API 参考。
安全建议
- 一个用途一把密钥 — 生产、测试、每个同事各自一把。出问题时可以精确定位并单独吊销,不影响其他业务。
- 用环境变量,不要硬编码 — 密钥不应出现在源码、配置文件、前端代码或截图里。
- 给密钥设上限 — 对外部协作方、试用场景,关闭「无限配额」并设一个你能接受的金额。
- 能锁 IP 就锁 IP — 服务端调用的场景,IP 白名单是成本最低的防泄漏手段。
- 定期查日志 — 在使用日志里按密钥筛选,异常的调用量通常是最早的泄漏信号。