跳转到主要内容
本页演示了与 ComfyUI Server API 交互的三种方式,从简单的 HTTP 提交到完整的 WebSocket 集成实时图像输出。 所有示例均使用默认的 SD1.5 工作流进行演示。使用 API 之前,你需要先导出工作流的 API 格式
这些示例使用 Python 标准库和 websocket-client 包(pip install websocket-client)。底层 API 协议与语言无关 — 请参阅 Cloud API 参考 了解 TypeScript 和 curl 版本。

方法一:提交即忘(仅 HTTP)

源码:basic_api_example.py 最简单的方式:提交工作流,不等待结果。适用于提交后稍后检查输出的场景。
此方法使用 SaveImage 节点,图片会保存到服务器磁盘。要获取图片,需要调用 GET /view?filename=...

方法二:WebSocket + History(监控执行完成)

源码:websockets_api_example.py 使用 WebSocket 等待执行完成,然后通过 /history 端点获取结果。这是大多数场景的推荐方式。
WebSocket 二进制帧中的生成过程预览图片可以解码用于实时预览(二进制格式参见服务器消息页面)。

方法三:WebSocket 配合 SaveImageWebsocket(实时获取图片)

源码:websockets_api_example_ws_images.py 如果不想将图片保存到磁盘,可以使用 SaveImageWebsocket 节点。图片会通过 WebSocket 二进制帧直接传送。
工作流必须使用 class_type: "SaveImageWebsocket"(内置节点)代替普通的 SaveImage 节点。

应该用哪种方法?

方法一:仅 HTTP

发送即忘。 适用于不需要立即获取输出,或稍后检查结果即可的场景。

方法二:WebSocket + History

推荐。 等待完成,然后下载结果。简单性和可靠性之间最佳平衡。

方法三:SaveImageWebsocket

实时图片。 适用于需要图片不写磁盘直接送达的交互式应用。
完整的 API 参考(端点、负载格式、错误处理)请参阅服务器路由服务器消息页面。