search
  1. ComfyUIのモデルのエラー|形式の違い・見つからないモデル

ComfyUI

ComfyUIのモデルのエラー|形式の違い・見つからないモデル

編集部 読了 約8分

*2026年9月29日に確認した内容です。ComfyUI の公式ドキュメント「ComfyUI モデル問題のトラブルシューティングと解決方法」と、ComfyUI の公式リポジトリの comfy/cli_args.py によります。画面は、編集部の PC(Windows 11)のポータブル版(Python ごと1つのフォルダに入った Windows 向けの ComfyUI。ComfyUI v0.37.0・フロントエンド 1.52.7・画面の表示は日本語)で撮りました。

ComfyUI のモデル(画像を作るために学習した内容を入れた重みのファイル)のエラーは、公式ドキュメントでは4つに分かれます。種類の違うモデルを組み合わせたときの形が合わないエラー、モデルのファイルが見つからないエラー、ファイルを読み込めないエラー、読み込みが遅い・メモリが足りない問題です。

モデルの形式がノードと合わない

画像を作っている途中、とくに VAE(縮めた数の並びから画像に戻すモデル)で画像に戻すところで、テンソル(モデルが扱う数の並び)の形のエラーが出ることがあります。公式ドキュメントによると、原因は、種類(アーキテクチャ)の違うモデルを組み合わせていることです。公式ドキュメントが挙げるエラーの文は、次のようなものです。

Given groups=1, weight of size [64, 4, 3, 3], expected input[1, 16, 128, 128] to have 4 channels, but got 16 channels instead
The size of tensor a (49) must match the size of tensor b (16) at non-singleton dimension 1
Tensors must have same number of dimensions: got 2 and 3
mat1 and mat2 shapes cannot be multiplied (154x2048 and 768x320)

公式ドキュメントによると、モデルの種類ごとに、潜在空間(モデルが画像を作るときに使う、画像を縮めた数の並び)のチャンネルの数と、使うテキストエンコーダ(プロンプトの文章をモデルが扱える形に変えるモデル)が違います。

モデルの種類潜在空間のチャンネルテキストエンコーダ
SD1.54CLIP ViT-L/14 の1つ
SDXL4CLIP ViT-L/14 と OpenCLIP ViT-bigG/14 の2つ
SD316CLIP-L・OpenCLIP bigG・T5-XXL の3つ
Flux16CLIP-L と T5-XXL の2つ

エラーの文の「expected input[X, Y, Z] to have N channels, but got M channels」の Y は、チャンネルの数です。公式ドキュメントでは、4 なら SD のモデル、16 なら Flux のモデルとしています(上の表のとおり、SD3 も 16 です)。上の例の1つ目の文では、expected input[1, 16, 128, 128] の 16 が、ノードに渡されたチャンネルの数です。公式ドキュメントが挙げる、よくある組み合わせの間違いと直し方は、次のとおりです。

間違い直し方
Flux のチェックポイントに、taesd や sdxl_vae.safetensors の VAE を使っているHugging Face の Flux の公開のページにある ae.safetensors(Flux の VAE)を使う
DualCLIPLoader の2つの欄の両方に t5xxl_fp8_e4m3fn.safetensors を選んでいる片方を t5xxl_fp8_e4m3fn.safetensors、もう片方を clip_l.safetensors にする
SD1.5 用の ControlNet を SDXL のチェックポイントで使っている(その逆も)チェックポイントと同じ種類用の ControlNet を使う。このときのエラーは「mat1 and mat2 shapes cannot be multiplied (154x2048 and 768x320)」

公式ドキュメントは、このエラーを防ぐために、次の3つを勧めています。

モデルが見つからない

ワークフローを開いたときにモデルが足りないと、画面の右上にエラーの数が出て、モデルを読み込むノードに赤い枠が付きます。

拡散モデルを読み込むとCLIPを読み込むのノードに赤い枠が付き、右上に「2件のエラーが見つかりました」と「詳細を表示」が出ているワークフロー
モデルを入れていない状態で、ComfyUI を起動したときに開いた Z-Image-Turbo のワークフロー(v0.37.0・フロントエンド 1.52.7)

「詳細を表示」を押すと、右の「ワークフロー概要」の「エラー」に「不足しているモデル」が出ます。編集部がテンプレートの一覧から Z-Image-Turbo のテンプレートを開き直したときは、次のものが出ました。

モデルを選ぶ欄に、無いファイルの名前が入ったまま実行すると、実行する前の確認で止まります。公式ドキュメントが挙げるエラーの文は、次のとおりです。

Prompt execution failed
Prompt outputs failed validation:
CheckpointLoaderSimple:
- Value not in list: ckpt_name: 'model-name.safetensors' not in []

not in のあとの [ ] の中は、ComfyUI が見つけたモデルのファイルの一覧です。編集部のポータブル版では、[] の中に、models/checkpoints に入れてある2つのファイル(dreamshaper_8.safetensors・v1-5-pruned-emaonly-fp16.safetensors)が並びました。画面では、右の「エラー」に「無効な入力」と出ます。

チェックポイントを読み込むのckpt名がmodel-name.safetensorsで赤い枠が付き、右に「無効な入力」「一部の入力値はこのノードで利用できません。」が出ているところ
ckpt名に、フォルダに無い名前が入ったまま実行したところ(v0.37.0・フロントエンド 1.52.7)

公式ドキュメントの直し方は、次のとおりです。

  1. 要るモデルをダウンロードする。ComfyUI-Manager でダウンロードすることもできる
  2. モデルを、種類ごとの正しいフォルダ(チェックポイントは models/checkpoints/、VAE は models/vae/ など)に置く
  3. ほかのフォルダにモデルを置いているときや、ほかの画像生成のソフトとモデルを共有するときは、extra_model_paths.yaml のファイルに、そのフォルダを書き足す

置いたあとは、モデルライブラリの題の右の「更新」を押すか、ComfyUI を再起動します。種類ごとのフォルダは「ComfyUIのモデルの種類とフォルダ|checkpoints・diffusion_models・text_encoders・vae・loras」の記事で、extra_model_paths.yaml の書き方は「ComfyUIのモデルのダウンロードと置き場所|テンプレートからの取得・別のフォルダの指定」の記事で解説しています。

モデルを読み込めない

モデルのファイルはあるのに読み込めず、「Error while deserializing header」と出るときは、公式ドキュメントでは、次の順で確かめるとしています。

  1. モデルをダウンロードし直す。ダウンロードの途中でファイルが壊れたことがある
  2. ディスクの空きを確かめる。モデルは 2〜15GB 以上のことがある
  3. ファイルの権限(そのファイルを読み書きしてよいかの設定)を確かめる。ComfyUI がモデルのファイルを読めるようにする
  4. 別のモデルで試す。そのモデルだけの問題か、PC 全体の問題かを分ける

モデルが遅い・メモリが足りない

公式ドキュメントでは、モデルの切り替えや、画像を作り始めるときに長く待たされる場合、モデルを HDD から SSD(できれば NVMe の SSD)に移すことを勧めています。

「RuntimeError: CUDA out of memory」(GPU のメモリが足りない)のエラーが出るときは、公式ドキュメントでは、起動の引数(起動のコマンドの後ろに付ける指定)を --lowvram → --novram → --cpu(GPU を使わず CPU で動かす。最後の手段)の順に試すとしています。ポータブル版では、ComfyUI_windows_portable のフォルダで、.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --lowvram のように、起動のコマンドに付け足します。ただし、ComfyUI v0.37.0 の cli_args.py の説明では、--lowvram は、dynamic VRAM(v0.37.0 で、対応している環境では初めから有効になる仕組み)が有効なときは何もしないとしています。

VRAM(GPU のメモリ)を節約する起動の引数とキャッシュの設定は、「ComfyUIのVRAMの節約と速さ|起動オプション・タイル・キャッシュ」の記事で解説します。精度を下げて小さくしたモデルを使う方法は、「ComfyUIのモデルのファイル形式と量子化|safetensors・fp8・GGUF」の記事で解説しています。VRAM の考え方は、「VRAM(ビデオメモリ)とは|GPUが使う専用のメモリと足りないときに起きること」の記事で解説します。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい