はじめに
前回の記事では、Mac に ComfyUI を手動でインストールして、SDXL で1枚生成するところまで進めました。今回はその続きで、本来の目的だった Qwen-Image を導入します。
先に結果を書いておくと、M5 Max / 48GB の MacBook Pro で、1枚あたり約 55 秒で生成できました。追加ノードは使わず、ComfyUI の標準機能だけで動いています。
ただし、前回の最後に書いた「予習メモ」とは、やり方が大きく変わりました。また、今回も手順どおりに進めたつもりで1か所詰まっています。
- 前回の予定(旧版の Qwen-Image を GGUF 形式で動かす)はやめて、新版の Qwen-Image 2.1 を公式の bf16 版で動かすことにした
- テンプレートは軽量な int8 版のモデルを指定しているので、bf16 版に切り替える必要がある
- 使わないはずの「プロンプト補正用モデル」の欄が原因で、「無効な入力」エラーが出て実行できなかった
動作環境
| 項目 | 内容 |
|---|---|
| マシン | MacBook Pro(Apple M5 Max / メモリ 48GB) |
| ComfyUI | 前回の記事で手動インストールしたもの(今回の手順で最新版に更新) |
| モデル | Qwen-Image 2.1(bf16 版) |
| 画面表示 | 日本語 |
前回の記事の手順7(SDXL で1枚生成)まで終わっている状態から始めます。ターミナルの呼び名(ComfyUI 用ターミナルと作業用ターミナル)や、ComfyUI の再起動のしかたも、前回の記事と同じです。
前回の予定から変えたこと
旧版ではなく Qwen-Image 2.1 を使う
前回の予習メモは、旧版の Qwen-Image を前提に書いていました。ところが作業の前に調べ直したところ、2026年9月に新版の Qwen-Image 2.1 が公開されていて、ComfyUI も標準で対応していました。
大きな違いは、モデルの本体が小さくなったことです。
| 旧版(Qwen-Image) | 新版(Qwen-Image 2.1) | |
|---|---|---|
| 本体のファイルサイズ(bf16) | 約 41GB | 約 14.2GB |
| テキストエンコーダ | Qwen2.5-VL 7B | Qwen3-VL 8B(bf16 で約 17.5GB) |
| 画像編集 | 別モデル(Qwen-Image-Edit) | 同じモデルで生成と編集の両方に対応 |
ComfyUI 公式のチュートリアルによると、2.1 は 2K(2048×2048)での生成や、背景が透明な画像の出力にも対応しています。
GGUF ではなく公式の bf16 版を使う
前回は「メモリに余裕を持たせるため、GGUF 形式の量子化版を使う」と書きました。旧版は本体だけで約 41GB あり、48GB の Mac にそのまま載せるのは厳しかったためです。
2.1 では事情が変わります。量子化していない bf16 版でも、必要なファイルの合計は約 32GB です。48GB のメモリに収まるので、量子化版を使う理由がなくなりました。その結果、ComfyUI-GGUF のような追加ノードも不要になり、手順がかなり短くなっています。
int8 版ではなく bf16 版を選んだ理由
ComfyUI 公式は、bf16 版のほかに、より軽い int8 版(本体 約 7.3GB、テキストエンコーダ 約 9.4GB)も配布しています。公式テンプレートが最初から指定しているのは、この int8 版です。
それでも bf16 版を選んだのは、int8 版が NVIDIA の GPU を前提にした形式で、Apple Silicon では高速化の恩恵がないという注記を、派生モデルの配布ページで見かけたためです。メモリが足りるなら、Mac では bf16 版のほうが確実だと判断しました。
なお、私は int8 版を試していないので、Mac で実際にどう動くかは確かめていません。
メモリとディスクの目安
| 項目 | 目安 |
|---|---|
| ダウンロードするファイルの合計 | 約 32.4GB |
| ディスクの空き | 40GB 以上あると安心 |
| メモリ | 48GB で動作を確認 |
メモリが 32GB 以下の Mac では、bf16 版の一式(約 32GB)を載せるのは難しいはずです。その場合は int8 版や GGUF 版が候補になりますが、私の環境では試していません。
ライセンスに注意
旧版の Qwen-Image は Apache 2.0 でしたが、2.1 は Qwen Research License で公開されています。生成した画像を仕事などで使うつもりなら、先にライセンスの条文を確認してください。
手順1. ComfyUI を更新する
Qwen-Image 2.1 には、対応が入ったあとの新しい ComfyUI が必要です。前回インストールしてから日が経っている場合は、先に更新します。
ComfyUI が動いている場合は、ComfyUI 用ターミナルで Ctrl + C を押して止めてから、同じターミナルで次を実行します。pip を使うので、先頭に (venv) が付いていることを確認してください。
cd ~/ComfyUI
git pull
pip install -r requirements.txt終わったら、ComfyUI を起動し直します。
python main.py補足:
(venv)が付いていないターミナルで実行するとcommand not found: pipになります。その場合はcd ~/ComfyUIとsource venv/bin/activateを先に実行してください。
手順2. モデルをダウンロードする
2-1. 必要なファイル
必要なファイルは3つです。すべて Comfy-Org/Qwen-Image-2.1(Hugging Face)で配布されています。
| ファイル | 役割 | 置き場所 | サイズ |
|---|---|---|---|
qwen_image_2.1_bf16.safetensors | 本体(拡散モデル) | models/diffusion_models/ | 約 14.2GB |
qwen3vl_8b_bf16.safetensors | テキストエンコーダ | models/text_encoders/ | 約 17.5GB |
qwen_image_2.1_vae_bf16.safetensors | VAE | models/vae/ | 約 0.7GB |
補足: 前回の記事のフォルダ構成では、Qwen-Image の本体の置き場所を
models/unet/と書いていました。公式の配布形式ではmodels/diffusion_models/に置きます。
2-2. ダウンロードする
ComfyUI は起動したままで構いません。作業用ターミナルで実行します。
cd ~/ComfyUI/models
mkdir -p diffusion_models text_encoders vae
curl -L -C - -o diffusion_models/qwen_image_2.1_bf16.safetensors \
https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_bf16.safetensors
curl -L -C - -o text_encoders/qwen3vl_8b_bf16.safetensors \
https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors
curl -L -C - -o vae/qwen_image_2.1_vae_bf16.safetensors \
https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors合計で約 32GB あるので、回線によってはかなり時間がかかります。終わるまで Mac をスリープさせず、ターミナルも閉じないでください。
最初から -C - を付けているので、途中で止まった場合は、同じコマンドをもう一度実行すれば続きから再開します。
2-3. ダウンロードできたか確認する
ls -lh ~/ComfyUI/models/diffusion_models/ ~/ComfyUI/models/text_encoders/ ~/ComfyUI/models/vae/前回の SDXL のときと同じく、ls は単位の数え方が違うため、配布元の表記より少し小さい数字で表示されます。本体が 13G 前後、テキストエンコーダが 16G 前後、VAE が 650M 前後なら完了です。明らかに小さい場合は途中で止まっているので、2-2 のコマンドをもう一度実行してください。
手順3. テンプレートを開く
- ダウンロードしたモデルを認識させるため、ブラウザを再読み込み(⌘ + R)します。
- 画面左上の ComfyUI ロゴをクリックしてメニューを開き、テンプレートを参照を選びます。
- 右上の検索欄に
Qwen-Image-2.1と入力します。 - Qwen Image 2.1:テキストから画像へ をクリックします(一覧では名前が途中で省略されて「Qwen Image 2.1:テキストから画…」と表示されます)。

注意: 隣にある「Qwen Image 2.1:画像編集」は、入力画像が必要な別のテンプレートです。まずは「テキストから画像へ」で動作を確認します。
検索しても出てこない場合は、ComfyUI の更新が足りていません。手順1をやり直してください。
手順4. モデルの指定を bf16 版に切り替える
テンプレートを開くと、Text to Image (Qwen Image 2.1) という大きなノードが1つ配置されます。プロンプトの入力欄から各種設定、モデルの指定まで、このノードにまとまっています。
開いた直後は、ノードが赤い枠で囲まれています。テンプレートが int8 版のモデルを指定していて、そのファイルが手元にないためです。

4-1. 本体とテキストエンコーダを切り替える
ノードの下のほうにある2行を変更します。行をクリックすると候補の一覧が開くので、bf16 版を選びます。
| 行 | テンプレートの初期値 | 変更後 |
|---|---|---|
unet_name | qwen_image_2.1_int8_convrot.safetensors | qwen_image_2.1_bf16.safetensors |
clip_name | qwen3vl_8b_int8_convrot.safetensors | qwen3vl_8b_bf16.safetensors |
vae_name は最初から qwen_image_2.1_vae_bf16.safetensors になっているので、そのままで構いません。
一覧に bf16 版のファイルが出てこないときは、ブラウザを再読み込みしてください。それでも出てこなければ、手順2の置き場所とファイル名を確認します。
4-2. プロンプト補正用モデルの欄も変更する
ここが今回のつまずきポイントでした。 4-1 の2行を変えて実行したところ、まだエラーが残りました。画面右側の「ワークフロー概要」の「問題」タブには、次のように表示されていました。
- 無効な入力: 一部の入力値はこのノードで利用できません。(Text to Image (Qwen Image 2.1) - clip_name_1)
- 不足しているモデル:
qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors(text_encoders · 8.82 GB)

原因は、vae_name の下にある、qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safete… と表示されている行です。これは、短いプロンプトを詳しい文章に書き直す「プロンプト補正」用のモデルの指定です。
プロンプト補正は、ノードの上のほうにある refine_prompt が false のあいだは使われません。それでも ComfyUI は、実行前に、指定されたファイルが存在するかを確認します。手元にないファイル名が残っていたので、そこで止まっていました。
補正用モデル(約 8.8GB)をダウンロードしなくても、次の方法で回避できました。
qwen3.5_9b_…pe_t2i…と表示されている行をクリックします。- 一覧から
qwen3vl_8b_bf16.safetensorsを選びます。
これは、存在確認を通すための仮の指定です。refine_prompt が false のあいだ、この欄のモデルは読み込まれないので、生成結果には影響しません。
注意: この状態で
refine_promptをtrueにすると、補正用ではないモデルが読み込まれてしまい、正しく動きません。プロンプト補正を使いたくなったら、「問題」タブのダウンロードボタンなどで補正用モデルを入手して、この欄を元に戻してください。なお、補正用モデルは int8 版しか配布されておらず、Mac での動作は確かめていません。
手順5. 生成する
ここまでの変更で、赤い枠とエラーが消えます。プロンプトは最初から入っている例文のままで構いません。実行するボタンを押します(⌘ + Enter でも実行できます)。
初回は約 32GB のモデルを読み込むので、生成が始まるまで時間がかかります。進み具合は ComfyUI 用ターミナルのログで確認できます。画像が表示されれば、Qwen-Image 2.1 の導入は完了です。生成した画像は、SDXL のときと同じく ~/ComfyUI/output に保存されます。
私の環境では、1枚あたり 55.21 秒でした。
手順6. プロンプトを変えてみる
テンプレートの例文のままだと海外のモデルのような人物が生成されたので、日本人の女性のポートレートを試しました。
Qwen-Image は、単語を並べるよりも、文章で描写したほうが意図が伝わります。人物、場所、光、撮影の条件まで書き込んだ、次のプロンプトを使いました。ノード上部のテキスト欄の中身を、まるごと置き換えます。
A portrait photograph of a beautiful Japanese woman in her late twenties, standing by a large window in a quiet Tokyo café in the late afternoon. She has shoulder-length straight black hair with soft see-through bangs, dark brown eyes, and a gentle, natural smile. Her makeup is light and natural, and her skin shows realistic texture. She wears a cream-colored knit sweater and small gold earrings. Soft natural window light falls on her face from the side, with a warm, softly blurred café interior in the background. Shot on a full-frame camera with an 85mm lens at f/1.8, shallow depth of field, eye-level angle, upper-body composition, photorealistic, high detail.試すときのポイントは3つあります。
- 縦長にする: ノードの左につながっている Resolution Selector ノードで、縦横比を 3:4 や 2:3 にすると、人物写真らしい構図になります。
- シードを変える: 同じプロンプトでも、
seedが変わると顔立ちや構図が変わります。 - 一部だけ差し替える: 場面や服装の部分を書き換えると、雰囲気を大きく変えられます。
差し替えの例です。
| 雰囲気 | 差し替える内容 |
|---|---|
| 和装 | 場面を in a traditional Kyoto garden in autumn、服装を an elegant indigo kimono with a subtle floral pattern, hair in a neat updo にする |
| 夜の街 | 場面を on a Shibuya street at night, neon signs reflecting on wet pavement、光を lit by colorful neon light にする |
| スタジオ | 場面を in a photo studio against a plain light gray backdrop、光を soft diffused studio lighting にする |
設定のメモ
テンプレートの初期値と、公式チュートリアルに書かれている調整の目安をまとめておきます。調整のほうは、私はまだ試していません。
| 項目 | 初期値 | メモ |
|---|---|---|
steps | 25 | 手や指などの細部が崩れるときは、30〜40 に増やすと改善するとされています。 |
cfg | 1.0 | この値では negative_prompt は効きません。効かせたい場合は上げますが、上げすぎると画質が崩れるとされています。 |
sampler / scheduler | euler / simple | 公式の推奨値です。 |
| 解像度 | 1.0 MP(約 1024×1024) | Resolution Selector ノードで縦横比と画素数を指定します。4.0 MP にすると 2048×2048 になります。 |
困ったときは
| 症状 | 対処 |
|---|---|
| テンプレートを検索しても Qwen Image 2.1 が出てこない | ComfyUI が古い可能性があります。手順1で更新してから、起動し直してください。 |
unet_name や clip_name の一覧に bf16 版が出てこない | ブラウザを再読み込みしてください。出てこなければ、手順 2-1 の置き場所とファイル名を確認します。 |
| 「無効な入力」(clip_name_1)と表示されて実行できない | プロンプト補正用モデルの欄に、手元にないファイルが指定されています。手順 4-2 の方法で、仮の指定に変更してください。 |
refine_prompt を true にしたら動かなくなった | 手順 4-2 の仮の指定のままでは、プロンプト補正は使えません。false に戻すか、補正用モデルをダウンロードして欄を元に戻してください。 |
生成時に MetadataIncompleteBuffer や HeaderTooLarge などモデル読み込みのエラーが出る | モデルファイルが途中までしかダウンロードされていない可能性があります。手順 2-3 でサイズを確認し、足りなければ 2-2 のコマンドをもう一度実行してください。 |
| メモリ不足で落ちる、極端に遅い | ブラウザのタブや重いアプリを閉じてください。それでも厳しい場合は、解像度を下げるか、int8 版や GGUF 版を検討します(私の環境では未検証です)。 |
command not found: pip(または python) | 仮想環境が有効になっていません。cd ~/ComfyUI と source venv/bin/activate を実行してからやり直してください。 |
まとめ
- Qwen-Image 2.1 は本体が小さくなり、48GB の Mac なら量子化していない bf16 版がそのまま動きます。GGUF 用の追加ノードは不要でした。
- 必要なファイルは、本体、テキストエンコーダ、VAE の3つで、合計約 32GB です。
- テンプレート「Qwen Image 2.1:テキストから画像へ」を開いたら、
unet_nameとclip_nameを bf16 版に切り替えます。 - 「無効な入力」エラーが出たら、プロンプト補正用モデルの欄を、手元にあるファイルに変更すれば実行できます。その場合、
refine_promptはfalseのままにします。 - M5 Max / 48GB の環境では、1枚あたり約 55 秒で生成できました。
- ライセンスは Qwen Research License です。利用目的によっては、条文の確認が必要です。
同じモデルで画像編集もできるので、次はそちらを試すつもりです。