見出し画像

SwarmUIを使って話題のモデル『Flux』を動かす方法

画像生成AIのhow to記事です。
今回は話題のモデルfluxをSwarmUIで動かす方法について紹介します。

プロフィール
自サークル「AI愛create」でAIコンテンツの販売・生成をしています。クラウドソーシングなどで個人や他サークル様からの生成依頼を多数受注。
実際に生成した画像や経験したお仕事から有益となる情報を発信しています。
詳細はこちら(🔞コンテンツが含まれます)
➡️lit.link

メンバーシップ(月額500円)に加入して頂くと、一部の有料記事が読み放題です。

Fluxとは?

新しく開発されたt2iの画像生成モデルです。
Stable Diffusionを開発していたチームがBlack Forest Labsとしてfluxを発表しました。

Midjourneyレベルのクオリティを再現できるようで、現在は3通りの使い方があります。

  • FLUX.1 [dev]: ベースとなるモデルで非商用ライセンス

  • FLUX.1 [schnell]: 最大10倍高速に動作する基本モデルでApache 2ライセンス

  • FLUX.1 [pro]: APIを通じてのみ利用可能なクローズドソース版

現在ローカルだとComfyUI・SwarmUI・forgeなどで動かせるようです。
またローカルで使えるモデルはdevかschnellです。

今回はこのfluxをSwarmUIで使う方法についてご紹介します。

※ComfyUIで動かす方法はこちら

※forgeはこちら

SwarmUIとは?

SwarmUIはStability AIが公式のUIとして発表したものです。

元々「StableSwarmUI」という名前でリリースされたのですが、そちらは24年6月21日にメンテナンスが停止になり、新たに「SwarmUI」という独立したバージョンがGithubにて公開されています。

こちらもまだbeta版ですが、ComfyUIと同じくらい新しい技術への対応が早いです。

またfluxのモデルをインストール時にダウンロードできるオプションがあるため、ComfyUIよりfluxが始めやすいと思います。

※ComfyUIとの主な違い

  • インストール時にFluxモデルをダウンロードできる(軽量版のfp8モデル)

  • VAEやCLIPの用意が必要ない(fp8モデルを使用する場合)

  • 通常のモデルを動かす場合はVAE・CLIP共に準備が必要

  • A1111のような操作感で使用できる

SwarmUIのインストール

win10の方は事前にgitと.NET 8が必要です。
win10でインストールがまだの方は以下のリンクからインストールしてください。
git
.NET 8

win11の方はバッチファイル実行時に自動でインストールできるため、必要ありません。

githubのページからインストール用のバッチファイルをダウンロードします。
Installing on Windowsにある「The Install-Windows.bat file」のリンクを右クリックしてダウンロードしてください。
https://github.com/mcmonkeyprojects/SwarmUI#installing-on-windows

画像

インストールしたいパスにバッチファイルを置いて実行します。
例)C:\install-windows.bat

win11だとgitや.NET8のインストールについて確認画面が表示されますが、案内に沿ってそのまま進めれば問題ありません。

最初の処理が終わるとブラウザで「SwarmUI Installer」という画面が表示されるので、今度はこちらを進めていきます。

0.言語の設定

最初に言語を切り替えられますが、ここはUIで表示する言語の設定です。
インストール後に変更も可能。

画像

1.Legal Notice

商用利用やライセンスについて確認があるので、問題なければAgreeで次に進んでください。

画像

2.Choose install path:

2はインストール方法を選べます。
「Just Install」はモデルだけSDXLが選択され、他の設定はデフォルトのままインストールするものです。
今回fluxを使うので「Customize Settings」で進めてください。

画像

3~6はCustomize Settings用
3~6は「Customize Settings」を選択した人向けの設定です。
基本デフォルトで問題ありません。
今回fluxを使うので6だけ自分で選択します。

  • 3のChoose a themeはUIの配色。

  • 4はUIを誰が使用するか

  • 5はバックエンドで動かすエンジン(通常はComfyUI)

  • 6は最初にダウンロードするモデル

モデルの選択

fluxモデルを簡単に説明すると、以下の通りです。

・Dev:一般的なモデル。時間は掛かるけどクオリティは高い
・schnell:高速生成できるモデル

またモデルは1つで約16GBほど容量を使います。
使用したいモデル、または両方にチェックを入れてnextに進んでください。

7:インストール内容の確認

画像

最後に確認画面が表示されるので問題なければ「Yes, I'm sure(install Now)」でインストールできます。
インストールが終わると自動でSwarmUIが開きます。

画像

2回目以降手動で開く場合はSwarmUIのフォルダ内にある「launch-windows.bat」を起動してください。

画像

上部に表示される黄色いステータスバーが消えたら画像生成ができます。

画像

細かい使い方は別の記事で紹介しているので、こちらを参考にしてください。

SwarmUIでfluxを使用する方法

使用モデルの選択

UIを起動するとGenerateタブで開くので、下部にあるModelsタブを選択してください。
モデルが表示されるので、使用したいものをクリックします。

タブの上に「Model:モデル名」が追加されていればOKです。

steps・CFG Scaleの設定

モデルによってsteps・CFG Scaleの推奨値が異なります。
これらはUI左側にあるCore Parametersで設定可能です。

通常モデルと同じ設定でいいか分からなかったので、ComfyUI公式にあるworkflowの値を参考にしています。

schnell(fp8)
・Steps:4
・CFG Scale:1

dev(fp8)
・Steps:50
・CFG Scale:3.5

画像サイズ

画像サイズはResolutioで変えられます。Customを選ぶと自分で指定可能。
デフォルトは1024×1024です。

Preferred DType

これが何を意味するのか正直あまり分かっていないのですが、画像生成に時間がかかる場合はfp8にすると改善されるようです。

ヒントには以下のように書かれています。

Preferred DType (dropdown):
Preferred data type for models, when a choice is available.
(Notably primarily affects Flux.1 models currently).
If disabled, will automatically decide.
'fp8_e43fn' is recommended for large models.
'Default' uses global default type, usually fp16 or bf16.

Preferred DType (dropdown):
選択可能な場合、モデルの優先データ型(現在は主にFlux.1モデルに影響する)。
無効の場合、自動的に決定される。
'fp8_e43fn'は大きなモデルに推奨されます。
'Default'はグローバルなデフォルトの型、通常はfp16かbf16を使用します。

パラーメータ設定欄の下にあるDisplay Advanced Options にチェックを入れて、Advanced Samplingを開いて、Preferred DTypeにもチェックすれば使えます。
プルダウンから使用したいものを選んでください。

プロンプト入力&画像生成

あとはUI中部にあるプロンプトに生成したい内容を入力して、Generateを押せば画像生成できます。

「gaming room, PC monitor, neon light, the word "Flux" is displayed on the PC monitor」と入れて生成してみました。ネガティブは入れてません。

・schnell(約14秒)

・dev(約4分30秒)

Fluxモデルを自分で用意する場合

fluxリリース前にSwarmUIをインストールしていた方、fp8版以外のモデルを使いたい方は自分で用意する必要があります。

モデルのダウンロード

モデルはそれぞれhugging faceからダウンロードできます。
全て左上のDownloadリンクからダウンロード可能です。

・通常のDevモデル(hugging faceのアカウント、ライセンスへの同意が必要)

https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/flux1-dev.safetensors

・通常のschnellモデル

black-forest-labsが提供しているモデルはunetフォルダに置きます。

C:\SwarmUI\Models\unet

・dev(fp8)

・schnell(fp8)

・Dev nf4
※最新版Forgeに対応している高速生成可能なfluxモデルです。SwarmUIでも拡張機能を入れると使用できます

これらはStable-Diffusionフォルダに置きます。

C:\SwarmUI\Models\Stable-Diffusion

VAE

VAEは以下からダウンロードできます。(ae.safetensors)

データは以下のパスに置きます。

C:\SwarmUI\Models\VAE

CLIP

CLIPは通常のdev・schnellモデル使用時に自動でダウンロードしてくれます。
名前はリネームされていますが、中身は公式で案内しているデータと同じものです。

・clip_l.safetensors → clip_l_sdxl_base.safetensors
・t5xxl_fp8_e4m3fn.safetensors → t5xxl_enconly.safetensors

通常のdev・schnellモデルを使用する場合、事前ダウンロードは不要です。
また事前に用意する場合は、それぞれ上記の名前に変更しないと自動ダウンロードされます。

fp16の方を使いたい場合は以下のリンクから「t5xxl_fp16.safetensors」をダウンロード可能です。

データは以下のパスに置いてください。

C:\SwarmUI\Models\clip

通常モデル・nf4モデルを使用する方法

基本は最初に紹介したfp8モデルと同じです。
若干生成までの流れに違う部分があるのでそれだけご紹介します。

通常のflux(dev・schnell)モデル

通常モデルもModelsタブから使用したいモデルを選択します。
fp8モデルとサムネイルも概要も全く同じなので、迷ったらファイル名で判断してください。

あとはパラーメータ、画像サイズ、プロンプトを入力すれば画像生成できます。
CLIPを用意していない場合は、初回生成時にダウンロードされるので少し時間がかかります。

nf4モデル

nf4モデルを使用する場合は拡張機能のインストール、メタデータの削除、ComfyUIのアップデートなどが必要です。

まずnf4モデルを選択して何でもいいので画像生成してみてください。
初回生成時に確認画面が表示されます。
これはComfyUIでnf4をサポートしたカスタムノード(AGPLライセンス)をインストールしていいですか?というものです。
問題なければinstallをクリックして進めます。

和訳
BnB NF4サポートのインストール
あなたが使おうとしているモデルは、Bits-and-Bytes NF4フォーマットのモデルのようです。
これを実行するにはcomfyanonymousとIllyasvielによってリリースされた拡張機能(AGPLライセンス)が必要です。インストールしますか?

次にUtilitiesタブでReset All Metadataをクリックします。
これはモデルなどに含まれるメタデータをリセットして再読み込みするものです。

一度SwarmUIを停止して、ComfyUIをアップデートしてください。
以下のパスに「update_comfyui_and_python_dependencies.bat」というアップデート用のバッチファイルがあります。

C:\SwarmUI\dlbackend\comfy\update\update_comfyui_and_python_dependencies.bat


通常デフォルトで起動時にアップデートするよう設定されているのですが、手動でアップデートしないと反映されないようです。
※server→backends→AutoUpdateで確認できます。

再度SwarmUIを起動すれば、nf4モデルで画像生成できるようになります。

この手順はissueでも報告されているのでこちらも参考にしてください。

CLIP(fp16)を使う場合

人によってCLIP(fp8)だとクオリティが違うという方がいるようです。
ただSwarmUIだとCLIP(fp16)は、Generateタブで設定できません。

一番簡単なのは「t5xxl_fp16.safetensors」の名前を「t5xxl_enconly.safetensors」に変更してしまうことです。
これによって常にt5xxl_fp16が使用されます。

もしUI上で切り替えて使用する場合は、Comfy Workflowタブで設定してそのまま生成するか、設定したものをGenerateタブに反映させる必要があります。

まずGenerateタブでモデルの選択、パラメータの設定、画像サイズなどを指定してからComfy Workflowタブに移動してください。

Import From Generate Tabをクリックして、Generateタブの設定をComfyUIに反映させます。

DualCLIPLoaderのノードでfp16に切り替えてください。

あとはそのままQueue Promptで生成するか、「Use This Workflow In Generate Tab」をクリックするとComfyUI側の設定をGenerateタブに反映できます。

GenerateタブにCostom Comfy Workflowと表示されていればComfyUIの設定が反映されている状態です。
これで生成すればCLIP(FP16)を使えます。

ただこれはSwarmUIでComfyUIを使ってるのと変わらないので、Generateタブで操作できるまでアップデートを待つか、最初からComfyUIを使った方が良いような気もします。

なおCLIP fp8とfp16で比較するとこんな感じです。
個人的にはあまり変わらないように見えますが、モデルや生成内容によってはもう少し違いが出るかもしれません。

・左がfp8・右がfp16(Flux.1-schnell使用)

以上SwarmUIを使ってFluxを動かす方法についてご紹介しました。

当サークルではこのようなAIに関するさまざまな情報を発信しています。
メンバーシップに加入して頂くと一部の有料記事は読み放題です。
AI技術の向上、マネタイズ方法などに興味がある方は、ぜひご検討ください。


よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!