ComfyUIで強力なFlux.1 Toolsを使って画像修正する方法

前回の記事でFlux.1のコントロールネットを紹介したので、今回はBlack Forest Labsから公開されている「🔗Flux.1 Tools」を紹介します。Flux.1 Toolsを使えばFlux.1モデルを使った「インペイント・アウトペイント」や、IP Adapterに近い機能の「Redux」、そして「CannyまたはDepth」を使ったインプット画像の参考などができます。「Flux.1 Tools」は高スペックのPCが求められますが、かなり強力なツールになりますので記事を読んで使いこなせるようになりましょう。

【Core i7 & NVIDIA RTX 4060搭載・薄型軽量スケルトン】MSIゲーミングノートPC Cyborg15 1.98kg Corei7/RTX4060/Intel/15.6/FHD/144Hz/32GB/1TB/英語キーボード/Windows 11 Pro/Cyborg-15-A13VFK-6403JP
ASIN:B0DGTSF5J8

ASUS ゲーミングデスクトップPC ROG Strix G13CHR GeForce RTX 4060 インテル Core i5 14400F メモリ32GB SSD1TB Windows11 動画編集 エクストリームダークグレー G13CHR-51440F158W/A
ASIN:B08H21HKTX

ゲーミングPC デスクトップ パソコン ドスパラ Diginnos Core i7-12700 - RTX 3060 12G - 32GBメモリ - SSD2.0TB - Windows 11 - THIRDWAVE ゲームPC VR 生成AI (整備済み品)
ASIN:B0DSS2DHFC

【最新第13世代 Core i9 HX & RTX 4090搭載・ウルトラハイエンド】MSIゲーミングノートPC RaiderGE78HX i9HX RTX4090/17型 WQXGA/240Hz/32GB/2TB/Windows11/Raider-GE78HX-13VI-2803JP
ASIN:B0BVBM5T8F

ゲーミングPC デスクトップ パソコン ドスパラ GALLERIA XT Core i7-9700 - Geforce RTX 3060 12G - 32GBメモリ - SSD1.0TB - Windows 11 - THIRDWAVE ゲームPC VR 生成AI (整備済み品)
ASIN:B0DW2VQXHN

UNFINITY ゲーミングPC UNF4060-V3EX(i5-12400F / 32GB / RTX4060 / NVMe M.2 SSD 1TB / Windows11 home
ASIN:B0F14223F6

ガレリア ゲーミングノートPC GALLERIA RL7C-R45-5N RTX4050 Core i7-13620H メモリ16GB SSD500GB 15.6インチ Windows 11 Home 15813-3359
ASIN:B0DMDYDJJB

GEOMETRIC FUTURE ミドルタワーPCケース Model 5 NV Style Edition 強化ガラスパネル ピラーレス構造 RTX 40シリーズGPU / 420mmラジエーター搭載可能 E-ATX/ATX/Micro-ATX/ITX規格対応 日本正規代理店品
ASIN:B0DFWGQD6N

ガレリア ゲーミングPC GALLERIA RM7R-R46 RTX 4060 Ryzen 7 5700X メモリ32GB SSD1TB Windows11 動画編集 2年保証 ガンメタリック
ASIN:B0DVGTSGPM

ガレリア ゲーミングPC GALLERIA RM7C-R46 RTX4060 Core i7-14700F メモリ16GB SSD1TB Windows 11 Home 動画編集 2年保証 ガンメタリック 16948-4692
ASIN:B0DT9DWYYS
Flux.1 Toolsのモデルのダウンロード
Flux.1 ToolsのモデルはBlack Forest LabsのHuggingFaceに公開されています。使いたいモデルをダウンロードしていきましょう。※公式モデルをダウンロードをするにはBlack Forest Labsのライセンスなどの条件を受諾する必要があります。ライセンスなどの条件を受諾が面倒な方は🔗Cvitaiのtheally氏が同じモデルを公開しているのでそちらをダウンロードしましょう。
Fill (Inpainting)
Fill (Inpainting)はFlux.1を使ったインペイントとアウトペイントをする為のモデルです。/ComfyUI/models/diffusion_models
にダウンロードしましょう。低スペックのPCをお使いの方は非公式の軽量版も公開されています。
Redux
ReduxはIP Adapterに似た機能を持ったモデルです。使用するにはディフュージョンモデル以外にもクリップビジョンモデルも必要になります。/ComfyUI/models/diffusion_models
にダウンロードしましょう。下記のクリップビジョンモデルは/ComfyUI/models/clip_vision
にダウンロードしましょう。
Canny
Cannyは画像から摘出した線画を参考に生成するモデルです。/ComfyUI/models/diffusion_models
にダウンロードしましょう。
Depth
Depthは画像から摘出したデプスマップを参考に生成するモデルです。/ComfyUI/models/diffusion_models
にダウンロードしましょう。
Canny (LoRA)
Flux.1 ToolsのCannyとDepthモデルにはディフュージョンモデル以外にもLoRAモデルを使って適用できます。このモデルはLoraとして使用する為、汎用性は高いでしょう。
Canny (LoRA)を/ComfyUI/models/loras
にダウンロードしましょう。
Depth (LoRA)
Depth (LoRA)を/ComfyUI/models/loras
にダウンロードしましょう。
ComfyUI公式のサンプルを見てみる

ComfyUI公式のサンプルはリンク先のページで紹介されている画像をダウンロードして、ComfyUIのLoadもしくはUIにドラッグアンドドロップで読み込みましょう。インプット画像はComfyUI_examplesの他の例からダウンロードする必要があるので、DCAIのドライブにまとめて置いておきます。
Fill (Inpainting)
Fill (Inpainting) modelを使えばインプット画像のマスク範囲をプロンプトに沿って生成します。この例でのインプット画像はあらかじめマスク範囲が設定されています。マスクを編集したい場合は「Load Image」ノードを右クリックしてメニューを出して、「Open in MaskEditor」を開き編集しましょう。
ComfyUIのインペイントについては下記の記事にて詳しく解説しているので参考にしてください。
このワークフローの特徴は通常のFlux.1のワークフローに加えて下記のノードを使用しています。
- Differential Diffusion:インペイント品質を向上させるノードです。このノードを通すことによりインプット画像とインペイントとの品質をそろえることができます。
- InpaintModelConditioning:プロンプト、インプット画像とマスクを適用させます。
Fill (Outpainting)
こちらも同じくFill modelを使ったアウトペイントのワークフローになります。
このワークフローでは先ほど紹介した2つのノードに加えて下記のノードが使われています。
- Pad Image for Outpainting:インプット画像を設定にしたがって拡張します。今回の例では左右と下に400ピクセル追加しています。feathertingで境界をぼかすことができるので、値を設定して境界を目立たなくします。
Redux
ReduxはIP Adapterの様な機能を持ったモデルになります。インプット画像の別バージョンを生成したい時や、同じスタイルで別の画像を生成したい時に使います。
このワークフローの特徴は通常のFlux.1のワークフローに加えてRedux Modelグループで囲まれたノードでスタイルを適用します。
- Load CLIP Vision:ダウンロードした
sigclip_vision_384.safetensors
を読み込みます。 - CLIP Vision Encode:インプット画像を先ほどのsigclip_vision_384を使ってconditioning(プロンプトデータ)に変換します。
- Load Style Model:ダウンロードした
flux1-redux-dev.safetensors
を読み込みます。 - Apply Style Model:CLIP Vision Encodeで変換したデータをStyle Modelを使って適用させます。適用強度はstrengthの値で調節しましょう。
Canny and Depth
このワークフローはCannyの例となっています。flux1-canny-dev.safetensors
モデルを使ってインプット画像の線画を参照します。
flux1-depth-dev.safetensors
を使いたい場合はインプット画像からDepth画像を摘出する為に、カスタムノードの「ComfyUI’s ControlNet Auxiliary Preprocessors」をインストールする必要があります。カスタムノードのインストール方法は下記の記事を参考にしましょう。

カスタムノードをインストールしたらインプット画像を「Depth Anything」ノード等お好みのプリプロセッサーでDepth画像を摘出して「InstructPixToPixConditioning」に送ります。あとは「Load Diffusion Model」ノードにflux1-depth-dev.safetensors
を読み込めば使用できます。
Canny and Depth (LoRA)
Flux.1 Toolsのモデルはどれも通常のFlux.1 Devと同じく容量が22.1GBとなっておりスペックの低いPCで生成することが難しくなっています。しかし、LoRAモデルとなっている「Canny」「Depth」モデルを使えば低スペックでも扱いやすいFLUX.1 [schnell]やFP8 (Dev/Schnell)、GGUF等も使用できるのでおススメです。
cannyを使いたい場合は「LoraLoaderModelOnly」ノードのlora_nameをflux1-canny-dev-lora.safetensors
に変更して、インプット画像をimage > preprocessors > Cannyを使って線画を摘出してください。
このワークフローの特徴は通常のFlux.1のワークフローに加えて下記のノードを使用しています。
- InstructPixToPixConditioning:cannyやdepthデータをコンディショニングデータに適用させます。
Flux.1 Toolsをつかった実用的なワークフローの紹介
「Flux.1 Tools」を使ったワークフローを紹介します。いつもならできるだけカスタムノードを使わずにシンプルなワークフローを組み上げるのですが、今回は5つのカスタムノードを使って少し複雑に組んでいます。ワークフローではFLUX.1 Fillを使ってインプット画像を細密化+拡張します。紹介する手法で「Animagine XL」、「Pony Diffusion V6 XL」や「Illustrious-XL」の画像を使ってFlux.1のディテールを生かした高品質なイラストを生成しましょう。
拡張方向は縦・横方向に対応しています。3方向または全方向には対応していません。また、拡張範囲は各方向に同じピクセルしか拡張できません。
- inpaintとoutpaintを使ってインプット画像の背景をディテールアップ
- FLUX.1-Fill-dev-ggufを使ってVRAMへの負担を軽減
- SAMDetectorの導入でインプット画像の顔面を保護
ワークフローはPatreonで公開していますが、有料サポーター様のみ閲覧・ダウンロードが可能となっています。
また、ワークフローがダウンロード出来なくでも解説を見ればご自身でも構成できるので、このまま解説にお進みください。
カスタムノードのインストール
下記のカスタムノードが必要になるのでインストールしましょう。すでにインストールされている方もエラーを回避するために最新版にアップデートしておきましょう。
- 🔗ComfyUI-Impact-Pack:顔のマスク作成に使用。
- 🔗ComfyUI-Impact-Subpack:V8.0よりUltralyticsDetectorProviderが分けられた為。
- 🔗ComfyUI-Custom-Scripts:オリジナルの画像を拡張された画像の中心に配置する計算で使用。
- 🔗ComfyUI-Crystool:ワーフフローのコントロール、画像の解像度摘出、水平・垂直の切り替えに使用。
- 🔗ComfyUI-GGUF:GGUF形式ののUnetとCLIPを読み込みに使用。
使用モデルについて
モデルは下記のモデルを使用しています。GGUFモデルはQ8_0
を使用していますが、ご使用のマシンスペックにより変更してください。
- 🔗second-state/FLUX.1-Fill-dev-GGUF/flux1-fill-dev-Q8_0.gguf
- 🔗city96/t5-v1_1-xxl-encoder-gguf/t5-v1_1-xxl-encoder-Q8_0.gguf
- 🔗comfyanonymous/flux_text_encoders/clip_l.safetensors
- 🔗UltraSharp
インプット画像について

インプット画像はAnimagine XLを使って1024×1024で生成し、HiresFixを使い2倍の2048×2048ピクセルにスケールアップしています。画像はDCAIのDriveからダウンロードしましょう。※上記の画像は縮小されているので、できればDriveの画像を使用することをおススメします。
グラフの解説
Input Image
Input Imageグループではインプット画像を読み込み、1024pxに縮小または拡大します。画像は正方形のほうが好ましいですが、長方形でも問題ありません。「Upscale Image」のheightが0
なのは長方形をインプットしたときに比率が変わらないように設定しています。
Basic Nodes
基本的な共有ノードがまとめられています。今回のワークフローは普通のKSamplerを使っているのでネガティブプロンプトが必要です。なのでプロンプトは反映されませんが必要なので、このグループに入っています。
GGUFモデルはQ8_0
を使用していますが、VRAM24GB推奨モデルなのでスペックが満たない方はQ6_K
やQ5_K_S
を使いましょう。詳しくは下記の記事にて解説しています。
Face Detect 1
カスタムノードの「Impact-Pack」に入っているSAMDetector周りのノードグループです。普通はFace detailerの顔面修復の為に使うノードですが、今回は顔面のマスクを作成して顔面を保護する目的で使います。
マスクが上手く摘出できないときは「SAMDetector (combined)」のdetection_hintやthresholdで調整しましょう。
「Mask Preview」ノードは「Convert Mask to Image」と「Preview Image」合わせたグループノードとなります。グループノードの作り方は後ほど紹介します。
InPaint
InPaintグループではFace Detect 1グループで作成したマスクを反転して顔面以外の部分をインペイントします。
プロンプトは下記の様に生成したい画像の簡単なプロンプトと、品質タグを記述しましょう。
Beautiful scenery of a medieval village.
detailed illustration, highly detailed, very detailed, intricately detailed, hyper detailed, finest details, intricate, wide angled, a rich and complex image of nature, realistic, captivating, fantastical, maximalist style, sharp focus, harmony, serenity, dynamic lighting, superb composition, highest aesthetic, stylized, clear, colorful, ultra quality, 8k, best quality, a breathtaking masterpiece.
「FluxGuidance」は大きめの20
を使っています。ノードデフォルトの3.5
でも十分に使えますが、この値を大きくすると細密度が上がります。
「KSampler」のdenoiseの値で元画像をどれだけ維持するかを設定します。0
の場合は元画像をそのまま生成し、1
の場合は保護された顔以外の部分がまったく別の画像になります。stepsは上げてもそれ程品質は変わりませんでした。cfgはFlux.1の場合1
で使用します。
OutPaint
OutPaintグループでは、InPaintグループで生成された画像を任意の方向に指定したピクセル分だけ拡張できます。デフォルトでは、水平方向に左右それぞれ400pxずつ拡張されます。
プロンプトは拡張した部分のみに適用されます。デフォルトはインペイントと同じプロンプトを使っていますが、シンプルなプロンプトを使うのも良いでしょう。
「H/V Switcher True = Horizontal」ノードで拡張する方向を指定します。valueがtrue
の場合は水平方向に拡張し、false
にすると垂直方向に拡張します。
「H/V Param Switcher (Group)」は「Primitive integer [Crystools]」と「Switch any [Crystools]」をまとめたグループノードです。先ほどの「H/V Switcher True = Horizontal」の値によってvalueのピクセルを拡張します。
「Pad Image for Outpainting」ノードはアウトペイントするピクセルを指定するノードです。今回はleft/top/right/bottomをノードの右クリックメニューからConvert Widget to Inputを使い外部化させて、「H/V Param Switcher (Group)」から入力しています。
Upscale
DCAIでいつも紹介しているアップスケールノードグループです。4x-UltraSharp
で4倍に拡大してから3メガピクセルに縮小しています。
Finishing
Finishingグループでは、アウトペイントで拡張した部分やアップスケールを馴染ますために、最後にもう一度全体を生成します。ココでもインペイントを使って顔面を保護します。
このグループも「FluxGuidance」と「KSampler」のdenoiseで仕上がりを調節しましょう。
Face Detect 2
アップスケール後の解像度で顔面を保護する為のマスクを作成します。bbox_detectorとsegsはFace Detect 1から共有しています。作成したマスクはFinishingグループのインペイントとFace Swapグループの顔面差し替えに使用します。
Face Swap
Face SwapグループではFinishingグループで生成された画像にインプット画像を同じ大きさにして顔面部分を差し替えています。少し複雑なので色で種類分けをしています。
- シアン:Finishingグループで生成された画像関係のノード
- 赤:インプット画像関係のノード
- 黄色:計算関係のノード
基本的には仕上げサイズに合わせたEmptyImageに、解像度を合わせたインプット画像を中心に配置することによりマスクと同じ位置にインプット画像が配置されるので「ImageCompositeMasked」ノードでFace Detect 2グループで作成したマスクを使い顔面を差し替えています。
「🪛 Switch any」ノードを使いOutPaintグループの「H/V Switcher True = Horizontal」の値によって縦・横方向の切り替えをしています。
「Math Expression 🐍 – Centering」ノードでインプット画像を中心にオフセットする値を算出しています。計算式はシンプルで横長画像の場合は(最終画像の横幅 - インプット画像の横幅)/ 2
となります。
ノードの接続がややこしいので詳細画像を見ながら接続してみましょう。
Preview
各グラフのプレビューがまとめられています。自動で保存したい場合は「Save Image」ノードに差し替えましょう。
グループノードについて
グループノードとはComfyUIの機能で複数のノードをまとめて1つのノードにできます。今回は「Mask Preview」ノードと「H/V Param Switcher (Group)」ノードがそれになるので作り方を見ていきましょう。
Mask Previewノードの作り方
シンプルなグループノードですがグループノード基本が解りやすいと思います。
- 「Convert Mask to Image」と「Preview Image」を配置してIMAGEアウトとimagesインを繋げます。
- 2つのノード選択した状態で右クリックでメニューを表示させます。
- メニューからConvert to Group Nodeを選択するとノード名の入力画面が表示されるので
Mask Preview
と入力します。
以上で完成になります。作成したノードは同じワークフロー内であればAdd Node > group nodes>workflowの中にあるので何時でも使うことができます。
H/V Param Switcher (Group)ノードの作り方
コチラは少し複雑ですが基本的なことは変わりません。
- 「🪛 Primitive integer」を2つと「🪛 Switch any」を4つ下の画像の様に配置します。「🪛 Primitive integer」の値を
400
と0
の2通り作り、接続は400の方を画像を参考に上からtrue/false/true/falseと繋げます。0の方は反対側に接続しましょう。これは「🪛 Switch any」のアウトが「Pad Image for Outpainting」ノードのleft/top/right/bottomに繋がるので、Trueの場合にleftとrightに値が適用するようになっています。 - 「🪛 Switch any」ノードのbooleanを外部化したいのでノードの右クリックメニューから変更します。
- 各ノードの表示名をダブルクリックして後ほど編集しやすい様に画像の様に変更します。
- すべてのノード選択した状態で右クリックでメニューを表示させます。
- メニューからConvert to Group Nodeを選択するとノード名の入力画面が表示されるので
H/V Param Switcher (Group)
と入力します。 - ノードの表示が分かりにくいのでキャンバスまたはノードを右クリックしてメニューからManage Group Nodesを選択します。
- 画像の様にManage Group Nodesを呼び出せば作業しやすくなります。1つの作業ごとにSaveボタンでノードの表示を確認しましょう。
- まずは変更の必要のないPrimitive integer [Crystools]の「int 0」の表示を消します。左の一覧から「int 0」を選択してWidgetsタブのVisibleのチェックボックスをオフにします。
- 「int 400」の表示名をintから
value
に変更します。 - Switch any [Crystools]のLeftからBottomまで
boolean left
の様に変更します。 - タブをWidgetsからOutputsに切り替えてアウトプットの表示をLeftからBottomまで
LEFT
の様に変更します。ComfyUIのノード形式としてはインプットが小文字アウトプット大文字になるのでそれにそった表示形式になります。 - Saveボタンを押して表示が正しくされていることを確認できたら、CloseボタンでManage Group Nodesを閉じます。
以上でH/V Param Switcher (Group)ノードが完成しました。
使用方法
ワークフローを使用時には「Control Bridge (InPaint)」と「Control Bridge (OutPaint)」でプロセスを止めることができるので、まずはmodeを両方ともActiveからStop/Mute/Bypass
に切り替えましょう。
- インプット画像をInput Imageグループの「Load Image」に読み込ませます。
- InPaintグループの「KSampler」のcontral_after_generateを
randomize
に切り替えます。プロンプトを入力して「FluxGuidance」のguidanceと「KSampler」のdenoise等を調節して、満足のいく画像が生成するまで繰り返しましょう。 - 満足のいく画像が生成されたら、サイドメニューのQueueリストより気に入った結果の画像を右クリックして「Load Workflow」より呼び出します。
- 新しいワークフローが開くので「KSampler」のseed値をコピーしてワークフローを閉じます。
- 「KSampler」のcontral_after_generateを
fixed
に切り替えて、先ほどコピーしたseed値をペーストします。 - 「Control Bridge (InPaint)」のmodeを
Active
に切り替えてOutPaintグループに移りましょう。 - 「H/V Switcher True = Horizontal」のvalueで拡張したい方向を設定します。
true
が水平false
が垂直方向に拡張します。 - 「H/V Param Switcher (Group)」のvalueで拡張したい大きさを入力します。デフォルトでは左右それぞれ400px拡張します。
- 「Pad Image for Outpainting」のfeatheringで境界をぼかすことにより元画像と生成画像をスムーズに繋ぎます。
- プロンプトを入力して「FluxGuidance」のguidanceを調節します。
- 満足のいく画像が生成されたら、Control Bridge (OutPaint)」のmodeを
Active
に切り替えてUpscale/Finishingグループに移りましょう。 - FinishingグループはInPaintグループと同様にプロンプトを入力して「FluxGuidance」のguidanceと「KSampler」のdenoise等を調節します。
以上でインプット画像の顔を維持しながらFlux.1で細密化された画像が生成されます。
最終結果
Animagine XLの画像テイストを残しつつFlux.1品質の画像が生成されました。
垂直で生成したサンプルも掲載しておきます。パラメーターはOutPaintグループのseedを725205388587662
に変更していますが、綺麗な縦型画像になりました。
まとめ
いかがでしたか?Flux.1 Toolsをつかえばコントロールネットの様に生成のコントロールが大幅に上がり、画像修正等が効率的になります。ただし、Flux.1モデルの動作の重さは変わらず、GGUFやFP8モデルを導入しなければVRAMが24GB以下のPCでは生成するのが厳しいでしょう。
また、紹介したDCAIのワークフローの様に今までのSD1.5モデルやSDXLモデルを生かした手法もあるのでFlux.1 Toolsを使って品質を上げるのも良い使い方だと思います。


MSI GeForce RTX 3050 LP 6G OC PCIe4.0 ロープロファイルサイズ 補助電源不要 デュアルファン搭載 グラフィックスボード VD8790
ASIN:B0CTJZCJH1


玄人志向 NVIDIA GeForce RTX2060 搭載 グラフィックボード GDDR6 12GB GALAKURO GAMINGモデル GG-RTX2060-E12GB/DF ブラック
ASIN:B09Q66CLY2

玄人志向 NVIDIA RTX4060 搭載 グラフィックボード GDDR6 8GB【国内正規代理店品】 GK-RTX4060-E8GB/WHITE/DF2
ASIN:B0DPPC7NHX

GIGABYTE NVIDIA GeForce RTX4060搭載 グラフィックボード GDDR6 8GB【国内正規代理店品】 GV-N4060OC-8GL
ASIN:B0CG69PH11

ASUS GeForce RTX 3050 LP BRK OC Edition 6GB GDDR6 ビデオカード / RTX3050-O6G-LP-BRK 国内正規流通品
ASIN:B0CXPBVJD3


ASUS Dual GeForce RTX 3050 OC Edition 6GB GDDR6 ビデオカード/DUAL-RTX3050-O6G 国内正規流通品
ASIN:B0CVQMD2DF
