外观
创建模型响应
POST
https://vip.zen-ai.top/v1/responsesOpenAI 新一代的 Responses 接口,Codex 等工具使用该接口。相比 Chat Completions,它原生支持推理摘要、内置工具和更丰富的输出类型。
- GPT-5 系列、o 系列推荐使用该接口;部分模型(如
o3-pro、o3-deep-research)只能通过该接口调用。 - 多轮对话推荐把完整历史放在
input数组中传入。 - 也可以在 Chat Completions 中调用这些模型,参数对照见 思考与推理参数。
请求头
Authorizationstring必填Bearer sk-xxxx
Content-Typestring必填application/json
请求体
modelstring必填模型名称,如 gpt-5.5、gpt-5.4-mini、o3-pro。
inputstring | array必填输入内容。字符串表示单条用户消息;数组表示多条消息 / 输入项。
子字段 2
rolestring消息角色。
可选值
userassistantsystemdevelopercontentstring | array消息内容。多模态时为数组,元素类型包括:
{"type": "input_text", "text": "..."}{"type": "input_image", "image_url": "https://... 或 data:image/png;base64,..."}{"type": "input_file", "filename": "a.pdf", "file_data": "data:application/pdf;base64,..."}
instructionsstring系统指令,作用相当于 system 消息。
streamboolean默认 false是否以 SSE 事件流返回。
max_output_tokensinteger输出 token 上限(包含推理 token)。
reasoningobject推理配置,仅推理模型支持。
子字段 2
effortstring推理强度,可用取值因模型而异。
可选值
noneminimallowmediumhighxhighsummarystring是否返回思考摘要。
可选值
autoconcisedetailedtoolsarray可用工具。函数工具格式为 {"type": "function", "name": "...", "description": "...", "parameters": {...}, "strict": true}(注意与 Chat Completions 不同,没有外层 function 字段)。
tool_choicestring | objectauto / none / required,或指定某个函数。
parallel_tool_callsboolean是否允许并行调用多个工具。
textobject文本输出配置。
子字段 2
formatobject输出格式:{"type": "text"}、{"type": "json_object"} 或 {"type": "json_schema", "name": "...", "schema": {...}, "strict": true}。
verbositystring回答详略程度(GPT-5 系列)。
可选值
lowmediumhightemperaturenumber采样温度,推理模型通常不支持。
top_pnumber核采样,推理模型通常不支持。
storeboolean是否在上游保存本次响应。
previous_response_idstring上一轮响应的 ID,用于接续对话。经中转时后续请求可能路由到不同渠道,推荐改为在 input 中传入完整历史。
includearray额外返回的数据,如 ["reasoning.encrypted_content"]。
metadataobject自定义键值对。
响应
idstring响应 ID,如 resp_...。
objectstring固定为 response。
statusstring响应状态。
可选值
completedincompletein_progressfailedmodelstring实际使用的模型。
outputarray输出项列表,按顺序可能包含:
子字段 3
reasoningobjecttype: "reasoning",summary 中为思考摘要。
messageobjecttype: "message",content 数组中 type: "output_text" 的 text 即回复文本。
function_callobjecttype: "function_call",包含 call_id、name、arguments(JSON 字符串)。
usageobjectinput_tokens、output_tokens、total_tokens,以及 input_tokens_details.cached_tokens、output_tokens_details.reasoning_tokens。
流式时依次推送 response.created、response.output_text.delta(增量文本在 delta 字段)、response.output_text.done、response.completed 等事件。
请求示例
bash
curl https://vip.zen-ai.top/v1/responses \
-H "Authorization: Bearer $VIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"reasoning": {"effort": "low"},
"input": "用一句话解释什么是 Transformer。"
}'python
from openai import OpenAI
client = OpenAI(base_url="https://vip.zen-ai.top/v1", api_key="sk-xxxxxxxx")
resp = client.responses.create(
model="gpt-5.5",
reasoning={"effort": "low"},
input="用一句话解释什么是 Transformer。",
)
print(resp.output_text)js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://vip.zen-ai.top/v1", apiKey: process.env.VIP_API_KEY });
const resp = await client.responses.create({
model: "gpt-5.5",
reasoning: { effort: "low" },
input: "用一句话解释什么是 Transformer。",
});
console.log(resp.output_text);响应示例
json
{
"id": "resp_0f3c5a9d2b7e4c1a",
"object": "response",
"created_at": 1790684800,
"status": "completed",
"model": "gpt-5.5",
"output": [
{
"id": "rs_68d9...",
"type": "reasoning",
"summary": []
},
{
"id": "msg_68d9...",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Transformer 是一种基于自注意力机制的神经网络架构,能并行处理序列并捕捉长距离依赖。",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 18,
"input_tokens_details": { "cached_tokens": 0 },
"output_tokens": 96,
"output_tokens_details": { "reasoning_tokens": 64 },
"total_tokens": 114
}
}text
event: response.created
data: {"type":"response.created","response":{"id":"resp_0f3c...","status":"in_progress",...}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_68d9...","output_index":1,"content_index":0,"delta":"月"}
event: response.output_text.done
data: {"type":"response.output_text.done","text":"..."}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_0f3c...","status":"completed","usage":{...}}}函数调用的第二轮
模型返回 function_call 后,执行函数并把结果以 function_call_output 追加到 input 中再次请求:
python
import json
tools = [{
"type": "function",
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": False,
},
"strict": True,
}]
history = [{"role": "user", "content": "深圳天气怎么样?"}]
first = client.responses.create(model="gpt-5.5", input=history, tools=tools)
history += first.output # 带上模型的 reasoning / function_call 输出项
for item in first.output:
if item.type == "function_call":
args = json.loads(item.arguments)
history.append({
"type": "function_call_output",
"call_id": item.call_id,
"output": json.dumps({"city": args["city"], "weather": "晴", "temp": "28°C"}, ensure_ascii=False),
})
final = client.responses.create(model="gpt-5.5", input=history, tools=tools)
print(final.output_text)