前言:当自动化遇见 AI 创造力
想象一下,你是否想过能实现这样的场景:
- 在表格里输入上百个创意,然后一键让 AI 帮你全部画出来?
- 当收到一封特定邮件时,自动根据邮件内容生成一张配图并发回?
- 创建一个专属的机器人,朋友们在群里发送文字,机器人就能自动出图?
本教程将介绍如何将两个开源工具——n8n 和 ComfyUI——结合使用,实现这些自动化场景。
n8n 是一个功能强大的工作流自动化工具,可以看作是开源可私有部署的 Zapier / IFTTT。它允许你通过节点连接不同的 Web 服务和应用程序,创建复杂的自动化流程。
ComfyUI 则是一个备受推崇的、基于节点的 Stable Diffusion 图形用户界面。它以其极致的灵活性和可定制性,成为许多 AI 绘画爱好者的首选工具。
本教程将带你一步步学习如何安装 n8n-nodes-comfyui
这个社区节点,并在 n8n 中远程控制你本地的 ComfyUI,实现全自动、可编程的图像生成工作流。
准备工作:确保你的弹药库充足
在开始之前,请确保你已经准备好了以下环境:
-
一个正在运行的 n8n 实例:
- 推荐使用 Docker 进行部署,方便快捷。如果你还没有安装,可以参考 n8n 官方的 Docker 安装指南。
-
一个正在运行的本地 ComfyUI 实例:
- 你需要有一个可以正常生成图片的 ComfyUI 环境。
- 最重要的一点:在启动 ComfyUI 时,必须添加
--listen
参数。这会让 ComfyUI 监听来自局域网内的所有请求,而不仅仅是本机。启动命令如下:只有这样,n8n 才能成功连接到它。python main.py --listen
- 对于图形化安装包用户:您可能不需要直接输入命令。直接启动即可。
第一步:在 n8n 中安装 ComfyUI 社区节点
为了让 n8n “认识” ComfyUI,我们需要安装一个由社区开发的连接节点。
- 打开你的 n8n Web 界面。
- 进入
Settings
->Community Nodes
。 - 点击
Install
,然后搜索n8n-nodes-comfyui
。 - 找到该节点后,点击安装。
安装成功后,n8n 可能会提示你需要重启实例。按照提示重启 n8n 服务。重启完成后,你就可以在节点列表中找到并使用全新的 ComfyUI
节点了。
第二步:导出你的 ComfyUI 工作流(API 格式)
ComfyUI 节点的核心工作方式是:接收一个 ComfyUI 工作流的 JSON 文件,并执行它。所以,我们需要先在 ComfyUI 中准备好一个工作流,并导出为 API 格式。
- 在 ComfyUI 中,搭建一个你想要自动化的基础工作流。可以是一个简单的“文生图”流程,例如:
Load Checkpoint
->CLIP Text Encode (Prompt)
->KSampler
->Save Image
。 - 确保这个工作流可以正常运行并生成图片。
- 点击右侧菜单栏中的
Save (API Format)
按钮。这会导出一个包含工作流完整定义的 JSON 文件。
请用文本编辑器打开这个 JSON 文件,复制里面的所有内容。我们稍后会在 n8n 中用到它。
第三步:构建你的第一个 n8n 自动化出图流程
现在,让我们回到 n8n,开始构建实用的工作流。
-
创建新工作流并添加 ComfyUI 节点
- 在 n8n 中创建一个新的工作流。
- 添加一个
ComfyUI
节点。
-
配置 ComfyUI 节点
-
Credential (凭证):第一次使用时,你需要创建一个新的凭证。
- 点击
Create New
。 - 在
Base URL
中,填入你 ComfyUI 的地址,通常是http://<你的IP地址>:8188
。如果你在同一台机器上运行,也可以使用http://127.0.0.1:8188
。 - 如果使用docker 部署需要使用
host.docker.internal
替换你的ip地址 - 保存凭证。
- 点击
-
Workflow JSON:将你在第二步中从 ComfyUI 导出的 API 格式 JSON 内容,完整地粘贴到这个输入框中。
-
-
动态化你的工作流 这是最核心、最强大的部分!我们不希望每次都运行一成不变的流程,而是想动态修改参数,比如每次都用不同的 Prompt。
- 在 ComfyUI 节点的配置中,找到
Properties
->Input Overwrite
。 - 点击
Add Property
。 Node ID
:填入你想修改的节点的 ID。你可以在之前导出的 JSON 文件中找到它,每个节点都有一个唯一的数字 ID。例如,CLIP Text Encode
节点的 ID 可能是6
。Input Name
:填入你想修改的参数名称,例如text
(对于 Prompt 节点)。Input Value
:在这里,你可以使用 n8n 的表达式来动态赋值!
举个例子,我们可以先在 ComfyUI 节点前添加一个
Set
节点,用来设置我们的 Prompt。 - 在 ComfyUI 节点的配置中,找到
在 Set
节点中,我们创建一个名为 prompt
的值,内容是 a beautiful cat
。
然后回到 ComfyUI
节点的 Input Overwrite
配置中,在 Input Value
里填入表达式 {{ $json.prompt }}
。
这样设置后,ComfyUI 节点在执行时,就会用 Set
节点中定义的 “a beautiful cat” 去替换掉原先工作流中 ID 为 6
的节点的 text
输入值。
第四步:执行并验证结果
配置完成后,点击 Execute Workflow
运行你的工作流。
执行成功后,你可以在 ComfyUI 节点的 Output
标签页看到返回结果。它会返回一个包含生成图片的二进制文件。n8n 会非常智能地直接将其渲染成图片,让你预览。
从这里开始,你就可以在后面连接其他节点来处理这张图片了,比如:
- 使用
Write Binary File
节点将图片保存到本地磁盘。 - 使用
Telegram
/Discord
节点将图片发送到你的聊天群。 - 使用
HTTP Request
节点将图片上传到图床或云存储。 - …等等
结语与更多玩法
恭喜你!你已经实现了 n8n 与 ComfyUI 的对接。这不仅仅是生成了一张图片,更是为你打开了一扇通往高级自动化 AIGC 的大门。你可以继续探索更多复杂的玩法:
- 批量生产:用
Google Sheets
或Airtable
节点读取一个表格,里面包含上百条 Prompt 和参数,循环执行 ComfyUI 节点,实现全自动批量出图。 - Webhook 触发:创建一个 Webhook 节点,接收来自其他应用的请求,动态生成符合需求的图片。
- 多模型联动:用一个 AI 节点(如 OpenAI)生成创意 Prompt,再将这个 Prompt 传递给 ComfyUI 节点去作画。
自动化与 AI 的结合拥有无限的潜力。希望这篇教程能为你提供一个好的起点,激发你创造出更酷、更强大的个人工作流!
📬 关注我获取更多资讯

