OpenAI 新一代"单轮输入 + 流式输出"接口,Codex CLI 和较新的 OpenAI SDK 使用。
只用 /v1/chat/completions 或 /v1/messages 的话,不需要了解这个。
端点
POST https://relay.4aicode.net/v1/responses
与 chat/completions 的区别
| 维度 | /v1/chat/completions | /v1/responses |
|---|---|---|
| 输入 | messages 数组 | input 数组(更像事件流) |
| 工具调用 | tool_calls / tool_messages | 内置 function_call / function_call_output 事件 |
| 流事件 | data: {...} chunk | 命名事件 response.output_text.delta 等 |
| 场景 | 聊天应用 | Codex CLI、Agent 框架 |
请求
POST /v1/responses HTTP/1.1
Host: relay.4aicode.net
Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx
content-type: application/json
{
"model": "gpt-5.6-terra",
"input": [
{ "role": "user", "content": "Refactor main.go" }
],
"stream": true
}
支持的模型
与 /v1/chat/completions 一致:gpt-6-astra、gpt-6-sol、gpt-6.1-sol、gpt-6-luna、gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna、gpt-5.5、gpt-5.4、gpt-5.4-mini、gpt-5.3-codex。上游返回模型不支持时,relay 会返回明确的 400。
流式响应
event: response.created
data: {"response": {"id": "resp_...", ...}}
event: response.output_text.delta
data: {"delta": "package main\n"}
event: response.output_text.done
data: {}
event: response.completed
data: {"response": {...}, "usage": {...}}
非流式返回 { response, usage } 一次性包。
Function calling / tools
tools 字段透传,行为与官方一致:
event: response.output_item.added
data: {"item": {"type": "function_call", "name": "...", "arguments": "..."}}
工具结果按官方协议发 function_call_output。
错误
| HTTP | 含义 |
|---|---|
| 400 | input 格式错 / model 不在 allowlist |
| 401 | token 无效 |
| 403 | 团队被暂停 |
| 429 | 超限流或超配额 |
| 502 | 上游 OpenAI 抖动 |
| 503 | 上游服务暂时不可用,详见 服务冷却与重试 |
什么时候用
- ✅ 用 Codex CLI(官方走这个)
- ✅ 最新的 OpenAI Agents SDK
- ❌ 聊天机器人 → 用
/v1/chat/completions