モデル別実行レシピ
Qwen-Image 2.1 GGUFの実行:Unslothの3つの部品をそろえる
Q4が4.2GBなら軽そうに感じます。でも実行画面ではエンコーダーとVAE1も求められます。ダウンロードが間違いなのではなく、生成本体、文章を読むエンコーダー、画像に戻すVAEが別だからです。Unsloth版で合う組み合わせをそろえます。
3つの部品の役割を分けて考える
UnslothのGGUF2は、ノイズから画像を作る生成本体です。文章は別のQwen3-VL-8Bが読み、VAEが圧縮表現を画素に戻します。本体が正常でも、世代の違うエンコーダーやVAEではエラーや壊れた出力につながります。容量の小ささより組み合わせが先です。
2.1ではqwen_image_2.1_vae_bf16.safetensorsを使います。旧Qwen-ImageやWan 2.2のVAEの使い回しではありません。UD-Q4_K_XLエンコーダーもQ4_K_M生成本体とは別ファイルです。モデル名と役割を控えておくと、実行環境を変えるときの重複ダウンロードを防げます。
| 部品 | 取得するファイル | ファイル容量 |
|---|---|---|
| Q4生成本体 | qwen-image-2.1-Q4_K_M.gguf | 4.2GB |
| Q4テキストエンコーダー | Qwen3-VL-8B-Instruct-UD-Q4_K_XL.gguf | 5.15GB |
| 画像復元VAE | qwen_image_2.1_vae_bf16.safetensors | 0.68GB |
Unsloth GGUF構成に必要なファイル
Q4生成本体
- 取得するファイル
- qwen-image-2.1-Q4_K_M.gguf
- ファイル容量
- 4.2GB
Q4テキストエンコーダー
- 取得するファイル
- Qwen3-VL-8B-Instruct-UD-Q4_K_XL.gguf
- ファイル容量
- 5.15GB
画像復元VAE
- 取得するファイル
- qwen_image_2.1_vae_bf16.safetensors
- ファイル容量
- 0.68GB

Q4から始め、余裕があればQ8も比較
Q4_K_Mは生成本体を約4.2GBに抑えます。Q5_K_Mは5.39GB、Q6_Kは6.27GB、Q8_0は7.64GBです。小さい重みは保存容量とメモリを節約しますが、復号して計算するコストは残ります。低ビットなら必ず速く、画質も同じとは限りません。
Unslothは影響の大きい部分を高精度で残しますが、原版と画素単位で同じとは保証しません。プロンプトとseedを固定し、文字や輪郭、模様を見比べましょう。Macの公開記録には1KでQ8がQ4より速い構成もあります。RAM3に余裕があれば、容量だけでQ4に決める必要はありません。
保存庫全体ではなく、使うファイルだけ取得
以下はHugging Faceのhfツール導入済み環境用です。Q4本体、Q4エンコーダー、VAEだけをmodels以下に取得します。認証やライセンス同意が求められる場合は、先に保存庫の画面で手続きします。既存ファイルがあれば、実行コマンドのパスを合わせて再利用できます。
3ファイルの保存容量は合計約10GBです。ダウンロード容量と実行時メモリは別なので、10GBの空きストレージだけでは動作を判断できません。別形式を追加するなら容量にも余裕を。MacではOSや他のアプリも同じ統合メモリを使います。
hf download unsloth/Qwen-Image-2.1-GGUF qwen-image-2.1-Q4_K_M.gguf --local-dir models
hf download unsloth/Qwen3-VL-8B-Instruct-GGUF Qwen3-VL-8B-Instruct-UD-Q4_K_XL.gguf --local-dir models
hf download unsloth/Qwen-Image-2.1-FP8 vae/qwen_image_2.1_vae_bf16.safetensors --local-dir modelsstable-diffusion.cppで最初の1枚を生成
sd-cli4はstable-diffusion.cppの実行ファイルです。2.1対応版とCUDA5またはMetalのビルドを用意し、ここではPATH上にあると仮定します。Windowsではsd-cli.exeの実際のパスを使ってください。modelsがある場所から実行します。外部公開サーバーではなく、ローカル画像を作るコマンドです。
Unslothのsd.cpp例に合わせ、20ステップ、CFG 6.0、Euler、1024角から始めます。全実行環境の最適値ではありません。40ステップのDiffusersやLightX2Vと時間を比較するなら、先に条件をそろえます。まず正常な1枚を確認し、その後一項目ずつ変更しましょう。
sd-cli --diffusion-model models/qwen-image-2.1-Q4_K_M.gguf \
--vae models/vae/qwen_image_2.1_vae_bf16.safetensors \
--llm models/Qwen3-VL-8B-Instruct-UD-Q4_K_XL.gguf \
-p "A green ceramic teapot on an oak table, soft window light, simple cream background" \
--steps 20 --cfg-scale 6.0 --sampling-method euler \
-W 1024 -H 1024 --diffusion-fa -o qwen21-first.png
12〜16GBでは、減らす順番が大切
編集にはビジョン用ファイルも合わせる
文章からの生成は動くのに写真入力で失敗するなら、ビジョンプロジェクターを確認します。sd.cppはGGUFエンコーダーでの編集にmmprojを--llm_visionで渡すよう案内しています。エンコーダーと同じモデル用を選び、配布元によるファイル名の違いにも注意。本体の再取得だけでは解決しません。
参照画像は-rで渡し、複数なら繰り返します。まず1枚の背景変更で経路を確認してください。アルファはPNGやWebPで保存します。ノードやアプリが未対応なら、モデルの能力とアプリの対応を区別し、対応ワークフローや実行環境を選びましょう。

動く構成を記録してから機器を比較
初回には重みの読み込みが混ざります。可能なら同じアプリで2回目以降を3回以上測り中央値を見ます。毎回モデルを読むsd-cli全体の時間と、読み込み済みサーバーでの1枚生成は別です。ログの生成区間を分ければ更新後の比較もしやすくなります。
ファイル名、実行版、エンコーダー、VAE、解像度、ステップ、seed、オフロードの有無を記録します。設定とGPUの限界を切り分けず買い替えると同じ問題が残ります。本稿は導入手順であり、当サイトの実測を主張するものではありません。研究用ライセンスは継続し、商用では別途許可を確認します。
用語の注釈
VAE — Variational Autoencoderの略です。入力を圧縮した潜在表現に変換したり、その表現から出力を復元したりします。
本文に戻るGGUF — モデル情報を格納するファイル形式で、llama.cpp系のツールで広く使われます。形式だけで特定ハードウェアへの対応や速度が保証されるわけではありません。
本文に戻るシステムRAM — プログラムの実行中にデータを一時保存するシステムメモリです。ストレージや独立GPUのVRAMとは異なります。
本文に戻るCLI — Command-Line Interfaceの略です。ターミナルにコマンドを入力してプログラムを操作する方式です。
本文に戻るCUDA — NVIDIA GPUで汎用計算を行うソフトウェア基盤です。CUDA向けのプログラムが他のGPUでそのまま動くとは限りません。
本文に戻るオフロード — 容量が足りないとき、モデルデータの一部をGPUメモリからシステムRAMやストレージへ移して処理する方法です。データ転送が追加されます。
本文に戻るGPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻るCPU — コンピューターで汎用のプログラム命令を実行する中央処理装置です。AI処理ではGPUなど他のプロセッサーと役割を分けることがあります。
本文に戻るSSD — フラッシュメモリを使うデータ保存装置です。電源を切ってもデータが保持され、システムメモリとは役割が異なります。
本文に戻る