openai/o3 的 API 参考,由 Comfy Router 从 OpenAI 提供。
快速开始
在你的 Comfy 工作区中创建一个密钥,并将其导出为COMFY_API_KEY。Python 和 TypeScript 代码片段使用 Comfy SDK(pip install comfy-sdk 和 npm install @comfyorg/sdk);cURL 代码片段则是通过原生 HTTP 发起的相同调用。
模型 ID: openai/o3
端点: POST https://api.comfy.org/v2/models/openai/o3
- 等待结果
- 排队并稍后收集
相同的请求体,发送到
POST https://api.comfy.org/v2/models/openai/o3/requests。运行被受理后,Router 会立即返回 201 和 request_id;结果就绪后即可收集,无论是本进程还是其他进程。队列投递介绍了状态、取消与收集的完整流程。Schema
Input
string[]
要包含在模型响应中的额外输出数据。
string | object[]
必填
发送给模型的文本、图像或文件输入,用于生成响应。这是本契约中 Router 唯一无法提供的字段,也是下方
required 中唯一的条目。string
在模型的上下文中插入一条 system(或 developer)消息作为第一项。
integer
一次响应所生成 token 数量的上限,包括可见输出 token 与推理 token。在推理类 id 上,该上限与隐藏的推理 token 共享,因此一个较小的值可能在产生任何可见文本之前就耗尽整个预算,这也是推理类冒烟用例发送 1024 而聊天类用例发送 16 的原因。Range:
1 to …string
OpenAI 模型标识符。在 Comfy Router 上该字段为可选,Router 会用
{model} 路径段填充它;显式的 null 也以同样的方式被替换。发送与路径不一致的值会被拒绝。boolean
是否允许模型并行执行工具调用。
string
上一个响应的 ID,用于多轮对话。
object
仅限推理层级。推理模型的配置,例如
{"effort": "medium"}。该配置原样转发;可接受的键请参阅 OpenAI 的推理指南。聊天层级的 id 会忽略它。boolean
OpenAI 是否存储生成的响应以供日后检索。
boolean
声明该字段只是为了让发送它的调用方不被拒绝,但它在本接口上是无效的:Router 会在分发之前将其置为
false,因为它捕获的是提供商响应,而不是转发 text/event-stream,而后者它无法解码,所以流式生成会被 OpenAI 计费,却不会被任何人计量。没有任何 Comfy 接口会提供流:v1 的 POST /proxy/openai/v1/responses 入口会以 400 拒绝 stream: true,并且绝不会把请求转发到上游,因此在任一接口上都应省略该字段或发送 false,并把已完成响应作为单个 JSON 体读取。number
采样温度。仅限聊天层级:o 系列推理 id(
o1、o1-pro、o3、o4-mini)会在 OpenAI 处拒绝该参数。Router 不会替它们拒绝它(原因见本组件关于两个层级共用同一 schema 的说明),因此发送该参数的推理调用会得到 OpenAI 自身错误的回应。Range: 0 to 2object
输出格式配置,例如用于结构化输出的
{"format": {"type": "json_schema", ...}}。原样转发。string | object
模型应如何选择使用哪个工具。可以是字符串模式,也可以是命名某个工具的对象。
object[]
模型可以调用的工具定义。Router 不会收窄工具分类;可接受的形状请参阅 OpenAI 的 Responses API 参考。
number
核采样截断值。仅限聊天层级,条件与
temperature 相同。Range: 0 to 1string
上下文超出模型窗口时的截断策略。与上面的三个词表不同,这里的枚举是被强制校验的,因为这两个值就是 OpenAI 文档所载的完整集合,且至今没有扩展。显式的
null 仍然可接受,条件与其上方的字段相同。Possible values: auto, disabledobject
Token 用量封装。该契约中出现它,是因为 v1 操作在请求体上声明了它;OpenAI 是在响应中填充它,因此调用方没有理由发送它。
GET /v2/models/openai/o3/openapi.json 提供的 schema 生成,它也是 Router 在请求到达提供商之前用于校验调用的同一份文档。
输出
string
将一条 system(或 developer)消息插入到模型上下文的第一项。与
previous_response_id 一起使用时,上一个 response 中的 instructions
不会延续到下一个 response。这样可以方便地在新的 response 中替换
system(或 developer)消息。integer
一个 response 可生成的 token 数量上限,包括可见的输出 token 和 reasoning token。
string
用于生成 response 的模型
number
默认值:"1"
控制 response 的随机性范围:
0 到 2number
默认值:"1"
通过 nucleus 采样控制 response 的多样性范围:
0 到 1string
默认值:"\"disabled\""
用于模型 response 的截断策略。
-
auto:如果当前 response 及之前 response 的上下文超过 模型的上下文窗口大小,模型将通过丢弃对话中间部分的输入项 来截断 response,以适应该上下文窗口。 -
disabled(默认):如果模型 response 将超过该模型的上下文 窗口大小,请求将失败并返回 400 错误。 可选值:auto、disabled
object
仅限 o 系列模型reasoning 模型
的配置选项。
string
控制后续轮次中哪些 reasoning 项会被回传给模型,例如
auto、current_turn 或 all_turns。string
默认值:"\"medium\""
仅限 o 系列模型约束 reasoning 模型
的 reasoning 投入程度。
目前支持的值为
low、medium 和 high。降低
reasoning 投入程度可以加快响应速度,并减少 response 中
用于 reasoning 的 token 数量。可选值:low、medium、highstring
已弃用: 请改用
summary。模型所执行 reasoning 的摘要。这对于
调试和理解模型的 reasoning 过程很有用。
取值为 auto、concise 或 detailed 之一。可选值:auto、concise、detailedstring
用于该 response 的 reasoning 模式。
string
模型所执行 reasoning 的摘要。这对于
调试和理解模型的 reasoning 过程很有用。
取值为
auto、concise 或 detailed 之一。可选值:auto、concise、detailedobject
object
一个对象,用于指定模型必须输出的格式。配置
{ "type": "json_schema" } 会启用 Structured Outputs,
以确保模型符合你提供的 JSON schema。在
Structured Outputs 指南中了解更多。默认格式为 { "type": "text" },且不带任何额外选项。不推荐用于 gpt-4o 及更新的模型:设置为 { "type": "json_object" } 会启用较旧的 JSON 模式,该模式
可确保模型生成的消息是有效的 JSON。对于支持 json_schema
的模型,优先使用它。string
约束模型 response 的详细程度。取值为
low、medium 或 high 之一。`none`, `auto`, `required` | object
模型在生成 response 时应如何选择要使用的一个或多个工具。
请参阅
tools 参数,了解如何指定模型可以调用的工具。object[]
boolean
模型 response 是否在后台运行。
object
response 的计费信息。
string
负责为该 response 付费的一方。
number
此 Response 完成时的 Unix 时间戳(以秒为单位)。仅当状态为
completed 时才会出现。number
此 Response 创建时的 Unix 时间戳(以秒为单位)。
object
当模型未能生成 Response 时返回的错误对象。
string
必填
response 的错误代码。Possible values:
server_error, rate_limit_exceeded, invalid_prompt, vector_store_timeout, invalid_image, invalid_image_format, invalid_base64_image, invalid_image_url, image_too_large, image_too_small, image_parse_error, image_content_policy_violation, invalid_image_mode, image_file_too_large, unsupported_image_media_type, empty_image_file, failed_to_download_image, image_file_not_foundstring
必填
错误的人类可读描述。
number
根据新 token 到目前为止在文本中已有的出现频率来惩罚新 token。
string
此 Response 的唯一标识符。
object
关于响应为何不完整的详情。
string
响应不完整的原因。可选值:
max_output_tokens、content_filterinteger
一次响应中可处理的内置工具调用总数上限。
object
可附加到响应上的键值对集合。
object
如果请求了经过审核的补全,则返回响应输入和输出的审核结果。
string
此资源的对象类型,始终设置为
response。可选值:responseobject[]
模型生成的内容项数组。
output数组中各项的长度和顺序取决于模型的响应。- 与其访问
output数组中的第一项并假定它是包含模型生成内容的assistant消息,不如考虑在 SDK 支持的情况下使用output_text属性。
string
仅 SDK 提供的便捷属性,包含
output 数组中所有 output_text 项聚合的
文本输出(如果存在)。
在 Python 和 JavaScript SDK 中受支持。boolean
默认值:"true"
是否允许模型并行运行工具调用。
number
根据新 token 是否已出现在此前的文本中来惩罚新 token。
string
OpenAI 用它为相似请求缓存响应,以优化缓存命中率。取代
user 字段。string
提示缓存的保留策略,例如
in_memory 或 24h。string
一个稳定的标识符,用于帮助检测可能违反 OpenAI 使用政策的应用程序用户。
string
用于处理请求的处理层级,例如
auto、default、flex、scale 或 priority。string
响应生成的状态。为
completed、failed、in_progress、cancelled、queued 或 incomplete 之一。可选值:completed、failed、in_progress、cancelled、queued、incompleteboolean
响应是否存储起来以便之后通过 API 检索。
object
按内置工具细分的 token 和请求用量。
object
图像生成工具的 token 用量。
integer
object
integer
integer
integer
object
integer
integer
integer
object
网页搜索工具用量。
integer
integer
在每个 token 位置返回的最可能 token 的最大数量,每个都带有对应的对数概率。
object
表示 token 用量详情,包括输入 token、输出 token、
输出 token 的细分以及使用的 token 总数。
integer
必填
输入 token 的数量。
object
必填
输入 token 的详细细分。
integer
写入缓存的输入 token 数量。
integer
必填
从缓存中检索到的 token 数量。
了解关于提示缓存的更多信息。
integer
必填
输出 token 的数量。
object
必填
输出 token 的详细明细。
integer
必填
推理 token 的数量。
integer
必填
使用的 token 总数。
string
已弃用的最终用户标识符。已替换为
safety_identifier 和 prompt_cache_key。示例
输入
输出
发布前须知
SDK 会生成Idempotency-Key 并在自动重试中复用它。手动重试时,请复用原始 key。Router 最长可保持连接 10 分钟。
请求失败时,Router 会发送 X-Comfy-Error-Type 响应头说明原因。422 表示 Router 在调用提供商之前就拒绝了输入,413 表示请求体超出了 Router 可接受的大小。已生成的资源请及时下载,因为结果 URL 会过期。
上文任何字段描述中提到的尺寸限制,都是提供商对该字段自身的限定,引自提供商的规范。Router 会对整个请求体另行设置上限,base64 编码的媒体内容也计入其中:参见请求体大小。
本页记录的是通过 Comfy Router 调用的某一个合作伙伴模型。同一个 comfy-sdk / @comfyorg/sdk 包还提供第二个客户端,用于在 Comfy Cloud 上运行完整的 ComfyUI 工作流图:Comfy(api_key=...) / new Comfy({ apiKey }),并带有 client.workflows、client.assets 和 client.jobs。请参阅 Comfy SDKs。
请求头
身份验证、幂等性、请求 ID、错误分类、重试节奏、消费限额。
使用 Router API
模型发现、验证错误、重试与计费。
限制
Router 目前不支持的功能,以及替代方案。