OpenAI Responses API

使用 OpenAI Responses 兼容格式 创建模型响应。支持多轮对话、多模态输入、结构化输出与工具调用,支持流式(stream:true,SSE)与非流式两种返回。

POSThttps://api.longcat.chat/openai/v1/responses

Authorizations

Authorizationstringheader必选

身份验证密钥,需以 Bearer YOUR_API_KEY 形式置于请求头。

Bodyapplication/json

modelstring必选

模型标识符。目前支持 LongCat-2.5-Preview、LongCat-2.0。

inputstring | array必选

输入内容,有两种形式:

  • 字符串:等价于一条 user 消息,如 "input": "你好"。
  • 消息/项数组:用于多轮对话、多模态输入与工具结果回填。数组元素可以是:
    • 消息项:{ "role": "user" | "assistant" | "system" | "developer", "content": ... },content 为字符串或内容块数组(如 input_text、input_image)。
    • 工具结果回填项:{ "type": "function_call_output", "call_id": "...", "output": "..." }。

注意:当输入为图片时,图片链接必须公网可访问。

instructionsstring可选

系统/开发者指令。

streamboolean可选默认值: false

是否以 SSE 流式返回响应。流正常结束时直接关闭连接,不会发送额外的 [DONE] 标记。

toolsarray可选

模型在生成回复时可调用的工具数组。工具对象的字段(type、name 等)需平级声明,不要把字段包进 function 子对象(那是 Chat Completions 的格式,本接口会报 tools[0].name is required)。用法示例见右侧「函数调用」「自定义工具」场景。

在你自己的代码中定义一个模型可以选择调用的函数。

tools.typestring必选

工具类型,固定为 function。

tools.namestring必选

函数名称。

tools.descriptionstring可选

函数描述,模型用它判断是否调用。

tools.parametersobject必选

函数请求参数,以 JSON Schema 对象描述。

tools.strictboolean可选默认值: false

生成函数调用时是否严格遵循参数模式校验。

parallel_tool_callsboolean可选默认值: true

是否允许模型并行调用多个工具。

temperaturenumber可选默认值: 1.0

采样温度。开启思考时固定为 1.0,关闭思考时固定为 0.7,传入其他值将被覆盖为对应默认值。

top_pnumber可选默认值: 0.95

核采样(nucleus sampling)参数,范围 (0, 1]。例如 0.1 表示模型只考虑概率质量总和前 10% 的 token。

max_output_tokensinteger可选

模型最大生成长度(含推理 token)。

reasoningobject可选

推理控制。effort 取值 none / minimal / low / medium / high / xhigh;summary 取值 auto / concise / detailed。

textobject可选

配置文本回复的格式。format.type 取值:text(纯文本,默认)、json_object(保证输出合法 JSON,不校验字段)、json_schema(按 Schema 强约束字段与类型,需同时提供 name 与 schema)。完整示例见右侧「结构化输出」场景。

两种 JSON 模式都建议在 input / instructions 里明确要求模型“用 JSON 回答”。

metadataobject可选

字符串键值元数据,会随响应对象返回。

prompt_cache_keystring可选

提示缓存键。

响应对象

成功返回 object:"response" 对象,值为 null 的字段会被省略:

idstring

本次响应的 ID(resp_xxx)。

objectstring

对象类型,固定为 response。

statusstring

响应状态:completed(正常完成)、failed(运行失败,见 error)、incomplete(如达到 max_output_tokens 被截断)。

outputarray

本次响应的内容项数组(长度与顺序取决于模型的实际调用情况)。assistant 文本在 message 项的 content[].text。

output.messageobject

assistant 消息项:{ "id": "msg_xxx", "role": "assistant", "content": [{ "type": "output_text", "text": "……", "annotations": [] }] }。

output.reasoningobject

推理项,包含模型的思维链内容。

output.function_callobject

函数调用项,需要客户端执行函数后回传 function_call_output:{ "call_id": "call_xxx", "name": "get_weather", "arguments": "{\"city\":\"北京\"}" }。

output.custom_tool_callobject

自定义工具调用项。

usageobject

token 用量统计。

usage.input_tokensinteger

输入 token 数,input_tokens_details.cached_tokens 为其中命中缓存的数量。

usage.output_tokensinteger

输出 token 数,output_tokens_details.reasoning_tokens 为其中思维链 token 数。

usage.total_tokensinteger

总 token 数。

errorobject

运行失败时的错误信息 { "code", "message" },成功时省略。

created_atinteger

创建时间,Unix 秒时间戳。

completed_atinteger

完成时间,Unix 秒时间戳,仅成功时有。

其余字段多为请求参数的回显:model、text、reasoning、temperature、top_p、max_output_tokens、metadata、parallel_tool_calls 等。

流式事件

日常只需处理三类事件:response.created(开始)、response.output_text.delta(文本增量)、response.completed(结束)。每个事件的 data 都含 type 与 sequence_number;生命周期事件的 data 带完整 response 对象。

完整事件类型:

事件说明
response.created首个事件;响应已创建,状态为 in_progress
response.in_progress响应正在生成中
response.output_item.added
response.output_item.done
一个输出 item(reasoning / message / function_call / custom_tool_call)开始 / 完成
response.content_part.added
response.content_part.done
输出 item 中的一个内容块开始 / 完成
response.reasoning_text.delta
response.reasoning_text.done
思维链文本增量 / 完整思维链文本
response.output_text.delta
response.output_text.done
输出文本增量 / 完整输出文本
response.function_call_arguments.delta
response.function_call_arguments.done
Function 调用参数增量 / 完整参数
response.custom_tool_call_input.delta
response.custom_tool_call_input.done
Custom 工具调用输入增量 / 完整输入
response.completed响应正常完成时的最后一个事件,携带包含 usage 的完整 response 对象
response.incomplete响应被截断(如达到 max_output_tokens)时的最后一个事件,携带完整 response 对象
response.failed响应失败时的最后一个事件,携带含 error 详情的完整 response 对象