创建响应
POST
/v1/responses使用 OpenAI Responses API 格式创建响应
Responses API 适合需要 OpenAI Responses 行为的应用。多数 OpenAI 兼容场景建议优先使用 POST /v1/chat/completions。
请求体
参数 model
要使用的模型 ID。可用模型请在控制台或 GET /v1/models 中查看。
参数 input
由对话组成的输入项列表。
每个项可以是:
message: 带有角色和内容的对话消息function_call: 一个函数调用请求function_call_output: 来自函数调用的输出
对于多模态输入,message.content 可以是普通字符串,也可以是内容块数组。对于支持图像的模型(例如 GPT-5.4 变体),请将图像作为 input_image 块传递,而不是将 URL 或 Base64 字符串直接嵌入普通文本中。
示例内容块:
{ "type": "input_text", "text": "Describe this image" }{ "type": "input_image", "image_url": "https://example.com/image.jpg" }{ "type": "input_image", "image_url": "data:image/png;base64,..." }
参数 instructions
提供给模型的系统指令(等同于 system 消息)。
参数 max_output_tokens
生成的最大 token 数量。
参数 temperature
采样温度,范围在 0 到 2 之间。
参数 tools
模型可能调用的工具列表。
参数 stream
为 true 时返回事件流。
参数 previous_response_id
用于从某个先前响应继续对话的响应 ID。
参数 store
是否存储响应以便后续检索。
参数 metadata
附加到响应以用于跟踪的元数据。
参数 text
文本生成的配置选项。text.format 的行为取决于所选模型和路由路径,不保证在每个模型上都一致。
参数 parallel_tool_calls
是否允许并行进行多个工具调用。
参数 top_p
Nucleus 采样参数(0-1)。
参数 reasoning
针对具备推理能力的模型(例如 GPT-5 系列变体)的推理配置。
effort(string): 推理努力级别(low,medium,high)
响应
响应字段 id
响应的唯一标识符。
响应字段 object
始终为 response。
响应字段 created
响应创建时的 Unix 时间戳。
响应字段 output
模型生成的输出项列表。
响应字段 usage
token 使用统计。
请求示例
curl -X POST "https://api.anypath.dev/v1/responses" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"input": [
{"type": "message", "role": "user", "content": "Hello!"}
],
"max_output_tokens": 1000
}'
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.anypath.dev/v1"
)
response = client.responses.create(
model="gpt-4o-mini",
input=[
{"type": "message", "role": "user", "content": "Hello!"}
],
max_output_tokens=1000
)
print(response.output)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: 'https://api.anypath.dev/v1'
});
const response = await client.responses.create({
model: 'gpt-4o-mini',
input: [
{ type: 'message', role: 'user', content: 'Hello!' }
],
max_output_tokens: 1000
});
console.log(response.output);
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
payload := map[string]interface{}{
"model": "gpt-4o-mini",
"input": []map[string]interface{}{
{"type": "message", "role": "user", "content": "Hello!"},
},
"max_output_tokens": 1000,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.anypath.dev/v1/responses", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer sk-your-api-key")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["output"])
}
<?php
$ch = curl_init('https://api.anypath.dev/v1/responses');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-4o-mini',
'input' => [
['type' => 'message', 'role' => 'user', 'content' => 'Hello!']
],
'max_output_tokens' => 1000
])
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['output']);
视觉输入示例
使用支持图像的模型时,请把图片放在 message.content 的 input_image 内容块中。image_url 可以是公开 URL,也可以是 Base64 data URL。
{
"model": "gpt-4o-mini",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "https://example.com/demo.jpg"
}
]
}
]
}
{
"model": "gpt-4o-mini",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}
]
}
]
}
响应示例
{
"id": "resp_abc123",
"object": "response",
"created": 1706000000,
"model": "gpt-4o-mini",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{"type": "text", "text": "Hello! How can I help you today?"}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 12,
"total_tokens": 22
}
}
错误响应示例
{
"error": {
"message": "API key spending limit exceeded.",
"type": "spending_limit_exceeded",
"code": "spending_limit_exceeded"
}
}