曜智枢

曜智枢 中转服务使用指南#

本文面向使用曜智枢 API 中转服务的用户:把曜智枢当作一个兼容 OpenAI / Claude / Gemini 协议的模型接口地址,接入自己的客户端、插件或代码。

阅读顺序建议:只想尽快跑通,看第一章;要接入工具,看第六章;要接 Agent,看第七章;要生成 Wan 视频,看第八章;报错不清楚原因,直接查第十章和第十一章。

站点地址:https://www.yotopivot.top 本文只写接口怎么调。模型名称、可用范围与账号额度请在站内的「模型广场」和「控制台」查看。


一、五分钟快速开始#

第 1 步:注册并登录#

  1. 打开 https://www.yotopivot.top。
  2. 注册账号:填写用户名、密码、邮箱,并在邮箱验证码一栏点击发送验证码,填入收到的验证码完成注册。
  3. 注册后登录,进入控制台。

第 2 步:创建 API 密钥#

  1. 在控制台左侧进入「API 密钥」(地址 https://www.yotopivot.top/keys)。
  2. 点击新建密钥,填写名称,按需设置分组、模型限制、IP 白名单、过期时间与额度,保存。
  3. 在列表里点该条目的「复制密钥」,得到形如 sk-xxxxxxxx... 的密钥;点「复制连接信息」可以一次拿到接口地址与密钥。

密钥只在创建时方便复制,请立即保存。一个应用配一枚密钥,出问题可以单独禁用,不必影响其他工具。

第 3 步:接进你用的工具#

先分清你是哪一类,两条路的做法不一样:

图形客户端只需要填两样东西:

要填的项 值
接口地址 / API 地址 / Base URL https://www.yotopivot.top/v1
API 密钥 / API Key 你在控制台创建的密钥,形如 sk-xxxxxxxx...

不管走哪条路,都建议先用命令行确认密钥可用(把 sk-xxxxxxxx 换成你的密钥):

curl https://www.yotopivot.top/v1/models \
  -H "Authorization: Bearer sk-xxxxxxxx"

返回里 data 数组就是这枚密钥当前可以调用的模型名。接着发一条最小的对话请求(把 模型名 换成返回列表里的任意一个):

curl https://www.yotopivot.top/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "模型名",
    "messages": [{"role": "user", "content": "你好"}]
  }'

能拿到正常回答,说明这一章已经完成,后面按需选读。


二、API 基本信息#

服务地址#

用途 地址
OpenAI 兼容接口(绝大多数客户端填这个) https://www.yotopivot.top/v1
Claude 兼容接口 https://www.yotopivot.top/v1(对话端点为 /v1/messages)
Gemini 原生接口 https://www.yotopivot.top/v1beta
绘画任务(Midjourney 类) https://www.yotopivot.top/mj
音乐任务(Suno 类) https://www.yotopivot.top/suno

客户端里通常要求填「Base URL / 接口地址」,填到 /v1 为止;少数插件要求填完整的请求地址,这时要带上具体端点,例如 https://www.yotopivot.top/v1/chat/completions。

鉴权方式#

所有中转接口都需要 API 密钥,支持以下几种写法:

场景 写法
通用(推荐) 请求头 Authorization: Bearer sk-xxxxxxxx
Claude 协议 /v1/messages 请求头 x-api-key: sk-xxxxxxxx(也可用 Authorization)
Gemini 协议 /v1beta/... 请求头 x-goog-api-key: sk-xxxxxxxx,或查询参数 ?key=sk-xxxxxxxx
Realtime(WebSocket) 连接协议头 Sec-WebSocket-Protocol 中带 openai-insecure-api-key.sk-xxxxxxxx
Midjourney Proxy 类客户端 请求头 mj-api-secret: sk-xxxxxxxx

密钥被当作敏感信息处理:不要写进会公开的代码仓库、前端页面或截图里。

响应头与请求追踪#

每个响应都会带一个请求编号:

X-Oneapi-Request-Id: 202609200202124569850508268d9d6Ub6AWfdu

报错时,响应体里的 message 也会带上同一个编号,例如 ... (request id: 2026092...Ub6AWfdu)。反馈问题时把这个编号一起贴上,能最快定位到具体那一次请求。

关于报错语言#

同一类错误,服务端会按客户端声明的语言返回中文或英文文案,例如密钥无效在中文环境下是「无效的令牌」,在英文环境(或未声明语言,如大多数 curl 默认请求)下是 Invalid token。判断错误请以 HTTP 状态码 + 错误码 为主,文案仅作参考。


三、支持的接口#

OpenAI 兼容#

接口 说明
POST /v1/chat/completions 对话补全,最常用;支持 stream: true 流式返回
POST /v1/completions 旧版文本补全
POST /v1/responses Responses 协议
POST /v1/responses/compact Responses 上下文压缩
POST /v1/embeddings 文本向量
POST /v1/images/generations 图片生成
POST /v1/images/edits 图片编辑(图生图 / 局部重绘)
POST /v1/edits 旧版图片编辑端点
POST /v1/audio/transcriptions 语音转文字
POST /v1/audio/translations 语音翻译
POST /v1/audio/speech 文字转语音
POST /v1/videos 创建异步视频生成任务
GET /v1/videos/{id} 查询视频生成状态
GET /v1/videos/{id}/content 下载已完成的视频
POST /v1/rerank 重排序
POST /v1/moderations 内容审核
GET /v1/models 查询当前密钥可用的模型列表
GET /v1/models/{模型名} 查询单个模型
GET /v1/realtime Realtime 语音对话(WebSocket)

Claude 兼容#

接口 说明
POST /v1/messages Claude Messages 协议,可用 x-api-key 头鉴权

Gemini 兼容#

接口 说明
POST /v1beta/models/{模型}:{动作} Gemini 原生格式,例如 :generateContent
GET /v1beta/models Gemini 原生模型列表
GET /v1beta/openai/models 以 OpenAI 格式列出 Gemini 可用模型

任务类#

视频、绘画与音乐属于异步任务型接口,提交后需要再查询结果:

接口 说明
POST /v1/videos 提交视频生成任务;Wan 3.0 见第八章
GET /v1/videos/{id} 查询视频任务状态
GET /v1/videos/{id}/content 下载状态为 completed 的视频
POST /v1/video/generations 旧视频创建兼容入口;新接入使用 /v1/videos
POST /mj/submit/* 提交 Midjourney 类绘画任务
GET /mj/task/{id}/fetch 查询绘画任务结果
POST /suno/submit/{动作} 提交音乐任务
POST /suno/fetch、GET /suno/fetch/{id} 查询音乐任务结果

暂不支持#

以下端点会返回「接口未实现」,请不要在客户端里配置:


四、查询可用模型#

不要凭记忆猜模型名,直接问接口:

curl https://www.yotopivot.top/v1/models \
  -H "Authorization: Bearer sk-xxxxxxxx"

返回结构:

{
  "success": true,
  "object": "list",
  "data": [
    {
      "id": "模型名",
      "object": "model",
      "created": 1700000000,
      "owned_by": "...",
      "supported_endpoint_types": ["openai", "openai-response"]
    }
  ]
}

有两点值得注意:

  1. 这个列表是「按密钥」算出来的,不是全站模型清单。密钥所属分组、以及密钥自身的模型限制,都会收窄这里的结果。
  2. supported_endpoint_types 表示该模型支持哪些调用形式,客户端里选错端点类型会报模型不可用;以它为准,不要硬套。

站内的「模型广场」(https://www.yotopivot.top/pricing)可以按模型查看说明与调用示例,点进任意模型详情即可看到可直接复制的 cURL、Python、TypeScript、JavaScript 片段。

模型规格以 Codex 客户端为准#

本站的 ChatGPT / Codex 系列模型是把 Codex 客户端的链路反代出来的,不是官方 API 直连。所以涉及模型规格时,请对照 Codex 客户端,而不是 OpenAI 官方 API 文档——尤其是上下文长度:

模型 上下文长度
5.6 系列 400K
6astra 800K

在客户端或代码里照抄官方 API 的数字来配上下文预算,很容易和实际可用长度对不上;拿不准时以上表为准,表里没列出的模型可在「模型广场」看该模型的说明,或直接咨询站点管理员。


五、API 密钥与分组#

API 密钥上可以设置什么#

创建密钥时可配置的字段,对应到实际行为:

字段 作用
名称 仅用于你自己区分用途
分组 决定这枚密钥走哪一档模型集合。不填则跟随账号默认分组
模型限制 打开后只能调用你勾选的模型,其余模型一律拒绝
IP 白名单 限制只有指定 IP / 网段可以调用,适合部署在固定服务器上的应用
额度 / 无限额度 限制这枚密钥总共能用多少;设为无限额度则不受密钥额度约束
过期时间 到期自动失效,可设为永不过期
跨分组重试 仅当分组是 auto 时生效,允许在分组间自动重试

API 密钥页的常用操作#

在「API 密钥」页每一行的操作菜单里可以:

推荐做法#


六、客户端配置教程#

以下每个客户端的通用逻辑都一样:接口地址填 https://www.yotopivot.top/v1,API 密钥填你在控制台创建的那串 sk- 密钥,模型名从 /v1/models 的返回里挑。不同版本界面用词略有差异,以你当前版本为准。

0. 先试站内一键导入#

在控制台「API 密钥」页对应密钥的操作菜单里选择「Chat」,如果本机装了受支持的客户端,会直接拉起并写入地址与密钥,省去手填。一键导入失败时,按下面的手动方式配置。

同一个操作菜单里还有另一个入口「CC Switch」,服务的是 Claude Code / Codex / Gemini 这类命令行工具——两条路径分工不同:图形客户端走「Chat」,命令行工具走「CC Switch」。

「Chat」子菜单当前支持的客户端,以及自动导入失败时手动该怎么填:

客户端(点名字进下载页) 在令牌页菜单里选 手动配置时填什么
Cherry Studio Cherry Studio API 地址 https://www.yotopivot.top/v1,再手动添加模型名
AionUI AionUI OpenAI 兼容,API 地址 https://www.yotopivot.top/v1
DeepChat DeepChat OpenAI 兼容,API 地址 https://www.yotopivot.top/v1
Lobe Chat Lobe Chat 官方示例 Base URL https://www.yotopivot.top/v1
AI as Workspace AI as Workspace Base URL https://www.yotopivot.top/v1
AMA 问天 AMA 问天 服务器地址填站点域名,密钥填 sk- 密钥
OpenCat OpenCat 域名填站点域名,Token 填 sk- 密钥
流畅阅读 流畅阅读 由站内直接把密钥发送到浏览器扩展,无需手填
CC Switch 操作菜单里的独立入口 见第 1 节的地址对照表

表里带链接的都是各客户端的官方站点或发布页;AMA 问天目前没有稳定的公开下载页,用站内一键导入即可。

下面详细写的 Cherry Studio、Chatbox、NextChat、沉浸式翻译、Cursor / Cline、Claude Code,是使用量最大、也最容易填错地址的几款;其余客户端按上表填写即可,界面用词以你当前版本为准。

1. CC Switch(Claude Code / Codex / Gemini 一键写入)#

如果你用 Claude Code、Codex 或 Gemini 这类命令行工具,这是最省事的一条路:站内直接生成配置并拉起 CC Switch 导入,不用手抄地址和密钥。

2. Cherry Studio#

3. Chatbox#

4. NextChat#

5. 沉浸式翻译#

6. 编码类工具(Agent)#

Cursor、Cline 这类能读写代码、自己跑命令的工具单独成章,见第七章;Claude Code、Codex CLI、Gemini CLI 等命令行工具也在那一章。


七、主流 Agent 接入#

这一章讲的是能自己读写代码、执行任务的工具(Agent):既有带界面的桌面应用与编辑器插件,也有跑在终端里的命令行工具。每个工具的写法定死为「安装 → 配置 → 验证 → 易错点」,配置字段都对照各自的官方文档核对过(来源列在本章末尾)。

先按协议对号入座,再跳到对应小节:

工具 界面 协议 接口地址怎么填
DeepSeek Harness(dsh) 本地 Web 控制台 OpenAI 兼容 https://www.yotopivot.top/v1
ZCode 桌面应用 OpenAI 或 Anthropic 见 7.1.2
Trae IDE OpenAI 兼容 见 7.1.3(要求完整接口地址)
Cursor IDE OpenAI 兼容 https://www.yotopivot.top/v1
Cline / Roo Code 编辑器插件 OpenAI 兼容 https://www.yotopivot.top/v1
Continue 编辑器插件 OpenAI 兼容 https://www.yotopivot.top/v1
Codex CLI 命令行 Responses https://www.yotopivot.top/v1
Claude Code 命令行 Claude https://www.yotopivot.top(不带 /v1)
Gemini CLI 命令行 Gemini https://www.yotopivot.top
Qwen Code 命令行 OpenAI 兼容 https://www.yotopivot.top/v1
iFlow CLI 命令行 OpenAI 兼容 https://www.yotopivot.top/v1
Kimi Code CLI 命令行 OpenAI 或 Anthropic https://www.yotopivot.top/v1

先提醒一句:Agent 会自己发起多轮请求、带上长上下文,额度与限流消耗远高于聊天。建议一个 Agent 配一枚密钥(见第五章),并在密钥上打开模型限制,避免它误用高价模型。

7.1 带界面的 Agent#

7.1.1 DeepSeek Harness(dsh,DeepSeek 官方开源)#

dsh 是 DeepSeek 官方开源的 Agent 执行框架,跑在你自己机器上,通过浏览器里的控制台操作。

npx @deepseek-ai/dsh web

7.1.2 ZCode(智谱,桌面应用)#

7.1.3 Trae#

7.1.4 Cursor#

7.1.5 Cline / Roo Code#

7.1.6 Continue#

7.2 命令行 Agent#

7.2.1 Codex CLI(Responses 协议)#

本站的 ChatGPT / Codex 系列本身就是 Codex 链路,所以 Codex CLI 属于「原生对口」的用法。

model_provider = "yotopivot"
model = "模型名"
disable_response_storage = true

[model_providers.yotopivot]
name = "YOTOPIVOT"
base_url = "https://www.yotopivot.top/v1"
wire_api = "responses"
requires_openai_auth = false
env_key = "YOTOPIVOT_API_KEY"

7.2.2 Claude Code(Claude 协议)#

export ANTHROPIC_BASE_URL="https://www.yotopivot.top"
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxx"
export ANTHROPIC_MODEL="模型名"

Windows PowerShell:

$env:ANTHROPIC_BASE_URL = "https://www.yotopivot.top"
$env:ANTHROPIC_AUTH_TOKEN = "sk-xxxxxxxx"
$env:ANTHROPIC_MODEL = "模型名"

7.2.3 Gemini CLI(Gemini 协议)#

{
  "baseUrl": "https://www.yotopivot.top",
  "apiKey": "sk-xxxxxxxx"
}

也可以改用环境变量提供密钥:GEMINI_API_KEY=sk-xxxxxxxx。

7.2.4 Qwen Code#

export OPENAI_BASE_URL="https://www.yotopivot.top/v1"
export OPENAI_API_KEY="sk-xxxxxxxx"
export OPENAI_MODEL="模型名"

也可以写进 ~/.qwen/settings.json 的 provider 条目(baseUrl + envKey),效果一致。

7.2.5 iFlow CLI#

7.2.6 Kimi Code CLI#

[providers.yotopivot]
type = "openai"
base_url = "https://www.yotopivot.top/v1"
api_key = "sk-xxxxxxxx"

[models."模型名"]
provider = "yotopivot"
model = "模型名"
max_context_size = 400000

7.3 暂未确认支持自定义端点的工具#

下面这些工具在官方文档里没有找到自定义 Base URL / 第三方端点的配置项(核对日期见文末),目前建议直接使用它们的官方账号。如果你在官方文档里找到了接入方式,欢迎反馈给我们补充:

工具 核对结果
通义灵码(阿里) 未找到自定义端点配置项
CodeGeeX(智谱) 未找到自定义端点配置项
文心快码 Comate(百度) 未找到自定义端点配置项
CodeBuddy(腾讯) 未找到自定义端点配置项

7.4 Agent 场景的常见问题#

本章配置字段的官方依据#


八、Wan 3.0 视频生成#

接口与模型#

项目 值
Base URL https://www.yotopivot.top
鉴权 Authorization: Bearer sk-xxxxxxxx
推荐创建接口 POST /v1/videos
查询接口 GET /v1/videos/{id}
下载接口 GET /v1/videos/{id}/content
兼容创建接口 POST /v1/video/generations

新接入请使用 /v1/videos。旧的 /v1/video/generations 只作为已有客户端的创建兼容入口;查询统一使用 /v1/videos/{id}。

支持的模型:

先用 /v1/models 确认当前密钥能看到目标模型。模型不可见时,检查密钥的分组和模型限制;当前生产环境通常通过「生视频」分组提供这两款模型。

创建任务#

curl -sS https://www.yotopivot.top/v1/videos \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -d '{
    "model": "wan3.0-video",
    "prompt": "a red paper lantern rising in snowy night",
    "size": "16:9",
    "seconds": "5"
  }'

需要保留创建请求编号时,给 curl 增加 -D response-headers.txt,并在成功或失败时从该文件提取 X-Oneapi-Request-Id。创建 POST 不要配置自动重试。

成功时返回 HTTP 200。关键字段示例:

{
  "id": "task_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "task_id": "task_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "wan3.0-video",
  "status": "queued",
  "progress": 0,
  "created_at": 1791590000
}

保存并使用 id。task_id 是旧客户端兼容字段,当前与 id 相同;创建响应目前不保证回填 seconds 和 size。

请求参数#

字段 类型 必填 说明
model string 是 wan3.0-video 或 wan3.0-video-prime
prompt string 是 视频内容描述,不能为空
size string 否 分辨率或画幅,规则见下表
seconds string 否 整数秒,范围 2 至 30;省略时为 5 秒

size 支持两类取值:

取值 含义 未显式指定的另一项
480P、720P、1080P 指定分辨率 画幅使用 adaptive
16:9、4:3、1:1、3:4、9:16 指定画幅 分辨率使用 480P
adaptive 自适应画幅 分辨率使用 480P
省略 使用兼容默认值 480P + adaptive

当前公开兼容参数中,size 一次只表达分辨率或画幅之一。不要依赖未在本文列出的 metadata 或供应商原生字段来同时强制指定两者。

时长请按示例使用字符串整数,例如 "seconds":"5"。自动时长 -1 不受支持。

查询状态#

curl -sS https://www.yotopivot.top/v1/videos/<TASK_ID> \
  -H "Authorization: Bearer sk-xxxxxxxx"
状态 含义 客户端处理
queued 已接收,等待处理 继续轮询
in_progress 正在生成 继续轮询
completed 已完成 调用下载接口
failed 任务失败 停止轮询并记录 error、请求编号和任务 ID
unknown 未识别到上游状态 暂停高频轮询,记录请求编号并稍后重查

建议每 10 至 15 秒查询一次,并在连续网络错误或 429/5xx 时采用指数退避。任务创建成功后只轮询原 id,不要重复提交同一个生成请求。

完成响应的关键字段示例:

{
  "id": "task_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "object": "video",
  "model": "wan3.0-video",
  "status": "completed",
  "progress": 100,
  "created_at": 1791590000,
  "completed_at": 1791590120
}

是否完成只看 status,不要用 completed_at 推断任务终态。响应还可能包含 metadata;下载时使用本站 /content 接口,不要依赖其中的临时结果地址。

下载视频#

仅在状态为 completed 后下载:

curl -sS https://www.yotopivot.top/v1/videos/<TASK_ID>/content \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -o output.mp4

成功时当前接口返回 HTTP 200 和完整视频内容。任务尚未完成时返回 400;任务不存在或不属于当前用户时返回 404。

当前公开契约不保证 HTTP Range 请求或 206 Partial Content。需要断点续传的客户端应先按普通完整下载处理。

价格#

以下为基础价格,按生成秒数计费:

模型 480P 720P 1080P
wan3.0-video ¥0.30/秒 ¥0.60/秒 ¥1.20/秒
wan3.0-video-prime ¥0.45/秒 ¥0.90/秒 ¥1.80/秒

分辨率倍率分别为 1、2、4。上面的 16:9 示例使用默认 480P,所以 5 秒 wan3.0-video 的基础费用是 ¥1.50,5 秒 wan3.0-video-prime 是 ¥2.25。

账号或分组折扣可能影响实际结算金额。最终费用以模型广场、任务记录和使用日志显示为准。

错误与重试#

任务处理错误通常使用顶层字段:

{
  "code": "invalid_request",
  "message": "wan3.0 video duration must be between 2 and 30 seconds; automatic duration is not supported",
  "data": null
}

鉴权、路由和下载阶段的错误通常使用 OpenAI 风格的包裹结构:

{
  "error": {
    "code": "model_not_found",
    "message": "No available channel for model wan3.0-video under the current group",
    "type": "new_api_error"
  }
}

错误外形取决于失败发生的层级,创建或查询请求也可能返回第二种结构。客户端应先判断 HTTP 状态码;业务错误码读取 code 或 error.code,错误消息读取 message 或 error.message。

HTTP 常见情况 建议
400 缺少模型或提示词;时长、分辨率、画幅不合法 修正请求参数,不要原样重试
401 密钥缺失、错误或已失效 重新检查 Authorization 请求头
403 密钥无权访问模型或分组 检查密钥的分组和模型限制
429 当前分组或上游负载饱和 延迟后指数退避,降低并发
503 当前分组没有可用模型渠道 保留请求编号,稍后重试或联系管理员

创建请求没有在本文中承诺幂等键。收到任务 ID 后再次发送 POST 可能产生第二个任务和第二笔费用。如果创建响应在网络中丢失,请先用已保存响应头中的 X-Oneapi-Request-Id 查询使用日志,确认是否已经创建任务;如果连响应头都没有收到,请按调用时间、模型名和当前密钥对应的使用日志核对。

当前只承诺已经验证的文生视频流程。不要依赖真实图生视频、多参考图、自动时长 -1、完整原生参数透传、同时强制指定分辨率和画幅,或 Range / 206 分段下载;这些能力完成单独适配和验收后会再更新文档。


九、SDK 与 curl 示例#

curl(非流式)#

curl https://www.yotopivot.top/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "模型名",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手"},
      {"role": "user", "content": "用三句话解释什么是 API 中转"}
    ],
    "temperature": 0.7
  }'

curl(流式)#

在请求体里加 "stream": true:

curl -N https://www.yotopivot.top/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "模型名",
    "messages": [{"role": "user", "content": "数到十"}],
    "stream": true
  }'

返回是 SSE 流,每行以 data: 开头,最后以 data: [DONE] 结束。

Python(OpenAI 官方 SDK)#

from openai import OpenAI

client = OpenAI(
    base_url="https://www.yotopivot.top/v1",
    api_key="sk-xxxxxxxx",
)

resp = client.chat.completions.create(
    model="模型名",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

流式读取:

stream = client.chat.completions.create(
    model="模型名",
    messages=[{"role": "user", "content": "数到十"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Node / TypeScript(OpenAI 官方 SDK)#

import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://www.yotopivot.top/v1',
  apiKey: 'sk-xxxxxxxx',
})

const resp = await client.chat.completions.create({
  model: '模型名',
  messages: [{ role: 'user', content: '你好' }],
})
console.log(resp.choices[0].message.content)

只要兼容 OpenAI,就在这两处填对#

绝大多数第三方库 / 框架只需两个设置:

base_url = https://www.yotopivot.top/v1     # 注意结尾的 /v1
api_key  = sk-xxxxxxxx                      # 你的密钥

模型名不要用示例里的占位符,先从 /v1/models 里选。


十、错误响应与错误码#

响应结构#

曜智枢自身拦截产生的错误是 OpenAI 风格的结构:

{
  "error": {
    "message": "无效的令牌 (request id: 202609200202124569850508268d9d6Ub6AWfdu)",
    "type": "new_api_error",
    "code": "insufficient_user_quota"
  }
}

常见错误码速查#

HTTP code 典型提示 原因与处理
401 空 无效的令牌 / Invalid token 密钥抄错、被禁用或已删除。回「API 密钥」页核对并重新复制
401 空 未提供令牌 / 未提供令牌 请求没带鉴权信息。检查 Authorization、x-api-key 或 ?key=
403 空 用户已被封禁 账号被停用,请联系站点管理员
403 access_denied 您的 IP 不在令牌允许访问的列表中 密钥设置了 IP 白名单,当前出口 IP 不在范围。改用正确网络或在密钥里补上 IP
403 空 无权访问 x 分组 / 分组 x 已被弃用 密钥的分组当前不可用,换个分组或留空跟随账号默认分组
403 空 该令牌无权访问模型 x 密钥开了模型限制且不含该模型。改模型名或调整密钥的允许列表
403 insufficient_user_quota 用户额度不足, 剩余额度: … 账号额度不足。到控制台「钱包」查看并补充
400 空 未指定模型名称,模型名称不能为空 请求体里缺 model 字段
503 model_not_found 分组 x 下模型 y 无可用渠道 该模型在当前分组暂时没有可用来源。换模型或稍后重试
400 model_not_found 当前模型或当前分组中的渠道未授权图片生成能力 选用的模型不支持生图。换支持生图的模型,并确认端点用的是图片接口
429 空 您已达到请求数限制:n 分钟内最多请求 m 次 触发限流。降低频率,或改为串行发送、加退避重试
429 空 您已达到总请求数限制:n 分钟内最多请求 m 次,包括失败次数 同上,且失败请求也计入。先修掉报错请求再重试
501 api_not_implemented API not implemented 调用了暂不支持的端点。改用受支持端点
404 空 Invalid URL (GET /v1/xxx) 请求路径写错(多为重复或漏写 /v1)。核对端点拼写

其他状态码#

500 / 502 / 503 还有一类是上游模型服务的临时故障,表现为调用一个本来正常的模型突然失败。这类错误通常重试即可恢复;如果连续多次失败,按第十一章的模板反馈。


十一、常见问题排查#

按状态码定位

流式输出中断

先确认客户端支持 SSE,并且没有代理或网关缓冲响应。若用的是自建反向代理,需要关闭对 text/event-stream 的缓冲。

图片生成失败

  1. 确认模型本身支持生图(在模型广场看该模型的说明与端点类型);
  2. 确认调的是 /v1/images/generations 或 /v1/images/edits,不是对话端点;
  3. 若提示渠道未授权图片生成能力,说明当前分组没有生图渠道,换分组或换模型。

提示内容被拦截

提示词或生成结果触发上游安全策略时会被拦截,对应错误码可能为 prompt_blocked 或 sensitive_words_detected。调整措辞后重试,不要靠改参数绕过。

想知道自己用了多少


十二、获取帮助#

遇到问题请带上以下信息,可以少走几个来回:

  1. X-Oneapi-Request-Id(响应头,或错误信息里 request id: 后面那串);
  2. 出现时间(精确到分钟);
  3. 调用的接口路径与模型名;
  4. HTTP 状态码与完整错误信息;
  5. 使用的客户端或 SDK 名称与版本。

不要在反馈里贴完整密钥;需要核对时说明「密钥前 8 位」即可。