洋服の試着画像をAIで生成する「バーチャル試着(Virtual Try-On)」は、これまでクラウドサービスや高性能GPUが前提でした。しかし本記事で紹介するComfyUIワークフローは、GGUF量子化されたQwen-Image-Editと専用LoRAを組み合わせることで、VRAM 8GB程度のミドルスペックPCでもローカル環境で着せ替え画像を生成できるよう設計されています。
この記事では、
- そもそもComfyUIとは何か
- ワークフローで使われている各モデルの役割とダウンロード先
- 主要ノードの役割と処理の流れ
を順番に解説します。
ComfyUIとは
ComfyUI(コンフィーユーアイ)は、Stable Diffusionをはじめとする画像生成AIを「ノードベース」で組み立てて実行できるオープンソースのツールです。モデルの読み込み・プロンプトのエンコード・サンプリング・画像の保存といった処理を、それぞれ独立した「ノード(箱)」として画面上に配置し、線でつなぐことでワークフロー(処理の流れ)を自由に構築できます。
Pythonコードを書かなくても複雑な生成パイプラインを組めること、そして今回のようにGGUF量子化モデルやLoRAの組み合わせを柔軟にカスタマイズできることが大きな特徴で、拡張ノード(カスタムノード)を追加することで機能をどんどん拡張できます。
- 公式サイト:https://www.comfy.org/
- GitHubリポジトリ:https://github.com/comfyanonymous/ComfyUI
このワークフローでできること
今回のワークフローは、次のようなインプット・アウトプットになっています。

- 入力①:着せ替えたい人物の写真(1枚)
- 入力②〜④:着せたいアイテムの写真(トップス、帽子、靴など、フリマサイトの商品写真のようなものでもOK)
- 出力:人物がそれらのアイテムを身につけた状態の写真
すべてローカルのGPU上で処理されるため、写真を外部サービスにアップロードする必要がなく、プライバシー面でも安心です。
事前に必要なもの
※最新のComfyUIの場合はワークフローを画面にドロップすると、必要なノードやモデルは右のサイドバーよりワンクリックでダウンロードできるかと存じます。
- ComfyUI本体
- カスタムノード「ComfyUI-GGUF」(GGUF量子化モデルを読み込むために必須)
https://github.com/city96/ComfyUI-GGUF - カスタムノード「ComfyUI-KJNodes」(画像リサイズノードなどに使用)
https://github.com/kijai/ComfyUI-KJNodes - 下記で紹介する各種モデルファイル
- 目安VRAM:8GB以上(詳しい理由は後述)
使用モデル一覧
① Qwen-Image-Edit(GGUF量子化版)
Qwenチームが公開している約20Bパラメータの画像編集特化モデル「Qwen-Image-Edit」を、3bit相当(Q3_K_S)まで量子化したバージョンです。フル精度版は40GBを超えますが、GGUF形式に量子化することでファイルサイズを約9GBまで圧縮しつつ、ComfyUI-GGUFノード経由でVRAMとメインメモリの間で重みを動的にやり取りしながら推論できるため、VRAMが少ない環境でも動作します。
ダウンロード先:https://huggingface.co/QuantStack/Qwen-Image-Edit-GGUF(このワークフローでは「Qwen_Image_Edit-Q3_K_S.gguf」を使用)
② Qwen-Image-Edit-2511-Lightning(4ステップ高速化LoRA)
通常40ステップ程度かかる生成処理を、わずか4ステップまで短縮できる蒸留(step distillation)LoRAです。画質を保ちながら生成速度を約10倍に高速化できるため、VRAMが限られた環境での実用性を大きく高めてくれます。
ダウンロード先:https://huggingface.co/lightx2v/Qwen-Image-Edit-2511-Lightning
③ Clothes Try On(Clothing Transfer)- Qwen Edit LoRA
「画像の左側にある服を、右側(または下側)の人物に着せる」という動作に特化して学習された、着せ替え専用のLoRAです。このLoRAの学習フォーマットに合わせて、後述の画像合成・プロンプト構成が組まれています。
ダウンロード先:https://civitai.com/models/1940532/clothes-try-on-clothing-transfer-qwen-edit
④ テキストエンコーダー:Qwen2.5-VL-7B(fp8量子化版)
プロンプトの文章と入力画像の内容を同時に理解する、視覚言語モデル(VLM)ベースのテキストエンコーダーです。fp8形式に量子化することで、精度をほぼ保ったままVRAM消費を抑えています。
ダウンロード先:https://huggingface.co/Comfy-Org/Qwen-Image_ComfyUI/tree/main/split_files/text_encoders(「qwen_2.5_vl_7b_fp8_scaled.safetensors」を使用)
⑤ VAE:qwen_image_vae.safetensors
画像と潜在空間(Latent)を相互変換するためのVAE(Variational Autoencoder)です。Qwen-Image系のモデル専用に用意されています。
ダウンロード先:https://huggingface.co/Comfy-Org/Qwen-Image_ComfyUI/tree/main/split_files/vae
主要ノードの解説と処理の流れ
ステップ1:画像の読み込みと合成(LoadImage × 4 → ImageStitch × 3)
まずLoadImageノードで、着せ替え対象の人物写真1枚と、着せたいアイテムの写真(トップス・帽子・靴など)を複数枚読み込みます。
※着せ替え対象はこちらの人物写真にしました

次にImageStitchノードを使い、複数のアイテム画像を横一列に結合し、その帯を人物写真の下側に配置して、「上部=人物」「下部=着せたいアイテム一覧」という1枚の合成画像を作ります。Qwen-Image-Editは複数の画像を個別に渡すよりも、こうして1枚にまとめた画像を渡した方が着せ替えの精度が安定しやすいため、この手法が使われています。
ステップ2:解像度の調整(ImageResizeKJv2「Qwen friendly res」/ImageScaleToTotalPixels)
合成した画像を、Qwen-Image-Editが得意とする解像度(このワークフローでは832×1248)にリサイズします。ワークフロー内のメモにも複数の推奨解像度パターンが列挙されており、この解像度から外れると顔や服の輪郭が崩れやすくなるため重要な工程です。
ステップ3:モデルの読み込みとLoRAの適用
UnetLoaderGGUF:GGUF量子化されたQwen-Image-Edit本体を読み込みます。LoraLoaderModelOnly(Lightning・強度1):4ステップ高速化LoRAを適用します。LoraLoaderModelOnly(Try-On・強度0.99):着せ替え専用LoRAを適用します。ModelSamplingAuraFlow(shift=3):サンプリングのshift値を調整します。Qwen系モデルで推奨される設定値です。CFGNorm:CFG値を正規化し、Lightning LoRA使用時に発生しがちな破綻を抑えます。
ステップ4:プロンプトのエンコード

CLIPLoaderで先述のQwen2.5-VL-7Bテキストエンコーダーを読み込んだ後、TextEncodeQwenImageEditノードでプロンプトと画像を同時にエンコードします。
ポジティブプロンプトには次のような指示文が設定されています。
“Style the person in the top of the image, with every article of clothing on the bottom.”(画像上部の人物に、下部にあるすべての衣類・アイテムを着せてください)
これはステップ1で作った「上=人物/下=アイテム」という画像レイアウトと、Try-On LoRAの学習フォーマットに合わせた指示文です。ネガティブプロンプト側は今回空欄になっています。
ステップ5:潜在空間への変換・生成・出力
VAEEncode:リサイズ済みの合成画像を潜在空間(Latent)にエンコードします。KSampler:steps=4、cfg=1、sampler=euler、scheduler=simple、denoise=1という、Lightning LoRAに最適化された軽量設定で画像を生成します。VAEDecode:生成された潜在変数を画像に復元します。SaveImage/PreviewImage:結果を保存・プレビュー表示します。
※着せ替え後の生成画像は下記となります

なぜVRAM 8GBでも動くのか
このワークフローが低VRAM環境でも成立している理由は、主に次の3点の組み合わせです。
- GGUF量子化+動的オフロード:Qwen-Image-Edit本体をQ3_K_S(約9GB)まで量子化し、ComfyUI-GGUFノード経由でVRAMとメインメモリの間で重みをやり取りしながら推論するため、フルモデルを丸ごとVRAMに載せる必要がありません。
- テキストエンコーダーのfp8量子化:Qwen2.5-VL-7Bをfp8化することで、テキスト・画像理解パートのVRAM消費も抑えられています。
- 4ステップ高速化LoRA:Lightning LoRAにより生成ステップ数が大幅に減るため、処理時間・メモリの両面で負荷が軽くなります。
ただし「VRAM 8GB」はあくまで目安です。OS側で使用中のVRAM量や生成解像度によって必要量は変動するため、余裕を持った環境で試すことをおすすめします。
※VRAM 8GBで初回生成1時間程度、その後は20分程度で生成されるようになります
実践のコツ・注意点
- アイテムの参照画像は、Try-On LoRAの配布ページでも推奨されている通り、白背景に商品だけが写っている写真が最も精度が出やすい傾向があります。
- 複数アイテムを同時に着せる場合、細かい柄や靴・帽子などの小物は再現が不安定になることがあります。気になる場合はアップスケーラー(SeedVR2など)で仕上げるのも一つの方法です。
KSamplerのseedは「randomize」設定になっているため、気に入った結果が出たらseed値を控えて固定すると再現しやすくなります。
まとめ
本ワークフローは、GGUF量子化したQwen-Image-Editをベースに、高速化LoRAと着せ替え専用LoRAを組み合わせることで、クラウドに頼らずローカルのミドルスペックGPU(VRAM 8GB目安)でもバーチャル試着を実現できる構成になっています。人物写真とアイテム写真を用意するだけで、コーディネート全体の着せ替えイメージを手元の環境で生成できる点が大きな魅力です。


