基于ComfyUI实现AI绘画工作流

1/27/2024 ComfyUIStable-DiffusionAI绘画工作流

# 1. ComfyUI简介

# 1.1 基本介绍

ComfyUI 是一个开源的基于节点式工作流的 Stable Diffusion 方案,它将 Stable Diffsuion 模型推理时各个流程拆分成不同的节点,让用户可以更加清晰地了解Stable Diffusion 的原理,并且可以更加精细化地控制整个流程。

ComfyUI主界面

# 1.2 横向对比

SD WebUI 简单易用,功能一目了然,入门门槛比较低。ComfyUI 相当于 WebUI 来说,拥有更好的性能和速度(生成图片时的速度相较于SD WebUI有10%~25%的提升),可以使用更低的显存来运行(生成大图片的时候也不会爆显存),而且节点式的界面和工作流玩法,配置灵活,玩法也更多,但是入门门槛相对较高。

注:对于 Stable Diffusion 及 SD WebUI 不够了解的小伙伴,可以先看我的另一篇博客:使用Stable-Diffusion实现AI绘画 (opens new window)

# 2. ComfyUI搭建

实验环境:Macbook Pro 2021,M1 pro芯片,16G内存,macOS Ventura13.3.1系统,Python3.9环境

# 2.1 下载模型与源码

Step1:拉取官方代码,并安装依赖。

$ git clone https://github.com/comfyanonymous/ComfyUI.git
$ cd ComfyUI
$ pip3 install -r requirements.txt
1
2
3

Step2:需要将模型文件放入 models/checkpoints 目录,模型下载其一即可:

Stable-Diffusion-v1.5模型地址:https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main (opens new window)

$ wget -P models/checkpoints https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt
1

Stable-Diffusion-XL模型地址:https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main (opens new window)

$ wget -O models/checkpoints/sd_xl_base_1.0.safetensors "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors?download=true"
1

注:如果之前已经在 SD WebUI 下载过模型,也可以通过修改 extra_model_paths.yaml.example 配置文件共用模型。

# 2.2 部署服务并使用

执行main.py,部署ComfyUI服务。

$ touch ./app/__init__.py
$ python3 main.py
1
2

ComfyUI后台启动日志

使用Chrome浏览器打开 http://127.0.0.1:8188地址,选择模型,设定Prompt,点击Queue Prompt执行工作流。

ComfyUI界面概述

过一会儿便可看到生成的图片,右键图片,点击Save Image可以将其保存下来。

ComfyUI生成示例

附:ComfyUI快捷键

快捷键 说明
Command + Enter 将当前图形加入生成队列中
Command + Shift + Enter 将当前图形作为第一个加入生成队列
Command + Z/Command + Y 撤销/重做
Command + S 保存工作流
Command + O 加载工作流
Command + A 选择所有节点
Alt + C 折叠/展开所选节点
Command + M 静音/取消静音所选节点
Command + B 绕过所选节点(就像从图中移除了节点并重新连接了线一样)
Delete/Backspace 删除所选节点
Command + Delete/Backspace 删除当前图形
Space 按住空格键并移动光标时可移动画布
Command/Shift + Click 添加点击的节点到选择区
Command + C/Command + V 复制并粘贴所选节点(不保持与未选择节点输出的连接)
Command + C/Command + Shift + V 复制并粘贴所选节点(保持从未选择节点的输出到粘贴节点的输入的连接)
Shift + Drag 同时移动多个所选节点
Command + D 加载默认图形
Q 切换队列的可见性
H 切换历史记录的可见性
R 刷新图形
双击左键 打开节点快速搜索面板

# 3. ComfyUI插件

安装ComfyUI插件的方式很简单,切换到./custom_nodes目录,使用git clone命令拉取相应的插件项目即可,启动时会自动将其加载。

# 3.1 插件安装管理器

插件简介:ComfyUI-Manager是一个在线安装插件、模型等的插件。

插件地址:https://github.com/ltdrdata/ComfyUI-Manager (opens new window)

使用方式:这个插件安装完成之后,控制面板的最下面会出现一个“Manager”的按钮,点开菜单即可管理插件。

ComfyUI插件安装管理器

再点击Install Custom Nodes,即可安装节点。

ComfyUI插件安装管理器-安装节点

# 3.2 ComfyUI界面汉化

插件简介:可以将所有的节点、菜单进行汉化,并且可以在中英文之间来回切换。

插件地址:https://github.com/AIGODLIKE/AIGODLIKE-COMFYUI-TRANSLATION (opens new window)

使用方式:安装插件之后,点开设置按钮,在里面的菜单里将语言选择成中文即可。

ComfyUI界面汉化插件

汉化后的界面效果如下:

ComfyUI界面汉化效果

# 3.3 SDXL风格样式

插件简介:主要用于SDXL模型的风格选择。

插件地址:https://github.com/twri/sdxl_prompt_styler (opens new window)

使用方式:Add Node时,在utils下有SDXL Prompt Styler、SDXL Prompt Styler Advanced两个Node,添加之后可以在style里选择风格。

SDXL风格样式插件-选择风格

以下是官方的一个使用示例:

sdxl_prompt_styler插件

# 3.4 蟒蛇八卦工具箱

插件简介:这个插件是很多小工具的集合,具体去官网看详细的功能介绍。

插件地址:https://github.com/pythongosssss/ComfyUI-Custom-Scripts (opens new window)

使用方式:Add Node时,它带有的功能都会显示一个绿色小蛇的图标,方便我们区分。

蟒蛇八卦工具箱

# 4. 参考资料

[1] 超详细的 Stable Diffusion ComfyUI 基础教程(一):安装与常用插件 from 优设 (opens new window)

[2] ComfyUI安装与使用教程 from AI123教程 (opens new window)

[3] ComfyUI安装及生成第一张图 from AI魔法学院 (opens new window)

[4] ComfyUI 下载、导入模型详细图文教程!新手级入门学习安装使用必备教学 from AI喜好儿 (opens new window)

[5] Stable Diffusion ComfyUI 入门感受 from 知乎 (opens new window)

[6] ComfyUI爽玩必备,6大插件汇总推荐 from AI魔法学院 (opens new window)

Last Updated: 2/11/2024, 8:44:14 PM