ComfyUI 的结构

ComfyUI 实际上分为“两个部分”。

服务器(ComfyUI 本体)

这是负责执行工作流(workflow),并生成图像、视频、音频等的“引擎”侧。 当你启动 ComfyUI 时,在本地通过 http://127.0.0.1:8188 等 URL 处于等待状态的就是这个服务器。

前端(操作画面)

这是向服务器发出“执行这个 工作流”指令的“操作”侧。 你平时使用的 Web 节点 UI,只不过是这种前端的一种形式而已。


API 是“向服务器发送指令的窗口”

前端和服务器并不是随意连接的。 连接它们之间的正是 API(传递指令的窗口)

Web 节点 UI 在内部也是通过 API 向服务器发送指令的。 也就是说,当你在 UI 上按下 ▷Run 的瞬间,后台也会向服务器发送一个“执行这个 工作流”的请求。


有了 API,“使用方法”就会增加

API 最有趣的地方在于,它让同一个 ComfyUI 服务器可以通过浏览器以外的入口来驱动

例如,你可以做到以下几点:

  • 从命令行(CLI)或脚本运行 工作流
  • 制作一个简易的自制 UI(比如只有表单的画面)来执行
  • 仅替换 seed 或文本进行连续执行

节点 UI 虽然自由度很高,但有时过高的自由度反而会成为混乱的根源。 另外,在像批处理那样“一边微调同一个 工作流 一边多次运行”时,相比操作节点,直接用脚本来跑往往更简单。

根据用途选择不同的入口,这就是 API 的优势。


注意点

服务器必须处于启动状态

API 并不是“让你无需启动 ComfyUI 的机制”。

执行生成的依然是服务器侧,因此服务器必须处于启动等待状态。

能做的主要是“执行”的自动化

虽然说“可以用喜欢的方式执行”,但基本只是增加了一个“执行”的入口。 工作流 的构建本身,原则上还是在节点 UI 上进行。

在这个基础上,你可以想象成能够稍微改变 seed 或文本等参数,或者切换整个 工作流 来进行连续执行。