> ## Documentation Index
> Fetch the complete documentation index at: https://dripart-comfy-docs-comfyapi-search.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Comfy Router 的局限性

> Comfy Router 目前无法做到的事、存在替代方案时该改用何种方案，以及其中哪些限制预计将会改变。

Comfy Router 是一次同步调用：你使用一个凭据，将合作伙伴模型的原生输入发送到一个主机，连接保持打开，`200` 响应携带该模型的原生输出。这种形状正是让首次集成变得简短的原因，也是本页所有限制的来源。在围绕 Router 进行设计之前阅读本页，而不是之后：下文大部分内容都有直接的替代方案，而那些没有替代方案的内容，值得你在基于 Router 并不成立的假设进行构建之前了解。

## Router 支持什么

| 需求          | Router 支持情况                                    | 备选方案或后续步骤                                                       |
| ----------- | ---------------------------------------------- | --------------------------------------------------------------- |
| 使用单个请求生成    | `POST /v2/models/{provider}/{model}` 返回已完成的结果。 | 从[快速入门](/zh/development/comfy-router/quickstart)开始。             |
| 提交任务并稍后收集   | 没有常规的任务/状态 API 或完成 webhook。                    | 在 worker 中运行 Router，或使用具备提交并轮询操作的合作伙伴代理。                        |
| 显示进度或流式输出   | 调用期间没有实时进度、流式传输或预览帧。                           | 显示不确定状态，或使用受支持的代理操作。                                            |
| 连接丢失后恢复     | 当 Router 保留了已接受生成的句柄时，可使用同键收集。                 | 保留该键并遵循[重试引导](/zh/development/comfy-router/api#retry-outcomes)。 |
| 对账 Comfy 费用 | 响应中没有通用的 Comfy 成本或信用余额字段。                      | 使用[工作区计费](https://platform.comfy.org)。                          |
| 永久存储结果      | 资产 URL 可能会过期，包括重新托管和重放的 URL。                   | 下载资产；参见[结果资产](/zh/development/comfy-router/reference#结果资产)。     |

## 不支持排队提交

模型运行期间，Router 会保持连接。对于异步提供商，Router 会提交任务并在内部轮询。它不会暴露 Router 任务ID、状态端点、回调或 webhook。

如果你的请求无法保持足够长的连接，可以从 worker 调用 Router，并在自己的应用中跟踪任务。当你需要提供商自身的提交和轮询控制时，请使用[合作伙伴代理](#router-并不覆盖每个合作伙伴操作)。

## 调用会在服务器截止时间被切断

Router 的默认截止时间为 **10 分钟**，可由部署方配置。请将客户端超时设置为高于该值，以便 Router 能先返回其错误和请求 ID。

`504` / `deadline_exceeded` 表示 Router 停止了等待；`504` / `provider_timeout` 表示提供商超时。超时或连接丢失并不能证明某次生成未被计费，也不会取消提供商已接受的工作。重试之前，请阅读[超时与计费](/zh/development/comfy-router/api#timeouts-and-collection)。

<span id="no-way-to-resume-a-call-you-lost" />

## 恢复取决于提供商

对于一次已被接受的「提交并轮询」式生成，Router 可以保留提供商句柄。复用同一个 `Idempotency-Key` 即可稍后收集结果；已完成且可重放的响应也可以从该 key 记录中获取。

并非每个已断开连接的调用都可恢复。在发送之前先保存请求和 key，然后使用[重试结果表](/zh/development/comfy-router/api#retry-outcomes)。使用新的 key 会创建新的调用，并可能产生额外费用。

## 请求按调用方进行速率限制

| 响应                                   | 原因                     | 操作                             |
| ------------------------------------ | ---------------------- | ------------------------------ |
| `429` / `concurrency_limit_exceeded` | 并发调用过多，或在承诺支出上限之下余量不足。 | 减少并发工作。支出响应头可将支出上限与调用次数限制区分开来。 |
| `429` / `rate_limited`               | 请求额度已耗尽。               | 等待 `Retry-After` 后再重试。         |

请求速率限制适用于调用以及目录/schema 读取，包括在生成之前就被拒绝的请求。它跟随经过身份验证的调用方，而不是来源 IP。使用调用方自己的提供商密钥的调用不受此限制；提供商自身的限制仍然适用。

缓存目录与 schema 读取。使用 `ETag` 和 `If-None-Match` 重新验证 schema。重试字段与承诺支出字段见[响应头](/zh/development/comfy-router/headers)。

## 调用运行期间无进度

Router 只返回最终响应，不提供流式 token、服务器发送事件、百分比更新或中间预览帧。提供商内部的轮询状态不会在请求期间转发。

请显示不确定的进度指示器。如果您需要进度或流式输出，请使用可暴露这些信息的合作伙伴代理操作。

<span id="no-cost-or-credit-figures-on-a-response" />

## Comfy 费用与用量

响应可能包含提供商的用量或成本字段。它们并不代表通用的 Comfy 计费。`X-Comfy-Credits-Used` 是可选的，并且不会被重放。请使用 Comfy 平台查询余额、用量和发票。

目录提供的是计费事实，包括 `billing.charges_on_policy_rejection`，而不是价格。请显式处理 `yes`、`no` 和 `unknown`。参见[计费](/zh/development/comfy-router/api#model-billing-facts)。

## Router 并不覆盖每个合作伙伴操作

Router 运行模型。文件上传、账户读取、资产管理、流式传输以及提供商任务控制可能需要 `/proxy/…` 下的合作伙伴代理路由。请查阅 [Comfy API 规范](/openapi-v2.yaml)；支持情况因提供商而异。

## 模型输出与存储资产

输入和输出字段因模型而异。从提供商 SDK 或代理迁移时，路由方式以及结果读取方式都可能发生变化。

部分资产会重新托管到 Comfy 存储上，其他资产则是提供商 URL 或内联字节。关于生命周期和重放行为，请参阅[结果资产](/zh/development/comfy-router/reference#结果资产)。

## 下一步

<CardGroup cols={2}>
  <Card title="快速入门" icon="rocket" href="/zh/development/comfy-router/quickstart">
    通过 Comfy Router 生成你的第一张图像。
  </Card>

  <Card title="使用 Router API" icon="code" href="/zh/development/comfy-router/api">
    选择一个模型、查看其 schema，并处理结果与重试。
  </Card>
</CardGroup>
