模型
渠道 Model ID、鉴权、列出模型,以及成功体里没有顶层 billing。
Dex Buddy 网关对外只有两种模型能力:文案(kind=chat)和生图(kind=image)。配图不是第三种模型,它是同一条生图渠道,先上传参考图再生成。
插件作者走 插件开发 → 模型,用 bindModels(ctx)。直接调 HTTP 的人走下面三篇。
对照表
公开页不请求 GET /v1/models。下表手维护;和现网不一致时改这一页。示例里的 model 用这里的 ID。你也可以用 Key 自己调目录核对。
| 显示名 | kind | 用途 | 渠道 Model ID |
|---|---|---|---|
| 文案 | chat | 补全;识图走同一接口,messages[].content 放 image_url | dexbuddy/chat |
| 生图 | image | 按张生图 | image-standard |
| 生图 Pro | image | 按张生图 | image-pro |
| 生图配图 | image | 先上传参考图再生成 | 与生图同一 ID |
不要把内部测试名写成对外承诺。
准备 Key
- 打开 密钥页 创建一把用户 API Key。未登录会先到
/login?next=/account/keys。 - 前缀是
dbh_sk_。示例里写成$DEX_API_KEY,不要把真实密钥贴进文档或仓库。 - 请求头:
Authorization: Bearer $DEX_API_KEY。
Cookie 会话也可以打同一组 /v1,主路径写 Key。不要用上游供应商 Key,也不要把管理后台 Cookie 当令牌。
Base URL 是当前网关的 /v1,例如 https://www.dexbuddy.app/v1。
列出模型
需要身份。页面本身不会调用这个接口。
curl -sS "$BASE/v1/models" \
-H "Authorization: Bearer $DEX_API_KEY"成功是 { object: "list", data: [{ id, kind?, ... }] }。id 是渠道 Model ID。文件上传上游不进目录。
必须知道的合同
- 文案是 OpenAI Chat Completions 代理:body 按官方字段写即可。对外
model是渠道 ID(对照表里的名字),不是上游货源。 stream: true会被拒绝。网关只做非流式。- 成功体没有顶层
billing,也没有上游system_fingerprint。 - 文案错误体是
{ error: { message, type, code } }。其它/v1错误体是{ ok: false, code, error }。 - 报价可选:
POST /v1/billing/quote。它不替代真正的补全或生图。