POST
/
responses
创建响应接口
curl --request POST \
  --url https://geekai.co/api/v1/responses \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "metadata": {},
  "temperature": 1,
  "top_p": 1,
  "user": "user-1234",
  "service_tier": "auto",
  "previous_response_id": "<string>",
  "model": "gpt-4o",
  "reasoning": {
    "effort": "medium",
    "summary": "auto",
    "generate_summary": "auto"
  },
  "background": false,
  "max_output_tokens": 123,
  "text": {
    "format": {
      "type": "text"
    }
  },
  "tools": [
    {
      "type": "function",
      "name": "<string>",
      "description": "<string>",
      "parameters": {},
      "strict": true
    }
  ],
  "tool_choice": "none",
  "prompt": {
    "id": "<string>",
    "version": "<string>",
    "variables": {}
  },
  "truncation": "disabled",
  "input": "<string>",
  "include": [
    "file_search_call.results"
  ],
  "parallel_tool_calls": true,
  "store": true,
  "instructions": "<string>",
  "stream": false
}'
{
  "id": "resp_67ccd3a9da748190baa7f1570fe91ac604becb25c45c1d41",
  "object": "response",
  "created_at": 1741476777,
  "status": "completed",
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "max_output_tokens": null,
  "model": "gpt-4o-2024-08-06",
  "output": [
    {
      "type": "message",
      "id": "msg_67ccd3acc8d48190a77525dc6de64b4104becb25c45c1d41",
      "status": "completed",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "The image depicts a scenic landscape with a wooden boardwalk or pathway leading through lush, green grass under a blue sky with some clouds. The setting suggests a peaceful natural area, possibly a park or nature reserve. There are trees and shrubs in the background.",
          "annotations": []
        }
      ]
    }
  ],
  "parallel_tool_calls": true,
  "previous_response_id": null,
  "reasoning": {
    "effort": null,
    "summary": null
  },
  "store": true,
  "temperature": 1,
  "text": {
    "format": {
      "type": "text"
    }
  },
  "tool_choice": "auto",
  "tools": [],
  "top_p": 1,
  "truncation": "disabled",
  "usage": {
    "input_tokens": 328,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 52,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 380
  },
  "user": null,
  "metadata": {}
}
Response 是 OpenAI 最先进的模型响应生成接口,支持文本和图像输入,输出文本内容。

Authorizations

Authorization
string
header
required

JWT认证token

Body

application/json
previous_response_id
string | null

模型上一个响应的唯一 ID。使用此 ID 来创建多轮对话。了解有关对话状态的更多信息。

model

用于生成响应的模型 ID,例如 gpt-4oo3。OpenAI 提供各种具有不同功能、性能特征和价格的模型。请参阅模型指南来浏览和比较可用模型。

Example:

"gpt-4o"

reasoning
object

仅限 o 系列模型

推理模型的配置选项。

background
boolean | null
default:false

是否在后台运行模型响应。 了解更多.

max_output_tokens
integer | null

可以为响应生成的 token 的上限,包括可见的输出 token 和推理 token

text
object

模型文本响应的配置选项。可以是纯文本或结构化 JSON 数据。了解更多:

tools
(Function · object | File search · object | Web search preview · object | Computer use preview · object | MCP tool · object | any | 图像生成工具 · object | 本地 shell 工具 · object)[]

模型在生成响应时可以调用的工具数组。您可以通过设置 tool_choice 参数来指定要使用的工具。

您可以为模型提供的两类工具是:

  • 内置工具:由 OpenAI 提供、扩展模型功能的工具,例如网页搜索文件搜索。了解更多有关内置工具的信息。
  • 函数调用(自定义工具):由您定义的函数,使模型能够调用您自己的代码。了解更多有关函数调用的信息。
tool_choice

模型在生成响应时应如何选择使用哪个工具(或多个工具)。请参阅 tools 参数以了解如何指定模型可以调用的工具。

控制模型调用哪个(如果有)工具。

none 表示模型将不调用任何工具,而是生成一条消息。

auto 表示模型可以选择生成消息或调用一个或多个工具。

required 表示模型必须调用一个或多个工具。

Available options:
none,
auto,
required
prompt
object | null

对提示模板及其变量的引用。

truncation
enum<string> | null
default:disabled

用于模型响应的截断策略。

  • auto:如果此响应及之前的响应的上下文超出了模型的上下文窗口大小,模型将通过删除对话中间的输入项来截断响应以适应上下文窗口。
  • disabled(默认):如果模型响应将超出模型的上下文窗口大小,请求将失败并返回 400 错误。
Available options:
auto,
disabled
input

用于生成响应的文本、图片或文件输入

更多细节:

模型输入文本字符串

include
enum<string>[] | null

指定模型响应中需额外包含的数据。目前支持以下值:

  • file_search_call.results: 包含文件搜索工具调用所产生的搜索结果。
  • message.input_image.image_url: 包含输入消息中的图片链接。
  • computer_call_output.output.image_url: 包含计算机调用(computer call)输出的图片链接。
  • reasoning.encrypted_content: 在推理项(reasoning item)的输出中,包含对推理过程令牌(reasoning tokens)的加密版本。如此一来,当以无状态方式使用 Responses API 时(例如,当 store 参数设置为 false,或当组织加入了“零数据保留”计划时),推理项便可在多轮对话中继续使用。
  • code_interpreter_call.outputs: 包含代码解释器工具调用项中,Python 代码的执行输出。
parallel_tool_calls
boolean | null
default:true

是否允许模型并行执行工具调用

store
boolean | null
default:true

是否存储生成的模型响应,以供后续通过 API 检索

instructions
string | null

插入到模型上下文中的系统(或开发者)消息。

当与 previous_response_id 一同使用时,先前响应中的指令将不会被沿用至新的响应中。这使得在新响应中可以轻松地替换系统(或开发者)消息。

stream
boolean | null
default:false

若设为 true,模型响应数据将在生成时,通过 Server-Sent Events 流式传输至客户端。 代码示例

metadata
object | null

一对可以附加到对象的 16 个键值对。这对于以结构化格式存储有关对象的附加信息以及通过 API 或仪表板查询对象非常有用。

键是长度最多为 64 个字符的字符串。值是长度最多为 512 个字符的字符串。

temperature
number | null
default:1

要使用的采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更随机,而较低的值(如 0.2)将使其更聚焦和确定。 我们通常建议修改此项或 top_p,但不要同时修改两者。

Required range: 0 <= x <= 2
Example:

1

top_p
number | null
default:1

采样温度的另一种方法,称为核采样,模型会考虑具有 top_p 概率质量的 token 的结果。因此,0.1 意味着只考虑包含前 10% 概率质量的 token。

我们通常建议修改此项或 temperature,但不要同时修改两者。

Required range: 0 <= x <= 1
Example:

1

user
string

最终用户的稳定标识符。 用于通过更好地对类似请求进行分桶来提高缓存命中率,并帮助 OpenAI 检测和防止滥用。了解更多

Example:

"user-1234"

service_tier
enum<string> | null
default:auto

指定用于处理请求的延迟等级。此参数适用于订阅了按量计费服务的客户: - 如果设置为“auto”,并且项目启用了按量计费服务,系统将使用按量计费积分直至用尽。 - 如果设置为“auto”,但项目未启用按量计费服务,则请求将使用默认服务等级进行处理,该等级的正常运行时间服务水平协议较低,且无延迟保证。 - 如果设置为“default”,请求将使用默认服务等级进行处理,该等级的正常运行时间服务水平协议较低,且无延迟保证。 - 如果设置为“flex”,请求将使用弹性处理服务等级进行处理。了解更多。 - 如果未设置,则默认行为是“auto”。 设置此参数后,响应体将包含所使用的 service_tier

Available options:
auto,
default,
flex,
scale

Response

OK

metadata
object | null
required

一对可以附加到对象的 16 个键值对。这对于以结构化格式存储有关对象的附加信息以及通过 API 或仪表板查询对象非常有用。

键是长度最多为 64 个字符的字符串。值是长度最多为 512 个字符的字符串。

temperature
number | null
default:1
required

要使用的采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更随机,而较低的值(如 0.2)将使其更聚焦和确定。 我们通常建议修改此项或 top_p,但不要同时修改两者。

Required range: 0 <= x <= 2
Example:

1

top_p
number | null
default:1
required

采样温度的另一种方法,称为核采样,模型会考虑具有 top_p 概率质量的 token 的结果。因此,0.1 意味着只考虑包含前 10% 概率质量的 token。

我们通常建议修改此项或 temperature,但不要同时修改两者。

Required range: 0 <= x <= 1
Example:

1

model
required

用于生成响应的模型 ID,例如 gpt-4oo3。OpenAI 提供各种具有不同功能、性能特征和价格的模型。请参阅模型指南来浏览和比较可用模型。

Example:

"gpt-4o"

tools
(Function · object | File search · object | Web search preview · object | Computer use preview · object | MCP tool · object | any | 图像生成工具 · object | 本地 shell 工具 · object)[]
required

模型在生成响应时可以调用的工具数组。您可以通过设置 tool_choice 参数来指定要使用的工具。

您可以为模型提供的两类工具是:

  • 内置工具:由 OpenAI 提供、扩展模型功能的工具,例如网页搜索文件搜索。了解更多有关内置工具的信息。
  • 函数调用(自定义工具):由您定义的函数,使模型能够调用您自己的代码。了解更多有关函数调用的信息。
tool_choice
required

模型在生成响应时应如何选择使用哪个工具(或多个工具)。请参阅 tools 参数以了解如何指定模型可以调用的工具。

控制模型调用哪个(如果有)工具。

none 表示模型将不调用任何工具,而是生成一条消息。

auto 表示模型可以选择生成消息或调用一个或多个工具。

required 表示模型必须调用一个或多个工具。

Available options:
none,
auto,
required
id
string
required

此响应的唯一标识符

object
enum<string>
required

该资源的对象类型 - 始终设置为 response

Available options:
response
created_at
number
required

此响应创建时的 Unix 时间戳(以秒为单位)。

error
object | null
required

当模型未能生成响应时返回的错误对象。

incomplete_details
object | null
required

响应不完整的详细信息。

output
(输出消息 · object | any | Function tool call · object | Web search tool call · object | Reasoning · object | 图像生成调用 · object | 本地 shell 调用 · object | MCP 工具调用 · object | MCP list tools · object | MCP 批准请求 · object)[]
required

由模型生成的内容项数组。

  • output 数组中项目的长度和顺序取决于模型的响应。
  • 与其访问 output 数组中的第一个项目并假设它是包含模型生成内容的 assistant 消息,不如考虑在 SDK 中使用 output_text 属性(如果支持)。
instructions
required

插入到模型上下文中的系统(或开发者)消息。

当与 previous_response_id 一起使用时,前一个响应中的指令不会延续到下一个响应。这使得在新的响应中轻松替换系统(或开发者)消息变得容易。

发送给模型的文本输入,相当于具有 developer 角色的文本输入。

parallel_tool_calls
boolean
default:true
required

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

user
string

最终用户的稳定标识符。 用于通过更好地对类似请求进行分桶来提高缓存命中率,并帮助 OpenAI 检测和防止滥用。了解更多

Example:

"user-1234"

service_tier
enum<string> | null
default:auto

指定用于处理请求的延迟等级。此参数适用于订阅了按量计费服务的客户: - 如果设置为“auto”,并且项目启用了按量计费服务,系统将使用按量计费积分直至用尽。 - 如果设置为“auto”,但项目未启用按量计费服务,则请求将使用默认服务等级进行处理,该等级的正常运行时间服务水平协议较低,且无延迟保证。 - 如果设置为“default”,请求将使用默认服务等级进行处理,该等级的正常运行时间服务水平协议较低,且无延迟保证。 - 如果设置为“flex”,请求将使用弹性处理服务等级进行处理。了解更多。 - 如果未设置,则默认行为是“auto”。 设置此参数后,响应体将包含所使用的 service_tier

Available options:
auto,
default,
flex,
scale
previous_response_id
string | null

模型上一个响应的唯一 ID。使用此 ID 来创建多轮对话。了解有关对话状态的更多信息。

reasoning
object

仅限 o 系列模型

推理模型的配置选项。

background
boolean | null
default:false

是否在后台运行模型响应。 了解更多.

max_output_tokens
integer | null

可以为响应生成的 token 的上限,包括可见的输出 token 和推理 token

text
object

模型文本响应的配置选项。可以是纯文本或结构化 JSON 数据。了解更多:

prompt
object | null

对提示模板及其变量的引用。

truncation
enum<string> | null
default:disabled

用于模型响应的截断策略。

  • auto:如果此响应及之前的响应的上下文超出了模型的上下文窗口大小,模型将通过删除对话中间的输入项来截断响应以适应上下文窗口。
  • disabled(默认):如果模型响应将超出模型的上下文窗口大小,请求将失败并返回 400 错误。
Available options:
auto,
disabled
status
enum<string>

响应生成的状态。可能的值有 completedfailedin_progresscancelledqueuedincomplete

Available options:
completed,
failed,
in_progress,
cancelled,
queued,
incomplete
output_text
string | null

仅限 SDK 的便利属性,包含 output 数组中所有 output_text 项的聚合文本输出(如果存在)。 在 Python 和 JavaScript SDK 中支持。

usage
object

表示令牌使用详情,包括输入令牌、输出令牌、输出令牌的明细以及使用的总令牌。