こんにちは!悠です!
今回は2023年8月24日時点で、「Stable Diffusion」の最新バージョンであるSDXLを使って、VRAM6GBの低スペックGPU(GTX 1660Ti)で画像を生成する方法に関して紹介していきます。
いつもの「AUTOMATIC1111」ではなく、「ComfyUI」という別のツールを使っていくので、その導入方法に関してもまとめていきます。

軽くググると自分でノードを作成しないといけなくてハードルが高そうに思うかもしれませんが、実はコピペするだけでできるためノードの知識はほぼ0でOKです!
VRAM6GB(1111)でSDXLはほぼ不可能
VRAM6GBのGPU(GTX1660Ti)で、Stable Diffusion WebUI(AUTOMATIC1111)を使って画像生成に何度か挑戦してみたんですが、結果は大失敗でした。
YouTube上には下のように、–lowvramや–xformersのオプションを併用することで、SDXLによる画像生成(VRAM6GB)を成功させている動画もあったんですが、私には無理でしたね。
上の動画の方は、VRAM6GBとはいってもRTX4050だったからできたのかもしれないです(涙)
ComfyUIの導入方法
そこで、AUTOMATIC1111に比べて動作が軽いノードベースの生成ツール「ComfyUI」を試してみることにしました。
結果は大成功で、VRAM6GBのGPUでも問題なく画像を生成させることができたので、今回はそのやり方に関してまとめていきます。
ComfyUIの導入
まずデスクトップ上に任意の名前のフォルダを作成します(私の場合はComfyUIにしました)。
コマンドプロンプトを起動し、下記のコマンドでカレントディレクトリを移動します。
cd ComfyUI
下記のコマンドでComfyUIのリポジトリを複製します。
git clone https://github.com/comfyanonymous/ComfyUI
生成されたフォルダ内(1つ下の階層)にディレクトリを移動します。
cd ComfyUI
仮想環境(venvフォルダ)を作成します。
python -m venv venv
仮想環境を有効化します。
venv\Scripts\activate
Pytorchとxformersを下記のコマンドで導入します。
なおこのコマンドは2023年8月24日時点で公式のGithubページに記載されているものです。今後のPytorchのアップデート状況によって変更があるかもしれません。
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 xformers
無事に導入ができればいいんですが、もしzipfile.BadZipFile: Bad CRC-32 for file ‘torch/lib/torch_cuda.dll’というエラーが表示されたときは、次の2つの方法を試してみて下さい。
- venvフォルダを削除し、もう一度python -m venv venvで仮想環境を構築した後、pip cache purgeコマンドでキャッシュをクリアしてからPytorchをインストールする。
- venvフォルダを削除し、もう一度python -m venv venvで仮想環境を構築した後、pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu117で2.0.0+cu117をインストールする。
導入後、下記のコマンドでモジュールをアップデートします(必須ではないかも)。
python -m pip install --upgrade pip
最後に必要な要件を下記のコマンドでインストールします。
pip install -r requirements.txt
これでComfyUIの導入は完了です。
Could not build wheels for safetensors
私の場合、pip install -r requirements.txtを実行した後、ERROR: Could not build wheels for safetensors, which is required to install pyproject.toml-based projectsというエラーが表示されてComfyUIが起動できませんでした。
この場合は、C:\Users\NAME\Desktop\ComfyUI\ComfyUI内にあるrequirements.txtをメモ帳で開いて、safetensors>=0.3.0をsafetensors==0.3.0に書き換えることでエラーを解消することができました。
モデルを配置する
それでは次に画像生成に使用するSDXLのモデルを準備します。
今回はアニメイラスト系のモデルで有名なCounterfeitXLを使用しました。Civitaiからダウンロード可能で、約6GBのサイズです。
DLしたモデルをC:\Users\NAME\Desktop\ComfyUI\ComfyUI\models\checkpointsに配置してください。
なお、SDXL専用のVAEを利用したい場合はC:\Users\NAME\Desktop\ComfyUI\ComfyUI\models\vaeに、SDXL専用のembeddingsを利用したい場合はC:\Users\NAME\Desktop\ComfyUI\ComfyUI\models\embeddingsに配置してください。
CounterfeitXLの場合は、専用のembeddingsであるnegativexl_dの利用が推奨されています。こちらもCivitaiで入手可能です。
ComfyUIの起動
仮想環境を有効化した後、main.pyを実行することでComfyUIを起動できます。
cd C:\Users\NAME\Desktop\ComfyUI\ComfyUI
venv\Scripts\activate
python main.py
main.py実行後に表示されるURLをCTRLを押しながらクリックすることで、ブラウザ上でComfyUIが実行されます。
ただ毎回このコマンドを打ち込むのが面倒な方は、下記のようなbatファイルを作成してC:\Users\NAME\Desktop\ComfyUI\ComfyUIに保存しましょう(ファイルの名前は何でも構いません)。
メモ帳を新規作成して下記のコマンドを記載した後、拡張子を.batに変更すればOKです。
call .\venv\scripts\activate.bat python main.py
後はこれをダブルクリックするだけで、自動的にComfyUIを実行するURLが表示されます。
ノード情報のコピペ
さてここからがComfyUIで一番面倒なノードの作成なんですが、実はCivitaiのサムネ画像にあるWorkflowをコピペするだけで一瞬で終わります。
今回私が利用したCounterfeitXLの場合、まずはCivitaiの配布ページに移動し、バージョン1.0の横にあるβをクリックします。
サムネ画像の詳細情報を開き、Workflowの欄にあるコピーボタンを押してください。
新たにメモ帳を開いて、コピーした内容をペーストした後保存し、任意の名前を付けて.jsonの拡張子で保存してください。
たとえば「counterfeit_xl.json」などですね。
このjsonファイルをComfyUI画面上にドラッグアンドドロップすれば、Civitaiのサムネ画像生成に使用されたノード情報がそのまま表示されます。
後はポジティブプロンプトとネガティブプロンプトを記入後、右上にあるQueue Promptをクリックすれば画像が生成されます。
細かい調整はノードの数値を変更するだけでいいので、AUTOMATIC1111を使っている方なら迷わないはずです。
生成した画像はC:\Users\NAME\Desktop\ComfyUI\ComfyUI\outputの中に保存されます。
まとめ
以上が、VRAM6GBのGPUでもSDXLを使用して画像を生成できる「ComfyUI」の導入方法でした。
やってみた感想として、2023/8/24時点でなら私はSD1.5系の方が好きですw
AUTOMATIC1111で各種拡張機能も使えますし、何よりこれまでに蓄積された技術・知見が大量にあるため、簡単に可愛い画像を生成できますからね。

SDXLでSD1.5レベルの画像を生成するのには、私自身もう少し研究が必要だと感じました。
とはいえこれからの技術の進歩によっては、SDXLが主流になる可能性もあるので、いままで低VRAMで諦めていた方もComfyUIを使ってみてはいかがでしょうか?
本当か嘘かわかりませんが、VRAM4GBでも動くという情報をRedditで見かけましたよ!
では、ここまで読んでいただきありがとうございました。
コメント
こんにちは。
ControlNetの製作者がAUTOMATIC1111と同じ感覚で使用できるFooocusというWebUIクライアントを開発していて、
私はFooocusを使っています。
この記事を見てComfyUIも使ってみようかと思うのですが、ComfyUIを使うメリットは何かありますか?
こんにちはです!
Comfyuiの1番のよさはvramの消費量が少ないことですね。色々調べてもvram6gbでsdxlを使う事ができそうなのは、これしかありませんでした…
Webuiが1.5.0以降sdxlに対応しているので、本当はこれが使えるのが1番いいんですが、6gbではキツすぎました
Fooocusというのは名前だけ聞いたことがあります!私も今度試してみます!