ComfyUI 工作流:去哪里找,以及如何 charger
ComfyUI 工作流是保存在 JSON 文件中或直接嵌入生成图像中的节点图。拿别人的工作流来用,可以省去手动重建流水线的工夫,但加载经常失败:图像没有元数据、节点显示为红色、找不到模型。本指南介绍去哪里找可靠的工作流、如何打开它们,以及如何在首次生成前解决最常见的错误。
#什么是 ComfyUI 工作流,以及它不包含什么
在 ComfyUI 中,画布上看到的一切共同构成工作流:节点(模型加载、提示词、采样器、VAE 解码、保存)、节点的参数设置以及连接它们的连线。保存时,ComfyUI 会将这个图序列化为 JSON。使用 Save Image 节点生成图像时,它默认会把同一个图的副本写入 PNG 文件的元数据中。正因如此,ComfyUI 生成的图像可以当作工作流文件使用:把它拖放到画布上,就能重建生成该图像的图。
工作流描述的是配方,而不是原料。它包含模型文件(checkpoint、LoRA、VAE、ControlNet)的名称以及所用节点的类型,但既不包含模型权重,也不包含自定义节点的代码。这几乎是所有加载问题的根源:节点图能打开,但你的安装并不具备它所需的全部内容。
- 界面格式(workflow)
- 完整的 JSON,包含节点位置、分组、注释和连线。这是常规保存时生成的格式,也是用户之间分享的格式。
- API 格式(prompt)
- 一种精简版本,只保留节点及其输入,不含布局。它用于通过 ComfyUI 的 HTTP API 以脚本方式控制 ComfyUI。导出菜单中以 Export (API) 的名称提供。
- 带元数据的图像
- 由 ComfyUI 生成的 PNG(或其他格式,取决于保存节点),在其文本块中嵌入了上述两种版本。
#先决条件
借助我们的经验和引导式路径,上手你的工具,在本地创作图像。
- 在线空间,终身可用
- PDF + 文件
- 30 天内退款
你需要一个已能用默认工作流生成图像的 ComfyUI 安装。如果还不能,请先阅读 ComfyUI 安装指南:在无法正常运行的安装上加载第三方工作流,会把两种故障来源混在一起,使诊断变得困难。
- ComfyUI 已更新
- 较新的工作流可能会用到旧版本中没有的内置节点。Desktop 会自动更新;手动安装的话,需在 ComfyUI 文件夹中执行 git pull,然后更新依赖。
- ComfyUI Manager
- 安装工作流所需的自定义节点时必不可少。其安装方法详见我们的 Manager 专题指南。
- 了解你的文件夹位置
- models(及其子文件夹 checkpoints、loras、vae、controlnet、diffusion_models、text_encoders……)、custom_nodes,以及 ComfyUI 存放已保存工作流的 user/default/workflows。
- 磁盘空间
- 一个第三方工作流可能需要多个模型,每个都有数 GB。在全部下载之前,请先核对标注的大小。
#去哪里找可靠的 ComfyUI 工作流
并非所有来源都同样可靠。适合入门的好工作流应使用内置节点或非常流行的扩展,注明所需模型及其链接,并且发布时间不超过一年。以下按可信度从高到低列出各类来源。
- 01内置模板(templates)当前版本的 ComfyUI 界面提供了一个即用型工作流库,可从 Workflow 菜单进入(根据界面版本和语言不同,入口为 Browse Templates 或“模板”面板)。这些工作流涵盖文生图、图生图、局部重绘(inpainting)、放大(upscale)、ControlNet,以及官方支持的图像或视频模型。它们只使用内置节点,其中许多还注明了所需模型的下载地址。这是最好的起点。
- 02官方文档和示例docs.comfy.org 上的文档为受支持的模型配有教程和可下载的工作流。ComfyUI 仓库的老牌示例站点(comfyanonymous.github.io/ComfyUI_examples)发布的 PNG 图像包含各自的工作流:只需保存下来,再拖入 ComfyUI 即可。
- 03自定义节点提供的示例大多数靠谱的扩展都会在其 GitHub 仓库中提供示例工作流,通常位于 example_workflows 或 examples 文件夹中。如果该文件夹遵循 example_workflows 命名约定,较新版本的 ComfyUI 在安装扩展后还会将其显示在模板库中。要学习某个特定扩展,这些是最可靠的参考。
- 04社区平台Civitai、OpenArt 等网站分享了数以千计的工作流,有 JSON 格式的,也有嵌入在图像中的。其中既有非常成熟的流水线,也有依赖几十个扩展的臃肿节点图、已停止维护的版本,以及辗转复制的副本。下载前请查看日期、所需扩展的数量以及评论。
- 05其他用户分享的图像ComfyUI 生成的图像包含其工作流……前提是图像未被重新压缩。在提供原始文件的论坛或仓库中,这一点很实用;在社交网络上则不然(见下文)。
#加载工作流:PNG、JSON 或键盘快捷键
ComfyUI 接受 JSON 文件形式或包含元数据的图片形式的工作流。有三种方法,结果相同。
- 01拖放将 .json 文件或 .png 图片从文件管理器拖到 ComfyUI 画布上。图会在新的工作流标签页中打开(在旧版界面中则会替换当前工作流)。对图片而言,这是最快的方法。
- 02Workflow 菜单,然后选择“打开”在顶部栏的 Workflow 菜单中,选择 Open(打开)。随后会弹出文件选择窗口,支持 JSON 和图片。在旧版界面中,对应的是侧边面板上的 Load 按钮。
- 03键盘快捷键Ctrl+O(Mac 上为 Cmd+O)会打开同一个文件选择窗口。快捷键可在 ComfyUI 设置中修改:如果该快捷键没有反应,请检查它是否已被重新分配。
- 04运行前检查在点击 Run(或 Queue Prompt)之前,先浏览一遍节点图:红色节点、提示缺少节点类型的警告窗口、你没有的模型名称。以下各节将说明如何处理这些情况。
已打开的工作流可以通过画布顶部的标签页访问,保存后还会出现在 Workflows 侧边栏中。打开但未保存的第三方工作流在关闭其标签页后就会消失:一旦它能正常运行,请立即保存(Ctrl+S)。
#图片加载不出任何内容:元数据已丢失
你拖入一张图像却毫无反应,或者 ComfyUI 提示找不到工作流。在绝大多数情况下,是该文件从未包含工作流,或在传输途中丢失了它。
- 被平台重新压缩
- 大多数社交网络和即时通讯应用会重新压缩发送的图像并删除其元数据,通常还会将其转换为 JPEG 或 WebP。即使图像看起来一模一样,工作流也已丢失。
- 截图
- 截图只包含像素,任何生成信息都不会保留。
- 修图或格式转换
- 在编辑器中打开图像后重新保存,或将其转换为 JPEG,通常会删除 PNG 的文本块。
- 来自其他工具的图像
- AUTOMATIC1111、Forge 或 Fooocus 以不同的格式写入参数。ComfyUI 无法根据这些数据重建完整的图。
- 元数据已禁用
- 生成该图像的服务器可能是以 --disable-metadata 选项启动的,该选项会阻止 ComfyUI 将工作流写入文件。
要在拖入图片之前确认其中确实包含工作流,可以查看它的元数据。ComfyUI 会在其 PNG 中写入两个文本块:prompt(API 格式)和 workflow(界面格式)。使用 Python 和 ComfyUI 环境中已自带的 Pillow 库:
如果文件中什么都没有,任何工具都无法让工作流重新出现。请查找原始发布:在专业平台上,作者通常会单独提供 JSON 或原始图像供下载。
#加载后缺少节点和模型
#红色节点:缺少自定义节点
如果工作流使用了您未安装的扩展,ComfyUI 会弹出一个列出缺失节点类型的窗口,并在画布上将这些节点显示为红色。解决方法是通过 ComfyUI Manager:打开 Manager 菜单,选择 Install Missing Custom Nodes,然后完全重启服务器并重新打开工作流。详细步骤、检测失败的情况以及 IMPORT FAILED 错误均在我们的 ComfyUI Manager 指南中介绍,此处不再赘述。
安装之前,先看看列表需要多少个扩展。若想在不打开 JSON 的情况下清点其内容,可以用 jq 工具列出所用的节点类型,包括较新版本中子图里的节点;你不认识的名称很可能是需要确认的自定义节点。
#找不到模型:Value not in list 错误
图打开后没有红色节点,您开始生成,ComfyUI 却因 Value not in list 之类的错误而中止,并在 ckpt_name 或 lora_name 等字段中提到某个文件名。这说明工作流需要的模型不在您的 models 文件夹中,或者以其他名称存在。
- 01读取所需的确切名称错误信息和加载节点(Load Checkpoint、Load LoRA、Load VAE、Load Diffusion Model……)会指明所需的文件。还要留意子文件夹:放在 checkpoints 中的文件不会出现在读取 diffusion_models 的节点里。
- 02使用提供的链接官方模板和许多较新的工作流都内置了模型下载链接:此时界面会提示下载,或者工作流中的备注会给出地址。否则,请在作者页面、Hugging Face 或 Civitai 上搜索文件名,并确认它确实来自该模型的官方仓库。
- 03或选择一个等效项已经有同一系列的模型?点击加载节点的字段,从列表中选择你的文件。一个 SDXL checkpoint 可以替换另一个 SDXL checkpoint;但它不能替换 SD 1.5 模型或 Flux 模型,后两者需要不同的节点和设置。
- 04刷新列表将文件复制到 models 后,节点列表并不总会自动更新。请使用界面的刷新命令(默认按 R 键)或重新加载页面。
还要考虑显卡的显存。在 24 GB 显卡上设计的工作流可能同时加载扩散模型、大型文本编码器和 ControlNet,从而占满 8 或 12 GB 的显卡。作者很少说明自己的硬件:如果出现显存不足错误,请寻找所需模型的量化版本(GGUF 或 FP8),或移除放大(upscale)等可选步骤。
#谨慎对待来源不明的文件
工作流文件就是 JSON:在 ComfyUI 中打开它不会运行任何程序。风险来自工作流促使您安装的东西。每个 custom node 都是 Python 代码,从 ComfyUI 启动起就以您的权限运行,可以访问您的文件和网络。恶意扩展此前已有流传:2024 年,一个以 ComfyUI_LLMVISION 为名发布的扩展被曝窃取用户数据。
- 未知扩展
- 如果某个工作流要求的扩展在 Manager 目录中找不到,且其仓库是新建的、没有历史记录也没有用户,请保持警惕。一个热门工作流没有理由依赖一个不知名的仓库。
- 目录之外的安装
- 如果作者要求手动克隆仓库或运行安装脚本,请在执行前先阅读脚本的内容。
- 模型格式
- 优先选择 .safetensors 文件,它只包含权重。旧的 .ckpt、.pt 或 .bin 格式通常基于 pickle,这是一种在加载时可以执行代码的 Python 格式。
- Isolation
- 要测试可疑的工作流,请使用一个独立的安装(第二个便携版副本、单独的虚拟环境或容器),且不要让它访问你的个人文档。
#保存、导出和分享你的工作流
修复好工作流后,请保存它,以免重复劳动。按 Ctrl+S(Mac 上为 Cmd+S)或通过 Workflow 菜单选择 Save,即可将其保存到你安装目录下的 user/default/workflows 文件夹中,它会出现在 Workflows 侧边栏里。请给它起一个清晰的名称:模型、用途和日期。
- Save
- 保存到服务器端的 ComfyUI 库中。日常使用很方便,但别忘了把这个文件夹和你的其他数据一起备份。
- 导出
- 将界面格式的 JSON 文件下载到你的电脑。这是用于分享的格式。
- 导出(API)
- 下载 API 格式,适合通过脚本或从其他程序控制 ComfyUI。对其他界面用户没有用处。
- 生成的图像
- Save Image 输出的每张图像都已包含工作流。若要连同其图一起分享,请以附件或压缩包形式发送原始 PNG 文件,切勿发送重新压缩过的版本。
为了规范地分享,请添加一个 Note 节点,列出所用模型及其链接、所需扩展,以及调试该工作流时所用的显存容量。还要检查你的提示词和文件名不会泄露任何个人信息:它们会随工作流一起传播,包括在图像的元数据中。最后,已发布的工作流仍是其作者的作品:如果你分享修改后的版本,请注明并链接原始发布,而不是原样重新发布该文件。
#快速排错
- 拖入图片没有反应
- 文件不包含工作流:可能经过重新压缩、是截图、经过格式转换,或是其他工具生成的图像。请用上面的 Python 脚本检查。
- 缺失节点类型窗口
- 缺少自定义节点。依次执行 Manager、Install Missing Custom Nodes,完全重启,然后重新打开工作流。
- 安装后节点仍为红色
- 服务器未重启、扩展加载失败(终端中显示 IMPORT FAILED),或节点已被重命名。详情见 ComfyUI Manager 指南。
- Value not in list 错误
- 模型缺失,或放在了 models 下错误的子文件夹中。请下载该模型,或在节点中选择同一系列的替代模型。
- 输入错位或数值异常
- 工作流是为某个节点的其他版本设计的。请更新 ComfyUI 和相关扩展,或手动重新创建该节点并连接好。
- 内存不足错误(out of memory)
- 工作流超出了显卡的显存容量。可改用量化版模型、降低分辨率,或删除可选步骤。
- 结果与原图不同
- 种子、模型版本、LoRA 或采样器不同。即使工作流完全相同,两台机器也不一定能生成像素级一致的图像。
#深入了解
一旦完成安装、配置好 Manager 并整理好模型,加载 ComfyUI workflows 很快就会变得得心应手。以下指南是本文的补充:规范地安装 ComfyUI、管理 custom nodes、选择本地图像工具,以及掌握 ControlNet——许多共享工作流中都会用到的一个组件。
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。