ComfyUI
本教程为社区贡献,不属于 Open WebUI 官方团队的支持范围。它仅作为如何根据特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。
ComfyUI 是一个功能强大且模块化的基于 节点的 Stable Diffusion GUI。它让用户对图像生成过程拥有高度的控制权。了解更多信息或从其 GitHub 页面 下载。
要运行 ComfyUI 并使其可供 Open WebUI 访问,您必须使用 --listen 标志启动它以绑定到 0.0.0.0。这允许它接受来自网络上其他计算机的连接。
一旦运行,ComfyUI 界面将可通过 http://<您的_comfyui_ip>:8188 访问。

将 ComfyUI 连接到 Open WebUI
由于 Open WebUI 通常在 Docker 内部运行,您必须确保容器可以通过 host.docker.internal 访问基于主机的 ComfyUI 应用程序。
-
主机绑定检查:确保 ComfyUI 运行时带有
--listen 0.0.0.0标志(步骤 5)。 -
防火墙检查:如果主机防火墙 (UFW) 已激活,请确保允许 8188 端口 (
sudo ufw allow 8188/tcp)。 -
Docker 运行命令(Linux 原生 Docker): 对于不运行 Docker Desktop 的 Linux 用户,在运行 Open WebUI 容器时,必须显式映射主机网关。
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-e COMFYUI_BASE_URL=http://host.docker.internal:8188/ \
-e ENABLE_IMAGE_GENERATION=True \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
安装并运行 ComfyUI 后,您可以从管理员设置将其连接到 Open WebUI。
创建图像(图像生成)
-
导航到图像设置:在 Open WebUI 中,转到 管理员面板 > 设置 > 图像。
-
启用并配置 ComfyUI:
- 确保页面顶部的 图像生成 开关已启用。
- 在 创建图像 部分,将 图像生成引擎 设置为
ComfyUI。 - 模型:选择用于生成图像的基础模型。
- 图像尺寸:定义生成图像的分辨率(例如 512x512、1024x1024)。
- 步数 (Steps):采样步数;较高的值可以提高图像质量,但处理时间更长。
- 图像提示词生成:启用后,此功能将使用语言模型根据您的初始输入自动生成更详细、更有创意的提示词,从而获得更好的图像结果。
- 在 ComfyUI 基础 URL 字段中,输入正在运行的 ComfyUI 实例的地址(例如
http://host.docker.internal:8188/)。 - 点击 URL 字段旁边的 刷新图标 (🔄) 以验证连接。应出现成功消息。
- 如果您的 ComfyUI 实例需要 API 密钥,请在 ComfyUI API 密钥 字段中输入。

-
上传您的 ComfyUI 工作流:
- 首先,您需要从 ComfyUI 导出正确格式的工作流。在 ComfyUI 界面中,点击左上角的 ComfyUI 标志,然后点击 Settings。然后搜索并启用 "Dev Mode" 选项,其描述为 "Enable dev mode options (API save, etc.)"。

- 仍在 ComfyUI 中,加载您想要使用的 图像生成 工作流,然后点击点击 ComfyUI 标志后在 File 子菜单中找到的 "Export (API)" 按钮。这将提示您命名文件。起一个好记的名字并下载。

- 回到 Open WebUI,在 ComfyUI 工作流 部分,点击 上传。选择您刚刚下载的 JSON 工作流文件。

-
映射工作流节点:
- 导入工作流后,您必须将工作流中的节点 ID 映射到 Open WebUI 中相应的字段(例如
提示词 (Prompt)、模型 (Model)、种子 (Seed))。这告诉 Open WebUI 控制 ComfyUI 工作流中的哪些输入。 - 您可以通过在 ComfyUI 中点击节点并查看其详细信息来找到节点 ID。
提示您可能需要调整 Open WebUI 的
ComfyUI 工作流节点部分中的输入键 (Input Key)以匹配工作流中的节点。例如,根据您的工作流结构,默认的seed键可能需要更改为noise_seed。建议某些工作流(例如使用任何 Flux 模型的工作流)可能会使用多个节点 ID,这些 ID 需要填入 Open WebUI 的节点条目字段中。如果一个节点条目字段需要多个 ID,则节点 ID 应以逗号分隔(例如
1或1, 2)。 - 导入工作流后,您必须将工作流中的节点 ID 映射到 Open WebUI 中相应的字段(例如
-
保存配置:
- 点击页面底部的 保存 按钮以完成配置。现在您可以在 Open WebUI 中使用 ComfyUI 进行图像生成了。
