🦊Flux
🏠 | 🦊雑に学ぶComfyUI
👈 | 🦊切り抜き
👉 | 🦊FLUX.1 Tools
FluxはStability.aiのメンバーが独立して立ち上げたBlack Forest Labsが発表したStable Diffusion 3と似たようなアーキテクチャの画像生成モデルです
SDXLとの違いとしてUNetがtransformerに置き換えられていることと、プロンプトを理解する部分にT5というLLMが使われていることがありますが、ありがたいことにComfyUIではあまり気にしなくても使えます
Flux.1にはpro/dev/schnellの3つのバージョンがありますが
proは(API経由のみで)モデルは公開されていません
dev/schnellはproを蒸留したモデルです
蒸留したことによってCFGを使う必要がなくなり高速で生成できるようになっています
モデルのダウンロード
weight
https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/mainflux1-dev.safetensors
https://huggingface.co/Comfy-Org/flux1-dev/blob/main/flux1-dev-fp8.safetensorsflux1-dev-fp8.safetensors
https://huggingface.co/black-forest-labs/FLUX.1-schnell/tree/mainflux1-schnell.safetensors
https://huggingface.co/Comfy-Org/flux1-schnell/blob/main/flux1-schnell-fp8.safetensorsflux1-schnell-fp8.safetensors
CLIP/T5
https://huggingface.co/comfyanonymous/flux_text_encoders/blob/main/clip_l.safetensorsclip_l.safetensors
https://huggingface.co/comfyanonymous/flux_text_encoders/blob/main/t5xxl_fp16.safetensorst5xxl_fp16.safetensors
or https://huggingface.co/comfyanonymous/flux_text_encoders/blob/main/t5xxl_fp8_e4m3fn_scaled.safetensorst5xxl_fp8_e4m3fn_scaled.safetensors
VAE
https://huggingface.co/black-forest-labs/FLUX.1-schnell/blob/main/ae.safetensorsae.safetensors
code:models
📂ComfyUI/
└── 📂models/
├── 📂diffusion_models/
│ ├── flux1-dev-fp8.safetensors
│ └── flux1-schnell-fp8.safetensors
├── 📂clip/
│ ├── clip_l.safetensors
│ └── t5xxl_fp8_e4m3fn.safetensors
└── 📂vae/
└── ae.safetensors
KSamplerを使う方法 (基本推奨)
https://gyazo.com/2674b774362a1068fde86b3f621977a8
FLUX_dev.json
Flux.1-dev/schnellはCFGを蒸留したため1.0に固定、つまりNegaitve Promptがありません
ただし、モデルがどの程度条件に従うかのパラメータは欲しいので、ComfyUIではFluxGuidanceというパラメータで似たようなことができます
KSampler Custom Advancedを使う
モデルのダウンロード
https://gyazo.com/8f511f52b7493ce85021ab68128a762d
FLUX_dev.json
Checkpointモデルと使うやり方
今更ですが、Checkpointというのはweight/CLIP/vaeが一つにパッケージングされたものです
シンプルにはなりますが、公式モデル以外はあまりCheckpointとして配布されていないのと、weightをGGUFに置き換える等の応用が効かないのであまり使いません
※Checkpointで読み込み、weightだけ使ってCLIP、VAEは別で読み込むなんてことも当然できるが単純に無駄になる
モデルのダウンロード
https://huggingface.co/Comfy-Org/flux1-dev/tree/mainflux1-dev-fp8.safetensors
https://huggingface.co/Comfy-Org/flux1-schnell/tree/mainflux1-schnell-fp8.safetensors
$ ComfyUI/models/checkpoints
https://gyazo.com/74b6db8807c043db13d112428de4e13d
FLUX_dev_checkpoint.json
GGUF
LLMで使われていた技術ですが、これをFluxに応用することでVRAMに使用量を減らすことができます
🪢カスタムノード
https://github.com/city96/ComfyUI-GGUFComfyUI-GGUF
モデルのダウンロード
https://huggingface.co/city96/FLUX.1-dev-gguf/tree/mainFLUX.1-dev-gguf
https://huggingface.co/city96/FLUX.1-schnell-gguf/tree/mainFLUX.1-schnell-gguf
$ ComfyUI/models/unet
https://gyazo.com/e06b7199b8b260ce52cecf30b990c203
Flux_dev_gguf.json
🟪モデル読み込みをUnet Loader (GGUF)ノードに変更
GGUFモデルを読み込む
LoRA
https://gyazo.com/9a1c13b03c5754c2ee387d3e70f837f7
Flux_LoRA.json
ControlNet
https://gyazo.com/fcc766d3183371e81f9dc3713dbc729a
Flux_ControlNet.json
重すぎるのでGGUFと併用
対応しているのはInstantXから出ているモデルのみ
https://huggingface.co/InstantX/FLUX.1-dev-Controlnet-UnionInstantX/FLUX.1-dev-Controlnet-Union
https://huggingface.co/Djrango/Qwen2vl-Flux/tree/main/controlnetQwen2vl-Flux/controlnet
XLabs AI版のモデルは非対応
inpainting/outpainting (ControlNet Inpaint)
ControlNetモデル
https://huggingface.co/alimama-creative/FLUX.1-dev-Controlnet-Inpainting-Alpha/tree/mainFLUX.1-dev-Controlnet-Inpainting-Alpha
https://gyazo.com/0f5054b2bc3960a2a8ae57f81c74fa92
Flux_outpainting.json
基本的には🦊outpainting#65a1174ae2dacc0000312207と同じ形
🟦ただし、ControlNetInpaintingAliMamaApplyノードという、このControlNetモデル専用のノードを使う
🟨BiRefNetで作ったマスクを少し拡張してControlNetとSet latent Noise Maskノードに接続
ControlNetが異常に強く効くのでend_percentを0.1にしているけれど、これが正しい動作かは自信ないnomadoor.icon
FLUX.1 Fillを使ったほうが良い
→ 🦊FLUX.1 Tools#67505f16e2dacc0000f4653e