【图像生成】ComfyUI+FLUX 使用教程
丶Xier
2024年08月15日 19:43
收录于文集
共13篇

ComfyUI 介绍

ComfyUI 是最强大、模块化的 Stable Diffusion GUI、API 和带有图形/节点接口的后端。

ComfyUI 是一个为 Stable Diffusion 专门设计的基于节点的图形用户界面(GUI)。

ComfyUI 使用户能够通过链接不同的块(称为节点)来构建复杂的图像生成工作流程。这些节点可以包括各种任务,如加载检查点模型、输入提示、指定采样器等。

ComfyUI 实际上就是一个比较专业的 Stable Diffusion 运行界面,只不过是节点式的。


ComfyUI 用途

ComfyUI 允许用户使用基于图形/节点/流程图的界面来设计和执行高级的 Stable Diffusion 管道。

ComfyUI 提供了极高的自由度和灵活性,支持高度的定制化和工作流复用,同时对系统配置的要求较低,并且能够加快原始图像的生成速度。

ComfyUI 可以用于图像生成与编辑:数字艺术家、设计师和摄影师可以利用 ComfyUI 进行复杂图像生成和深度编辑。

ComfyUI 可以用于 AI 研究与实验:AI 研究人员和开发者可用 ComfyUI 构建和测试图像生成模型和算法。

ComfyUI 可以用于个性化内容创作:视频制作者、博客作者和社交媒体影响者可以快速生成个性化的视觉内容。

ComfyUI 可以用于教育与培训:教育工作者可以利用 ComfyUI 帮助学生理解图像处理和生成的基本概念。

ComfyUI 可以用于游戏开发与动画制作:游戏和动画制作人员可以使用 ComfyUI 生成游戏素材和角色设计。

ComfyUI 可以用于产品设计与模拟:产品设计师可以利用 ComfyUI 快速生成设计原型和视觉效果图。


ComfyUI 使用(以FLUX模型为例)

FLUX 预训练模型说明

flux1-dev——官方提供的适用于非商业用途,开源的、经过指导蒸馏的模型

flux1-schnell——官方提供的适合本地开发和个人使用,图像生成速度更快的模型

flux1-dev-fp8——ComfyUI提供的经过量化的fp8精度的flux1-dev模型,加载和图像生成速度较官方版本更快,但略微降低图像质量(几乎感知不到)

flux1-schnell-fp8——ComfyUI提供的经过量化的fp8精度的flux1-schnell模型,加载和图像生成速度最快,但略微降低图像质量(很难感知到)

图形化界面(启动 ComfyUI 服务)

无论是自己本地部署的 ComfyUI,还是通过算力平台镜像部署的 ComfyUI,或者其他各种各样方式部署的 ComfyUI。只要最终执行的是 main.py 这个 python 文件,那么就会进入这样的界面。

接下来我会依据使用的ComfyUI 提供的 FLUX 模型对应的工作流(github 指路 comfyanonymous/ComfyUI_examples/tree/master/flux)对此界面进行详细说明:

ComfyUI 提供的 flux1-dev 模型工作流:

Step-1:在 UNET 加载器节点选择要加载的 FLUX 的 UNET 模型 flux1-dev

Step-2:在双 CLIP 加载器节点选择要加载的 FLUX 的 CLIP 模型 t5xxl(内存 >32GiB 使用 fp16 精度,否则使用 fp8 精度) 、clip_l 及 flux type

Step-3:在 CLIP 文本编码器节点输入 Prompt

Step-3-1:在 FluxGuidance 节点设置 guidance 值

Step-3-2:在 Primitive 元节点设置生成图像的宽、高

Step-3-3:在 EmptySD3LatentImage 节点设置 batch_size

Step-3-4:在 RandomNoise 节点设置 noise_seed 和 control_after_generate

Step-3-5:在 K 采样器选择节点设置采样器

Step-3-6:在基础调度器节点设置调度器、步数、降噪

Step-3-7:在 ModelSamplingFlux 节点设置 max_shift 及 base_shift

Step-4:在 VAE 加载器节点选择 ae 模型

Step-5:点击“执行队列”按钮,等待图像生成


ComfyUI 提供的 flux1-schnell 模型工作流:

Step-1:在 UNET 加载器节点选择要加载的 FLUX 的 UNET 模型 flux1-schnell

Step-2:在双 CLIP 加载器节点选择要加载的 FLUX 的 CLIP 模型 t5xxl(内存 >32GiB 使用 fp16 精度,否则使用 fp8 精度) 、clip_l 及 flux type

Step-3:在 CLIP 文本编码器节点输入 Prompt

Step-3-1:在空 Latent 节点设置生成图像的宽、高及批次大小

Step-3-2:在 RandomNoise 节点设置 noise_seed 和 control_after_generate

Step-3-3:在 K 采样器选择节点设置采样器

Step-3-4:在基础调度器节点设置调度器、步数、降噪

Step-4:在 VAE 加载器节点选择 ae 模型

Step-5:点击“执行队列”按钮,等待图像生成


ComfyUI 提供的 flux1-dev-fp8 模型工作流:

Step-1:在 Checkpoint 加载器(简易)节点选择要加载的 FLUX 的 Checkpoint 模型 flux1-dev-fp8

Step-2:在 CLIP 文本编码器节点输入 Prompt

Step-2-1:在 FluxGuidance 节点设置 guidance 值

Step-2-2:在 EmptySD3LatentImage 节点设置生成图像的 width、height 及 batch_size

Step-3:在 K 采样器选择节点设置随机种、运行后操作、步数、CFG、采样器、调度器及降噪

Step-4:点击“执行队列”按钮,等待图像生成


ComfyUI 提供的 flux1-schnell-fp8 模型工作流:

Step-1:在 Checkpoint 加载器(简易)节点选择要加载的 FLUX 的 Checkpoint 模型 flux1-schnell-fp8

Step-2:在 CLIP 文本编码器节点输入 Prompt

Step-2-1:在 EmptySD3LatentImage 节点设置生成图像的 width、height 及 batch_size

Step-3:在 K 采样器选择节点设置随机种、运行后操作、步数、CFG、采样器、调度器及降噪

Step-4:点击“执行队列”按钮,等待图像生成

生成效果示意图

flux1-dev UNET 模型:

flux1-schnell UNET 模型:

flux1-dev-fp8 Checkpoint 模型:

flux1-schnell-fp8 Checkpoint 模型:


ComfyUI 视频教程

还没出,等我有空的时候会录制