[Toturial] Flux 介绍

76 阅读21分钟

Flux 介绍

FLUX.1是Black Forest Labs开发的前沿AI模型,它正在改变我们从文本描述中创建图像的方式。凭借其无与伦比的能力,FLUX.1能够生成与输入提示紧密匹配的令人惊叹的详细和复杂图像,使其从竞争中脱颖而出。FLUX.1成功的秘密在于其独特的混合架构,结合了不同类型的变压器块,并由惊人的120亿参数提供支持。这使得FLUX.1能够生成视觉上引人注目的图像,并以惊人的精确度准确地表示文本描述。

FLUX.1最令人兴奋的方面之一是它在生成各种风格的图像方面的多功能性,从写实到艺术风格。FLUX.1甚至具有将文本无缝集成到生成图像中的显著能力,这是许多其他模型难以实现的壮举。此外,FLUX.1以其出色的提示遵从性而闻名,无论是简单还是复杂的描述,都能轻松处理

Black Forest Labs是开发革命性FLUX.1的先锋AI公司,由AI行业知名人物Robin Rombach创立,他曾是Stability AI的核心成员。如果你渴望了解更多关于Black Forest Labs及其与FLUX.1的革命性工作,请务必访问他们的官方网站:blackforestlabs.ai/

Flux 模型

Flux 模型分类

GitHub - black-forest-labs/flux: Official inference repo for FLUX.1 models

Flux 由黑森林团队(原来从Stability AI公司(就是出品SD的)离职的人员成立的) 发布的flux.1 模型。

  • Flux 数据量巨大,是SDXL的四倍
  • 涵盖了所有的行业,所有的类型,所有的风格
  • 表现力和审美方面非常高,已经和之前的完全不在一个等级了
  • 画手画脚厉害,对于文本的理解和生成能力非常强大
  • 直出各种分辨率的图像

*FLUX.1 [Pro]

  • 推荐GPU:NVIDIA RTX 4090或同等配置,具有24 GB或更多VRAM。该模型针对高端GPU进行了优化,以处理其复杂的操作。
  • 内存:32 GB或更多系统内存。
  • 磁盘空间:大约30 GB。
  • 计算要求:需要高精度;使用FP16(半精度)以避免内存不足错误。为了获得最佳效果,建议使用fp16 Clip模型变体以获得最大质量。
  • 其他要求:推荐使用快速SSD以加快加载时间和整体性能。

FLUX.1 [Dev]

  • 推荐GPU:NVIDIA RTX 3080/3090或同等配置,至少具有16 GB VRAM。与Pro模型相比,该版本对硬件要求稍微宽松,但仍需要相当的GPU功率。
  • 内存:16 GB或更多系统内存。
  • 磁盘空间:大约25 GB。
  • 计算要求:与Pro类似,使用FP16模型,但对较低精度计算有轻微容忍度。可以根据GPU能力使用fp16fp8 Clip模型。
  • 其他要求:推荐使用快速SSD以获得最佳性能。

FLUX.1 [Schnell]

  • 推荐GPU:NVIDIA RTX 3060/4060或同等配置,具有12 GB VRAM。该版本针对更快的推理和较低的硬件要求进行了优化。
  • 内存:8 GB或更多系统内存。
  • 磁盘空间:大约15 GB。
  • 计算要求:该版本要求较低,允许使用fp8计算以避免内存不足。设计为快速高效,重点在于速度而非超高质量。
  • 其他要求:SSD有用但不像Pro和Dev版本那样关键。

Flux 模型衍生版本

由于Flux Pro是非开源的,只能API调用,就暂且不考虑了,但是他是出图质量目前最高的。

Flux dev fp16 & schnell fp16

  • 官方原版,开源的,非商用(dev),schnell可商用,出图质量由高到低:Flux Pro版,然后是dev版本,最后是schnell版本
  • 同时资源占用巨大,光模型本身就24GB,没有个24G显存的4090根本玩不了。
  • 需要下载放到: models/unet 目录,同时需要下载t5xxl,CLIP_L放到 models/clip下

Flux dev fp8 Comfy & schnell fp8 Comfy

  • Comfy官方对于Flux进行的fp8量化,同时内置了CLIP和VAE,显存占用大小16G
  • 需要下载放到: models/checkpoints 目录下的。
  • 支持原生Comfy大模型加载器,使用原生的工作流即可。

Flux dev fp8 & Flux schnell fp8

  • 社区 fp8 量化版,出图质量稍有降低,资源占用以及模型大小减半。16G显存即可,8G显存+32G内存勉强能跑。

Flux dev bnb nf4 & Flux schnell bnb nf4

  • ControlNet作者张吕敏发布的,出图质量稍有降低,资源占用更低,6G显存可跑,50秒极速出图。
  • 包含 clip,vae
  • 精简版 NF4 模型下载地址(11.5 GB,包含 clip,vae):

Flux dev gguf & Flux schnell gguf

  • city96大神发布的最新量化版,采用gguf格式,有不同版本,可以根据显存大小自行下载,同样支持6G显存。
  • 模型本身不带CLIP、T5xxl、VAE需要自行下载加载。

AWPortrait-FL

AWPortrait-FL is finetuned on FLUX.1-dev using the training set of AWPortrait-XL and nearly 2,000 fashion photography photos with extremely high aesthetic quality. It has remarkable improvements in composition and details, with more delicate and realistic skin and textual. Trained by DynamicWang at AWPlanet.

汇总

先是FLux dev fp16、Flux dev fp8,又是Flux dev bnb nf4 v1,再来Flux dev bnb nf4 v2,现在又来个GGUF版本

在整个 FLUX.1 的工作流中,体积较大的无疑是底模型以及 T5 Clip 模型,其中 FLUX.1-dev 达到了 23.8 GB,即使 fp8 量化版本也达到了 11.9 GB,而 t5xxl_fp16.safetensors 体积达到了 9.79 GB,fp8 的体积也有 4.89 GB,对于小显存用户来说,有时跑起来就非常地慢或者根本就跑不了。Controlnet 的作者张吕敏之前有制作了精简的 FLUX nf4 量化版本,体积可以是 fp8 版本的一半,已经非常不错了。但是 GGUF 量化模型的发布,使得体积可以进一步下降,并且图像质量上更接近原生版本。

GGUF(Generalized Gaussian Unit Float)量化模型是一种用于深度学习模型的数据表示方法,它通过减少模型中数值的精度来降低模型的内存占用和加速计算过程。GGUF 量化通常涉及将模型的权重从 32 或 16 位浮点数转换为更低位数的表示。GGUF 可以以不同方式转换不同的数据,可以转换为 5、6 或 7 位(而不仅仅是 4 或 8 位)。简而言之,GGUF 量化模型是一种可以根据需要调整的量化技术,而 fp16 和 fp8 是具体的量化位数标准。fp16 和 fp8 提供了固定的精度和性能权衡,而 GGUF 提供了一个量化的连续体,可以根据特定应用的需求进行优化。

Flux.1 模型安装与使用指南 - ArataAI/anylanguage GitHub Wiki (github-wiki-see.page)

作者模型名称可商用ControlNet 以及 LoRA支持特性显存要求文件大小下载地址
Black Forest LabsFlux.1 Dev支持需要下载 CLIP、VAE、UNET等几个模型16GB+23.8GB下载(opens in a new tab)
Black Forest LabsFlux.1 Schnell支持需要下载 CLIP、VAE、UNET等几个模型16GB+23.8GB下载(opens in a new tab)
ComfyUIFlux.1 Dev FP8支持融合 Clip 及 VAE,仅需要下载一个模型8GB+17.2GB下载(opens in a new tab)
ComfyUIFlux.1 Schnell FP8支持融合 Clip 及 VAE,仅需要下载一个模型8GB+17.2GB下载(opens in a new tab)
KijiaFlux.1 Dev FP8支持融合 Clip 及 VAE,仅需要下载一个模型8GB+下载(opens in a new tab)
KijiaFlux.1 Schnell FP8支持融合 Clip 及 VAE,仅需要下载一个模型8GB+下载(opens in a new tab)
lllyasvielFlux.1 Dev BNB NF4 V1支持融合 Clip 及 VAE,仅需要下载一个模型,需要安装ComfyUI_bitsandbytes_NF4插件(opens in a new tab)6GB+11.5GB下载(opens in a new tab)
lllyasvielFlux.1 Dev BNB NF4 V2支持融合 Clip 及 VAE,仅需要下载一个模型,需要安装ComfyUI_bitsandbytes_NF4插件(opens in a new tab)6GB+12GB下载(opens in a new tab)
City96Flux.1 Dev GGUF支持需要下载 CLIP、VAE、UNET等几个模型 ,需要安装ComfyUI-GGUF插件(opens in a new tab)6GB+12GB下载(opens in a new tab)
City96Flux.1 Schnell GGUF支持需要下载 CLIP、VAE、UNET等几个模型 ,需要安装ComfyUI-GGUF插件(opens in a new tab)6GB+12GB下载(opens in a new tab)

配套模型下载

Origin Model

offering three models:

  • FLUX.1 [pro] the base model, available via API
  • FLUX.1 [dev] guidance-distilled variant
  • FLUX.1 [schnell] guidance and step-distilled variant
NameHuggingFace repoLicensemd5sum
FLUX.1 [schnell]huggingface.co/black-fores…apache-2.0a9e1e277b9b16add186f38e3f5a34044
FLUX.1 [dev]huggingface.co/black-fores…FLUX.1-dev Non-Commercial Licensea6bd8c16dfc23db6aee2f63a2eba78c0
FLUX.1 [pro]Only available in our API.
Unet 模型放置到ComfyUI/models/unet/ 文件下。
VAE 模型放在ComfyUI/models/vae/ 文件夹中
Clip 模型放到 ComfyUI/models/clip/ 目录中

Cannot access gated repo for url hf-mirror.com/stabilityai…. Access to model stabilityai/stable-diffusion-3-medium is restricted. You must have access to it and be authenticated to access it. Please log in.

模型文件名大小备注链接
t5xxl_fp16.safetensors9.79 GB如果你有高VRAM和RAM(超过32GB RAM),效果更好。下载
t5xxl_fp8_e4m3fn.safetensors4.89 GB用于较低内存使用(8-12GB)下载
clip_l.safetensors246 MB
GGUF 模型 放在 ComfyUI/models/unet

Simply use the GGUF Unet loader found under the bootleg category. Place the .gguf model files in your ComfyUI/models/unet folder. Pre-quantized models:

Initial support for quantizing T5 has also been added recently, these can be used using the various *CLIPLoader (gguf) nodes which can be used inplace of the regular ones. For the CLIP model, use whatever model you were using before for CLIP. The loader can handle both types of files - gguf and regular safetensors/bin.

See the instructions in the tools folder for how to create your own quants.

XLabs-AI 配套模型

XLabs-AI/flux-controlnet-collections 是一个为 FLUX.1-dev 模型提供的 ControlNet 检查点集合。这个仓库由 Black Forest Labs 开发,旨在为 Flux 生态系统提供更多的控制选项。

使用 1024x1024 分辨率训练,支持三类模型,分别是 Canny ControlNetDepth ControlNetHED ControlNet for FLUX.1 [dev]。已经迭代到 V3 版本,更好,更真实的版本。

All

Canny

Depth

Hed

LoRA checkpoints for FLUX.1 [dev] You can download them on HuggingFace:

IP-Adapter

  1. Update x-flux-comfy with git pull or reinstall it.
  2. Download Clip-L model.safetensors from OpenAI VIT CLIP large, and put it to ComfyUI/models/clip_vision/*.
  3. Download our IPAdapter from huggingface, and put it to ComfyUI/models/xlabs/ipadapters/*.
  4. Use Flux Load IPAdapter and Apply Flux IPAdapter nodes, choose right CLIP model and enjoy your genereations.
  5. You can find example workflow in folder workflows in this repo.

InstantX 配套模型

InstantX Flux Union ControlNet 是一个多功能的 ControlNet 模型,专为 FLUX.1 开发版设计。这个模型整合了多种控制模式,使用户能够更灵活地控制图像生成过程。

  1. 多种控制模式:支持多种控制模式,包括 Canny 边缘检测、Tile(图块)、深度图、模糊、姿势控制等。
  2. 高性能:大多数控制模式都达到了较高的有效性,特别是 Canny、Tile、深度图、模糊和姿势控制等模式。
  3. 持续优化:开发团队正在不断改进模型,以提高其性能和稳定性。
  4. 兼容性:与 FLUX.1 开发版基础模型完全兼容,可以轻松集成到现有的 FLUX 工作流程中。
  5. 多控制推理:支持同时使用多个控制模式,为用户提供更精细的图像生成控制。

IP-Adapter

Shakker-Labs 配套模型

Controlnet

Lora

TheMistoAI 配套模型

GitHub - TheMistoAI/MistoControlNet-Flux-dev: ControlNet collections for Flux1-dev model, Trained by TheMisto.ai Team by TheMisto.ai @Shenzhen, China
This is a ControlNet network designed for any lineart or outline sketches, compatible with Flux1.dev. The ControlNet model parameters are approximately 1.4B.

This model is not compatible with XLabs loaders and samplers. Please use TheMisto.ai Flux ControlNet ComfyUI suite. This is a Flow matching structure Flux-dev model, utilizing a scalable Transformer module as the backbone of this ControlNet.

We've implemented a dual-stream Transformer structure, which enhances alignment and expressiveness for various types of lineart and outline conditions without increasing inference time. The model has also been trained for alignment with both T5 and clip-l TextEncoders, ensuring balanced performance between conditioning images and text prompts.
For more details on the Flux.dev model structure, visit: huggingface.co/black-fores…

This ControlNet is compatible with Flux1.dev's fp16/fp8 and other models quantized with Flux1.dev. ByteDance 8/16-step distilled models have not been tested.

  • The example workflow uses the flux1-dev-Q4_K_S.gguf quantized model.
  • Generation quality: Flux1.dev(fp16)>>Flux1.dev(fp8)>>Other quantized models
  • Generation speed: Flux1.dev(fp16)<<< Flux1.dev(fp8) <<< Other quantized models

Controlnet

  • Download the model from MistoLine_Flux.dev_v1
  • Place the model in the ComfyUI\models\TheMisto_model\ directory
  • The directory will be automatically created the first time you run the ComfyUI's TheMisto.ai Flux ControlNet ComfyUI suite
  • Run using ComfyUI; an example workflow can be found in the workflow folder
  • Note: The length and width of the conditioning image must be divisible by 16, or an error will occur.

alimama-creative

Inpaint alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Beta · HF Mirror

Djrango/Qwen2vl-Flux

Djrango/Qwen2vl-Flux · HF Mirror Qwen2vl-Flux is a state-of-the-art multimodal image generation model that enhances FLUX with Qwen2VL's vision-language understanding capabilities. This model excels at generating high-quality images based on both text prompts and visual references, offering superior multimodal understanding and control.

ComfyUI 中使用

插件

  1. GitHub - XLabs-AI/x-flux-comfyui
  2. GitHub - comfyanonymous/ComfyUI_bitsandbytes_NF4
  3. GitHub - city96/ComfyUI-GGUF: GGUF Quantization support for native ComfyUI models
  4. GitHub - balazik/ComfyUI-PuLID-Flux: PuLID-Flux ComfyUI implementation
  5. Union ControlNet 模型加载器 github.com/EeroHeikkin…

基础工作流

官方原版模型

Flux dev fp16 & schnell fp16 资源占用巨大,光模型本身就24GB,没有个24G显存的4090根本玩不了。

ComfyUI FLUX Txt2Img工作流首先加载基本组件,包括FLUX UNET(UNETLoader),FLUX CLIP(DualCLIPLoader)和FLUX VAE(VAELoader)。这些构成了ComfyUI FLUX图像生成过程的基础。

  • UNETLoader:加载用于图像生成的UNET模型。
    • 检查点:flux/flux1-schnell.sft;flux/flux1-dev.sft
  • DualCLIPLoader:加载用于文本编码的CLIP模型。
    • 嵌入模型1:sd3m/t5xxl_fp8_e4m3fn.safetensors;sd3m/t5xxl_fp16.safetensors
    • 嵌入模型2:sd3m/clip_g.safetensors;sd3m/clip_l.safetensors
    • 分组:CLIP模型的分组策略是flux
  • VAELoader:加载用于解码潜在表示的变分自编码器(VAE)模型。
    • VAE模型:flux/ae.sft

文本提示,它描述了所需的输出,使用CLIPTextEncode进行编码。该节点将文本提示作为输入,并输出编码的文本条件,这在生成过程中引导ComfyUI FLUX。

要启动ComfyUI FLUX生成过程,使用EmptyLatentImage创建一个空的潜在表示。这作为ComfyUI FLUX的起点。

BasicGuider在ComfyUI FLUX生成过程中起着关键作用。它将编码的文本条件和加载的FLUX UNET作为输入,确保生成的输出与提供的文本描述一致。

KSamplerSelect允许你选择ComfyUI FLUX生成的采样方法,而RandomNoise则生成随机噪声作为ComfyUI FLUX的输入。BasicScheduler为生成过程中的每一步调度噪声级别(sigmas),控制最终输出的细节和清晰度。

SamplerCustomAdvanced汇集了ComfyUI FLUX Txt2Img工作流的所有组件。它将随机噪声,指南,选择的采样器,调度的sigmas和空的潜在表示作为输入。通过高级采样过程,它生成一个表示文本提示的潜在表示。

image.png

NF4

GitHub - comfyanonymous/ComfyUI_bitsandbytes_NF4 已经废弃

工作流首先使用CheckpointLoaderNF4加载必要的组件,包括FLUX UNET,FLUX CLIP和FLUX VAE。 image.png

GGUF

In our workflows, replace "Load Diffusion Model" node with "Unet Loader (GGUF)"

image.png

Controlnet

Xlabs

在基于深度的工作流中,输入表示通过MiDaS-DepthMapPreprocessor进行预处理,生成深度图。然后将深度图通过ApplyFluxControlNet(Depth)与加载的FLUX ControlNet进行深度条件处理。生成的FLUX ControlNet条件作为XlabsSampler(Depth)的输入,结合加载的FLUX UNET,编码的文本条件,负面文本条件和空的潜在表示。XlabsSampler根据这些输入生成潜在表示,然后通过VAEDecode解码为最终输出。

  • MiDaS-DepthMapPreprocessor(Depth):使用MiDaS对输入图像进行深度估计预处理。
  • LoadFluxControlNet:加载ControlNet模型。
    • 路径:flux-depth-controlnet.safetensors

类似地,在基于Canny边缘的工作流中,输入表示通过CannyEdgePreprocessor进行预处理,生成Canny边缘表示。然后将Canny边缘表示通过ApplyFluxControlNet(Canny)与加载的FLUX ControlNet进行Canny边缘条件处理。生成的FLUX ControlNet条件作为XlabsSampler(Canny)的输入,结合加载的FLUX UNET,编码的文本条件,负面文本条件和空的潜在表示。XlabsSampler根据这些输入生成潜在表示,然后通过VAEDecode解码为最终输出。

  • CannyEdgePreprocessor(Canny):对输入图像进行Canny边缘检测预处理。
  • LoadFluxControlNet:加载ControlNet模型。
    • 路径:flux-canny-controlnet.safetensors

ComfyUI FLUX ControlNet工作流包含用于加载必要组件(DualCLIPLoader,UNETLoader,VAELoader,LoadFluxControlNet),编码文本提示(CLIPTextEncodeFlux),创建空的潜在表示(EmptyLatentImage)和预览生成和预处理输出(PreviewImage)的节点。

通过利用FLUX ControlNet的强大功能,ComfyUI FLUX ControlNet工作流能够生成符合特定条件(如深度图或Canny边缘)的输出。这种额外的控制和指导增强了生成过程的灵活性和精确性,允许使用ComfyUI FLUX创建令人惊叹和符合背景的输出。

image.png

InstantX&Shakker-Labs

InstantX Flux Union ControlNet 是一个多功能的 ControlNet 模型,专为 FLUX.1 开发版设计。这个模型整合了多种控制模式,使用户能够更灵活地控制图像生成过程。但对显存要求较高,低显存显卡容易爆显存 image.png

MistoLine

  • Download the model from MistoLine_Flux.dev_v1
  • Place the model in the ComfyUI\models\TheMisto_model\ directory
  • The directory will be automatically created the first time you run the ComfyUI's TheMisto.ai Flux ControlNet ComfyUI suite
  • Run using ComfyUI; an example workflow can be found in the workflow folder
  • Note: The length and width of the conditioning image must be divisible by 16, or an error will occur.

image.png

Inpaint

Latent 通道携带遮罩信息

使用 comfyUI 自带节点 latent->inpaint-> SetLatentNoiseMask - Salt AI Docs (getsalt.ai) , 利用 latent 空间通道,将整张图片中遮罩部分编码成原图,并带上遮罩信息。因为遮罩区域是原图潜空间,所以绘制、受原图影响,适合绘制原图微调

image.png

Prompt 通道携带遮罩信息

InpaintModelConditioning通过结合指导的正面文本条件,编码的负面文本条件,加载的FLUX VAE,加载和调整大小的输入表示和模糊遮罩来准备FLUX修复的条件。这些条件作为ComfyUI FLUX修复过程的基础。

image.png

Lora

使用

ComfyUI FLUX LoRA工作流利用低秩适应(LoRA)的强大功能来增强ComfyUI FLUX的性能。它首先加载必要的组件,包括UNET模型(UNETLoader),CLIP模型(DualCLIPLoader),VAE模型(VAELoader)和LoRA模型(LoraLoaderModelOnly)。

  • UNETLoader:加载用于图像生成的UNET模型。
    • 检查点:flux/flux1-dev.sft
  • DualCLIPLoader:加载用于文本编码的CLIP模型。
    • 嵌入模型1:sd3m/t5xxl_fp8_e4m3fn.safetensors;sd3m/t5xxl_fp16.safetensors
    • 嵌入模型2:sd3m/clip_g.safetensors;sd3m/clip_l.safetensors
    • 分组:CLIP模型的分组策略是flux
  • VAELoader:加载用于解码潜在表示的变分自编码器(VAE)模型。
    • VAE模型:flux/ae.sft
  • LoraLoaderModelOnly:加载用于增强UNET模型的LoRA(低秩适应)模型。
    • LoaderModel:flux/realism_lora.safetensors

描述所需输出的文本提示使用String Literal指定。CLIPTextEncode然后对文本提示进行编码,生成指导ComfyUI FLUX生成过程的编码文本条件。

FluxGuidance应用指导到编码的文本条件,影响ComfyUI FLUX对文本提示的遵从性和方向。

image.png

训练

ComfyUI FLUX LoRA训练器工作流由多个阶段组成,用于在ComfyUI中使用FLUX架构训练LoRA。

ComfyUI FLUX选择和配置: FluxTrainModelSelect节点用于选择训练组件,包括UNET,VAE,CLIP和CLIP文本编码器。 OptimizerConfig节点配置ComfyUI FLUX训练的优化器设置,如优化器类型,学习率和权重衰减。 TrainDatasetGeneralConfig和TrainDatasetAdd节点用于配置训练数据集,包括分辨率,增强设置和批次大小。

ComfyUI FLUX训练初始化: InitFluxLoRATraining节点使用选定的组件,数据集配置和优化器设置初始化LoRA训练过程。 FluxTrainValidationSettings节点配置训练的验证设置,如验证样本数量,分辨率和批次大小。

ComfyUI FLUX训练循环: FluxTrainLoop节点执行LoRA的训练循环,迭代指定步数。 在每个训练循环后,FluxTrainValidate节点使用验证设置验证训练的LoRA并生成验证输出。 PreviewImage节点显示验证结果的预览。 FluxTrainSave节点在指定间隔保存训练的LoRA。

ComfyUI FLUX损失可视化: VisualizeLoss节点可视化训练过程中损失的变化。 SaveImage节点保存损失图以供进一步分析。

ComfyUI FLUX验证输出处理: AddLabel和SomethingToString节点用于给验证输出添加标签,指示训练步骤。 ImageBatchMulti和ImageConcatFromBatch节点将验证输出组合和拼接为一个结果,以便于可视化。

ComfyUI FLUX训练结束: FluxTrainEnd节点完成LoRA的训练过程并保存训练的LoRA。 UploadToHuggingFace节点可用于将训练的LoRA上传到Hugging Face,以便与ComfyUI FLUX共享和进一步使用。

Upscaler

Flux Latent Upscale

ComfyUI Flux Latent Upscale工作流首先加载必要的组件,包括CLIP(DualCLIPLoader),UNET(UNETLoader)和VAE(VAELoader)。文本提示使用CLIPTextEncode节点进行编码,并使用FluxGuidance节点应用指导。

SDXLEmptyLatentSizePicker+节点指定空的潜在表示的大小,作为FLUX放大过程的起点。然后潜在表示通过一系列放大和裁剪步骤使用LatentUpscale和LatentCrop节点进行处理。

放大过程由编码的文本条件指导,并使用SamplerCustomAdvanced节点与选择的采样方法(KSamplerSelect)和调度的噪声级别(BasicScheduler)。ModelSamplingFlux节点设置采样参数。

然后使用SolidMask和FeatherMask节点生成的遮罩,将放大的潜在表示与原始潜在表示组合使用LatentCompositeMasked节点。使用InjectLatentNoise+节点将噪声注入放大的潜在表示。

最后,VAEDecode节点将放大的潜在表示解码为最终输出,并使用ImageSmartSharpen+节点应用智能锐化。PreviewImage节点显示由ComfyUI FLUX生成的最终输出的预览。

ComfyUI FLUX Latent Upscaler工作流还包括使用SimpleMath+,SimpleMathFloat+,SimpleMathInt+和SimpleMathPercent+节点进行的各种数学运算,以计算放大过程的尺寸比例和其他参数。

jasperai/Flux.1-dev-Controlnet-Upscaler

import torch
from diffusers.utils import load_image
from diffusers import FluxControlNetModel
from diffusers.pipelines import FluxControlNetPipeline

# Load pipeline
controlnet = FluxControlNetModel.from_pretrained(
  "jasperai/Flux.1-dev-Controlnet-Upscaler",
  torch_dtype=torch.bfloat16
)
pipe = FluxControlNetPipeline.from_pretrained(
  "black-forest-labs/FLUX.1-dev",
  controlnet=controlnet,
  torch_dtype=torch.bfloat16
)
pipe.to("cuda")

# Load a control image
control_image = load_image(
  "https://hf-mirror.com/jasperai/Flux.1-dev-Controlnet-Upscaler/resolve/main/examples/input.jpg"
)

w, h = control_image.size

# Upscale x4
control_image = control_image.resize((w * 4, h * 4))

image = pipe(
    prompt="", 
    control_image=control_image,
    controlnet_conditioning_scale=0.6,
    num_inference_steps=28, 
    guidance_scale=3.5,
    height=control_image.size[1],
    width=control_image.size[0]
).images[0]
image

IP-Adapter

Xlabs

ComfyUI FLUX IPAdapter工作流首先加载必要的模型,包括UNET模型(UNETLoader),CLIP模型(DualCLIPLoader)和VAE模型(VAELoader)。

正面和负面的文本提示使用CLIPTextEncodeFlux进行编码。正面文本条件用于指导ComfyUI FLUX生成过程。

使用LoadImage加载输入图像。LoadFluxIPAdapter加载FLUX模型的IP-Adapter,然后应用于加载的UNET模型使用ApplyFluxIPAdapter。ImageScale将输入图像缩放到所需大小,然后应用IP-Adapter。

  • LoadFluxIPAdapter:加载FLUX模型的IP-Adapter。
    • IP Adapter模型:flux-ip-adapter.safetensors. Download our IPAdapter from huggingface, and put it to ComfyUI/models/xlabs/ipadapters/*.
    • CLIP视觉编码器:clip_vision_l.safetensors. Download Clip-L model.safetensors from OpenAI VIT CLIP large, and put it to ComfyUI/models/clip_vision/*.

EmptyLatentImage创建一个空的潜在表示,作为ComfyUI FLUX生成的起点。

XlabsSampler执行采样过程,将FLUX UNET与应用的IP-Adapter,编码的正面和负面文本条件和空的潜在表示作为输入。它生成潜在表示。

VAEDecode使用加载的FLUX VAE将生成的潜在表示解码为最终输出。PreviewImage节点显示最终输出的预览。

ComfyUI FLUX IPAdapter工作流利用ComfyUI FLUX和IP-Adapter的强大功能生成符合提供的文本提示的高质量输出。通过将IP-Adapter应用于FLUX UNET,工作流能够生成捕捉文本条件指定的特征和风格的输出。

image.png

InstantX

InstantX/FLUX.1-dev-IP-Adapter

404

PuLID

Installation

  • Install this repo into ComfyUI/custom_nodes
git clone https://github.com/balazik/ComfyUI-PuLID-Flux.git
  • Install all the packages listed in the requirements.txt file into the Python environment where you run ComfyUI. I prefer not to use automatic installation scripts, as I dislike when scripts install software without my knowledge. 😉
  • You need one of the mentioned Flux.1-dev models. Download the model into ComfyUI/models/unet, clip and encoder into ComfyUI/models/clip, VAE into ComfyUI/models/vae.
  • PuLID Flux pre-trained model goes in ComfyUI/models/pulid/.
  • The EVA CLIP is EVA02-CLIP-L-14-336, should be downloaded automatically (will be located in the huggingface directory). If for some reason the auto-download fails (and you get face_analysis.py, init assert 'detection' in self.models exception), download this EVA-CLIP model manually, put the file to your ComfyUI/models/clipand restart ComfyUI.
  • facexlib dependency needs to be installed, the models are downloaded at first use.
  • Finally you need InsightFace with AntelopeV2, the unzipped models should be placed in ComfyUI/models/insightface/models/antelopev2.