openrouter/chat-completions 的 API 参考文档,由 Comfy Router 从 Openrouter 提供服务。
请求设置
在你的 Comfy 工作区中创建一个密钥,并将其导出为COMFY_API_KEY。对于 Python,运行 pip install comfy-sdk。对于 TypeScript,运行 npm install @comfyorg/sdk。对于 Swift,添加 ComfySwiftSDK 包。cURL 使用原始 HTTP。
模型 ID: openrouter/chat-completions
端点: POST https://api.comfy.org/v2/models/openrouter/chat-completions
此模型没有可运行的请求示例。请根据下方的输入文档构建请求体,然后配合 Router 快速入门使用。
Schema
输入
object
启用自动提示词缓存。在顶层设置时,系统会自动将缓存断点应用到请求中最后一个可缓存的块。目前支持 Anthropic Claude 模型。
string
可选值:
5m、1hstring
必填
可选值:
ephemeralobject
用于检查请求转换的调试选项(仅限流式传输)
boolean
如果为是,则在流开始时将转换后的上游请求体包含在一个调试数据块中。仅在流式传输模式下有效。
number
频率惩罚(-2.0 到 2.0)格式:
doubleobject | string | number | object[]
object
Token logit 偏置调整
boolean
返回对数概率
integer
补全的最大 token 数
integer
最大 token 数(已弃用,请使用 max_completion_tokens)。注意:部分提供商会强制要求最小值为 16。
object[]
必填
对话的消息列表
object
用于附加对象信息的键值对(最多 16 对,键最长 64 个字符,值最长 512 个字符)
`text`, `image`, `audio`[]
响应的输出模态。支持的值为 “text”、“image” 和 “audio”。
string
用于补全的模型
string[]
用于补全的模型
boolean
在使用工具时是否启用并行函数调用。为是时,模型可能在单次响应中生成多个工具调用。
object[]
你想为此请求启用的插件,包括其设置。
number
存在惩罚(-2.0 到 2.0)格式:
doubleobject
当有多个模型提供商可用时,可选择性地指明你的路由偏好。
boolean
是否允许备用提供商处理请求
- true:(默认)当主要提供商(或你在 “order” 中的自定义提供商)不可用时,使用次优的提供商。
- false:仅使用主要/自定义提供商,若其不可用则返回上游错误。
`deny`, `allow`
数据收集设置。如果没有可用的模型提供商满足该要求,你的请求将返回错误。
- allow:(默认)允许非临时存储用户数据并可能据此训练的提供商
- deny:仅使用不收集用户数据的提供商。
boolean
是否将路由限制为仅使用允许文本蒸馏的模型。为是时,仅使用作者已允许蒸馏的模型。
`AkashML`, `AI21`, `AionLabs`, `Alibaba`, `Ambient`, `Baidu`, `Amazon Bedrock`, `Amazon Nova`, `Anthropic`, `Arcee AI`, `AtlasCloud`, `Avian`, `Azure`, `BaseTen`, `BytePlus`, `Black Forest Labs`, `Cerebras`, `Chutes`, `Cirrascale`, `Clarifai`, `Cloudflare`, `Cohere`, `Crucible`, `Crusoe`, `DeepInfra`, `DeepSeek`, `DekaLLM`, `Featherless`, `Fireworks`, `Friendli`, `GMICloud`, `Google`, `Google AI Studio`, `Groq`, `Hyperbolic`, `Inception`, `Inceptron`, `InferenceNet`, `Ionstream`, `Infermatic`, `Io Net`, `Inflection`, `Liquid`, `Mara`, `Mancer 2`, `Minimax`, `ModelRun`, `Mistral`, `Modular`, `Moonshot AI`, `Morph`, `NCompass`, `Nebius`, `Nex AGI`, `NextBit`, `Novita`, `Nvidia`, `OpenAI`, `OpenInference`, `Parasail`, `Poolside`, `Perceptron`, `Perplexity`, `Phala`, `Recraft`, `Reka`, `Relace`, `SambaNova`, `Seed`, `SiliconFlow`, `Sourceful`, `StepFun`, `Stealth`, `StreamLake`, `Switchpoint`, `Together`, `Upstage`, `Venice`, `WandB`, `Xiaomi`, `xAI`, `Z.AI`, `FakeProvider` | string[]
要忽略的提供商 slug 列表。如果提供,此列表会与此请求中你账户级别的忽略提供商设置合并。
object
用于指定你愿意为此请求支付的最高价格的对象。以美元计,每百万 token 的价格,针对提示词和补全。
string
每百万提示词 token 的价格
string
每百万提示词 token 的价格
string
每百万提示词 token 的价格
string
每百万提示词 token 的价格
string
每百万提示词 token 的价格
`AkashML`, `AI21`, `AionLabs`, `Alibaba`, `Ambient`, `Baidu`, `Amazon Bedrock`, `Amazon Nova`, `Anthropic`, `Arcee AI`, `AtlasCloud`, `Avian`, `Azure`, `BaseTen`, `BytePlus`, `Black Forest Labs`, `Cerebras`, `Chutes`, `Cirrascale`, `Clarifai`, `Cloudflare`, `Cohere`, `Crucible`, `Crusoe`, `DeepInfra`, `DeepSeek`, `DekaLLM`, `Featherless`, `Fireworks`, `Friendli`, `GMICloud`, `Google`, `Google AI Studio`, `Groq`, `Hyperbolic`, `Inception`, `Inceptron`, `InferenceNet`, `Ionstream`, `Infermatic`, `Io Net`, `Inflection`, `Liquid`, `Mara`, `Mancer 2`, `Minimax`, `ModelRun`, `Mistral`, `Modular`, `Moonshot AI`, `Morph`, `NCompass`, `Nebius`, `Nex AGI`, `NextBit`, `Novita`, `Nvidia`, `OpenAI`, `OpenInference`, `Parasail`, `Poolside`, `Perceptron`, `Perplexity`, `Phala`, `Recraft`, `Reka`, `Relace`, `SambaNova`, `Seed`, `SiliconFlow`, `Sourceful`, `StepFun`, `Stealth`, `StreamLake`, `Switchpoint`, `Together`, `Upstage`, `Venice`, `WandB`, `Xiaomi`, `xAI`, `Z.AI`, `FakeProvider` | string[]
允许使用的提供商 slug 列表。如果提供,此列表会与你的账户级允许提供商设置合并,并应用于本次请求。
`AkashML`, `AI21`, `AionLabs`, `Alibaba`, `Ambient`, `Baidu`, `Amazon Bedrock`, `Amazon Nova`, `Anthropic`, `Arcee AI`, `AtlasCloud`, `Avian`, `Azure`, `BaseTen`, `BytePlus`, `Black Forest Labs`, `Cerebras`, `Chutes`, `Cirrascale`, `Clarifai`, `Cloudflare`, `Cohere`, `Crucible`, `Crusoe`, `DeepInfra`, `DeepSeek`, `DekaLLM`, `Featherless`, `Fireworks`, `Friendli`, `GMICloud`, `Google`, `Google AI Studio`, `Groq`, `Hyperbolic`, `Inception`, `Inceptron`, `InferenceNet`, `Ionstream`, `Infermatic`, `Io Net`, `Inflection`, `Liquid`, `Mara`, `Mancer 2`, `Minimax`, `ModelRun`, `Mistral`, `Modular`, `Moonshot AI`, `Morph`, `NCompass`, `Nebius`, `Nex AGI`, `NextBit`, `Novita`, `Nvidia`, `OpenAI`, `OpenInference`, `Parasail`, `Poolside`, `Perceptron`, `Perplexity`, `Phala`, `Recraft`, `Reka`, `Relace`, `SambaNova`, `Seed`, `SiliconFlow`, `Sourceful`, `StepFun`, `Stealth`, `StreamLake`, `Switchpoint`, `Together`, `Upstage`, `Venice`, `WandB`, `Xiaomi`, `xAI`, `Z.AI`, `FakeProvider` | string[]
按顺序排列的提供商 slug 列表。路由器会在此列表中支持你所请求模型的子集里,优先尝试第一个提供商;如果该提供商不可用,则回退到下一个。如果没有任何可用的提供商,请求将失败并返回报错信息。
number | object
首选的最大延迟(单位为秒)。可以是一个数字(适用于 p50),也可以是带有各百分位特定阈值的对象。高于阈值的端点仍可能被使用,但在路由中会被降低优先级。使用回退模型时,如果回退模型满足阈值,可能会导致使用回退模型而不是主模型。
number | object
首选的最小吞吐量(单位为每秒 token 数)。可以是一个数字(适用于 p50),也可以是带有各百分位特定阈值的对象。低于阈值的端点仍可能被使用,但在路由中会被降低优先级。使用回退模型时,如果回退模型满足阈值,可能会导致使用回退模型而不是主模型。
`int4`, `int8`, `fp4`, `fp6`, `fp8`, `fp16`, `bf16`, `fp32`, `unknown`[]
用于按量化级别过滤提供商的列表。
boolean
是否将提供商过滤为仅保留那些支持你所提供参数的服务商。如果省略此设置或将其设为 false,提供商将只收到它们支持的参数,并忽略其余参数。
`price`, `throughput`, `latency`, `exacto` | object
如果未指定 “order”,则使用此排序策略来处理本次请求。设置后,不会执行负载均衡。
boolean
是否将路由限制为仅使用 ZDR(零数据保留)端点。设为 true 时,只会使用不保留提示词的端点。
object
推理模型的配置选项
`xhigh`, `high`, `medium`, `low`, `minimal`, `none`
限制推理模型在推理上投入的力度
string
可能的值:
auto、concise、detailedobject
响应格式配置
object
任意类型
integer
用于生成确定性输出的随机种子
`auto`, `default`, `flex`, `priority`, `scale`
用于处理此请求的服务层级。
string
用于对相关请求(例如一次对话或智能体工作流)进行分组以便可观测的唯一标识符。如果同时在请求体和 x-session-id 请求头中提供,则以请求体中的值为准。最多 256 个字符。
string | string[] | object
停止序列(最多 4 个)
object[]
服务器工具智能体循环的停止条件。任一条件触发都会终止循环(OR 逻辑)。设置后,此设置会覆盖
max_tool_calls。boolean
默认值:"false"
启用流式响应
object
流式配置选项
boolean
已弃用:此字段不产生任何效果。完整的用量详情始终会被包含。
number
采样温度(0-2)格式:
double`none` | `auto` | `required` | object
工具选择配置
object[]
可用于函数调用的工具
integer
返回的 top log 概率数量(0-20)
number
核采样参数(0-1)格式:
doubleobject
用于可观测性和追踪的元数据。已知的键(trace_id、trace_name、span_name、generation_name、parent_span_id)有特殊处理。其他键会作为自定义元数据透传给已配置的广播目标。
string
string
string
string
string
string
唯一用户标识符
GET /v2/models/openrouter/chat-completions/openapi.json 提供的 schema 生成,该文档与请求到达提供商之前 Router 用于校验调用的文档相同。
输出
object[]
必填
补全选项列表
string
必填
可能的值:
tool_calls、stop、length、content_filter、errorinteger
必填
选项索引
object
补全的对数概率
object[]
必填
内容 token 的对数概率
integer[]
必填
token 的 UTF-8 字节
number
必填
token 的对数概率格式:
doublestring
必填
该 token
object[]
必填
带概率的备选 token 排名
integer[]
必填
number
必填
格式:
doublestring
必填
object[]
拒绝 token 的对数概率
integer[]
必填
token 的 UTF-8 字节
number
必填
token 的对数概率格式:
doublestring
必填
该 token
object[]
必填
带概率的备选 token 排名
integer[]
必填
number
必填
格式:
doublestring
必填
object
必填
请求和响应的助手消息
object
音频输出数据或引用
string
Base64 编码的音频数据
integer
音频过期时间戳
string
音频输出标识符
string
音频转写文本
string | object[] | object
助手消息内容
object[]
图像生成模型生成的图像
object
必填
string
必填
生成图像的 URL 或 base64 编码数据
string
助手的可选名称
string
推理输出
object[]
扩展思考模型的推理详情
string
内容被拒绝时的拒绝消息
object[]
助手发起的工具调用
object
必填
string
必填
JSON 字符串形式的函数参数
string
必填
要调用的函数名称
string
必填
工具调用标识符
string
必填
可能的值:
functioninteger
必填
创建时间的 Unix 时间戳
string
必填
唯一的补全标识符
string
必填
用于补全的模型
string
必填
可能的值:
chat.completionobject
integer
必填
object[]
string
必填
string
必填
integer
必填
object
必填
object[]
必填
string
必填
string
必填
boolean
必填
integer
必填
boolean
必填
object
number
格式:
doublenumber
格式:
doublestring
object[]
number
格式:
doubleobject
string
string
string
必填
string
string
必填
流水线阶段的分类类型。多个插件可以共享同一个类型(例如所有 guardrail 级别的插件都会输出
guardrail);name 字段用于区分具体是哪个插件输出的。可能的值:guardrail、plugin、server_tools、response_healing、context_compressionstring
必填
string
必填
string
必填
可能的值:
direct、auto、free、latest、alias、fallback、pareto、bodybuilder、fusionstring
必填
string
上游提供商为此请求使用的服务层级
string
必填
系统指纹
object
Token 使用量统计
integer
必填
补全内容中的 token 数量
object
详细的补全 token 用量
number
补全的费用格式:
doubleobject
上游推理费用的明细
number
必填
格式:
doublenumber
格式:
doublenumber
必填
格式:
doubleboolean
该请求是否使用了自带密钥(Bring Your Own Key)配置
integer
必填
提示词中的 token 数量
object
详细的提示词 token 用量
integer
必填
token 总数
示例
输出
发布前须知
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 目前不支持的功能,以及替代方案。