200 响应携带该模型的原生输出。这种形状正是让首次集成变得简短的原因,也是本页所有限制的来源。在围绕 Router 进行设计之前阅读本页,而不是之后:下文大部分内容都有直接的替代方案,而那些没有替代方案的内容,值得你在基于 Router 并不成立的假设进行构建之前了解。
Router 支持什么
不支持排队提交
模型运行期间,Router 会保持连接。对于异步提供商,Router 会提交任务并在内部轮询。它不会暴露 Router 任务ID、状态端点、回调或 webhook。 如果你的请求无法保持足够长的连接,可以从 worker 调用 Router,并在自己的应用中跟踪任务。当你需要提供商自身的提交和轮询控制时,请使用合作伙伴代理。调用会在服务器截止时间被切断
Router 的默认截止时间为 10 分钟,可由部署方配置。请将客户端超时设置为高于该值,以便 Router 能先返回其错误和请求 ID。504 / deadline_exceeded 表示 Router 停止了等待;504 / provider_timeout 表示提供商超时。超时或连接丢失并不能证明某次生成未被计费,也不会取消提供商已接受的工作。重试之前,请阅读超时与计费。
恢复取决于提供商
对于一次已被接受的「提交并轮询」式生成,Router 可以保留提供商句柄。复用同一个Idempotency-Key 即可稍后收集结果;已完成且可重放的响应也可以从该 key 记录中获取。
并非每个已断开连接的调用都可恢复。在发送之前先保存请求和 key,然后使用重试结果表。使用新的 key 会创建新的调用,并可能产生额外费用。
请求按调用方进行速率限制
请求速率限制适用于调用以及目录/schema 读取,包括在生成之前就被拒绝的请求。它跟随经过身份验证的调用方,而不是来源 IP。使用调用方自己的提供商密钥的调用不受此限制;提供商自身的限制仍然适用。
缓存目录与 schema 读取。使用
ETag 和 If-None-Match 重新验证 schema。重试字段与承诺支出字段见响应头。
调用运行期间无进度
Router 只返回最终响应,不提供流式 token、服务器发送事件、百分比更新或中间预览帧。提供商内部的轮询状态不会在请求期间转发。 请显示不确定的进度指示器。如果您需要进度或流式输出,请使用可暴露这些信息的合作伙伴代理操作。Comfy 费用与用量
响应可能包含提供商的用量或成本字段。它们并不代表通用的 Comfy 计费。X-Comfy-Credits-Used 是可选的,并且不会被重放。请使用 Comfy 平台查询余额、用量和发票。
目录提供的是计费事实,包括 billing.charges_on_policy_rejection,而不是价格。请显式处理 yes、no 和 unknown。参见计费。
Router 并不覆盖每个合作伙伴操作
Router 运行模型。文件上传、账户读取、资产管理、流式传输以及提供商任务控制可能需要/proxy/… 下的合作伙伴代理路由。请查阅 Comfy API 规范;支持情况因提供商而异。
模型输出与存储资产
输入和输出字段因模型而异。从提供商 SDK 或代理迁移时,路由方式以及结果读取方式都可能发生变化。 部分资产会重新托管到 Comfy 存储上,其他资产则是提供商 URL 或内联字节。关于生命周期和重放行为,请参阅结果资产。下一步
快速入门
通过 Comfy Router 生成你的第一张图像。
使用 Router API
选择一个模型、查看其 schema,并处理结果与重试。