Responses 与 Chat Completions 都能用于文本任务,但请求与返回结构不同。需要 Responses 的客户端,应使用本协议,不能只把 Chat Completions 的网址替换后继续发送 messages。

请求与鉴权#

项目内容
方法与归壹完整地址POST https://univto.com/v1/responses
鉴权Authorization: Bearer 你的归壹API密钥
请求类型Content-Type: application/json
核心输入model 加上 input;input可为简短文本或符合Responses格式的输入项数组

常见字段#

字段作用适用边界
instructions本次请求的行为说明不是Chat的system消息数组
input文字或结构化输入项工具结果与多模态内容需采用Responses自己的结构
max_output_tokens限制该协议的生成上限按模型语义理解,思考量也可能占用预算
stream启用事件流按Responses事件类型解析
tools / tool_choice定义或选择工具不表示所有内置工具都可通过当前线路使用
reasoning推理强度等设置仅支持推理参数的模型使用
previous_response_id引用之前的响应继续对话需要当前线路支持响应状态;不要假定可跨模型、分组或供应商复用
truncation超过上下文时的处理策略选项支持情况由模型线路决定

最小 curl 示例#

先在本机设置 GUIYI_API_KEY,将 YOUR_MODEL_ID 改为可使用Responses的完整模型ID。示例不会在文档网页里自动执行,手动运行会产生正常调用费用。

使用短 input 创建一条非流式响应
curl --fail-with-body https://univto.com/v1/responses \
  -H "Authorization: Bearer ${GUIYI_API_KEY}" \
  -H 'Content-Type: application/json' \
  --data '{
    "model": "YOUR_MODEL_ID",
    "input": "你好,请用一句话介绍自己。",
    "stream": false
  }'

返回结果怎么读#

先查看 status,再遍历 output 数组。普通文本通常位于 type 为 message 的输出项里,其 content 中 type 为 output_text 的条目含 text。不要假定 output[0] 永远是文字,因为它也可能是推理或工具调用项。SDK提供的 output_text 可能是便利属性,不一定是原始HTTP JSON的顶层字段。

字段或状态如何理解
id本次响应标识,排查问题时可保留
status=completed该响应已完成;仍需读取实际输出内容
status=incomplete / failed检查未完成或失败详情,不把已有部分文字当作完整成功
output模型输出项集合,可含文字或工具项
usageResponses原生通常使用input_tokens与output_tokens;兼容线路的扩展字段以实际返回为准

流式与多轮处理#

stream=true 时常见事件包括 response.output_text.delta 及最终响应完成事件。事件体不能按Chat的 choices[].delta 直接读取。断流或收到不完整终态时,保留已知响应ID及错误信息,先确认状态再决定是否重新生成。

Chat Completions

你的工具使用messages时查看此页。

CC Switch 接入指南

先区分工具要求的接口协议。

查询精确模型ID

只使用当前密钥有权限的型号。