Stable Diffusion・ComfyUI のエラーで困っていませんか?
AI画像生成ツールの代表格である Stable Diffusion と ComfyUI は、高品質な画像を生成できる強力なツールですが、環境構築やモデル管理でつまずくユーザーが非常に多いのが現実です。「インストールしたのに起動しない」「生成ボタンを押しても何も起きない」「突然 CUDA エラーが出るようになった」——こうした問題に直面した経験がある方は少なくないでしょう。
ここではStable Diffusion WebUI(AUTOMATIC1111 / Forge)および ComfyUI で頻発するエラーを症状別に分類し、それぞれの原因分析から具体的な解決手順までをステップバイステップで解説します。Python環境やGPUドライバの問題から、モデルファイルの破損、ノードの互換性エラーまで、実際の現場で遭遇する問題を網羅的にカバーしています。
なお、PythonやPyTorchのインストール段階でつまずいている場合は、先に PyTorch・CUDAインストールエラーの解決方法 をご覧ください。
症状1:インストール・起動時のエラー
よくあるエラーメッセージ
起動スクリプト(webui.sh / run_nvidia.bat / main.py)を実行した際に、以下のようなエラーが表示されるケースです。
ModuleNotFoundError: No module named 'xxx'RuntimeError: CUDA out of memoryOSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'torch.cuda.is_available() returns False
原因の分析
Python バージョンの不一致: Stable Diffusion WebUI は Python 3.10.x を推奨しています。Python 3.12 以降では一部の依存ライブラリがビルドに失敗することがあります。
仮想環境の未作成・破損: venv フォルダが正しく作成されていない場合、グローバルの Python 環境と競合してモジュールが見つからないエラーが発生します。
CUDA ツールキットのバージョン不一致: PyTorch がビルドされた CUDA バージョンと、システムにインストールされた NVIDIA ドライバの CUDA バージョンが一致しない場合、GPU が認識されません。
解決手順
# Step 1: Python バージョンを確認
python --version
# 推奨: Python 3.10.x(3.10.6 〜 3.10.14)
# Step 2: CUDA の認識状態を確認
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}'); print(f'CUDA version: {torch.version.cuda}'); print(f'GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"None\"}')"
# 期待出力:
# CUDA available: True
# CUDA version: 12.4
# GPU: NVIDIA GeForce RTX 4090
# Step 3: venv を再作成(Stable Diffusion WebUI の場合)
cd stable-diffusion-webui
rm -rf venv
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# Step 4: ComfyUI の場合は requirements を再インストール
cd ComfyUI
pip install -r requirements.txt
# GPU版PyTorchを明示的にインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124確認方法
# GPU が正しく認識されているか最終確認
python -c "
import torch
assert torch.cuda.is_available(), 'CUDA is not available!'
print(f'✅ GPU: {torch.cuda.get_device_name(0)}')
print(f'✅ VRAM: {torch.cuda.get_device_properties(0).total_mem / 1024**3:.1f} GB')
print(f'✅ PyTorch: {torch.__version__}')
"
# 期待出力:
# ✅ GPU: NVIDIA GeForce RTX 4090
# ✅ VRAM: 24.0 GB
# ✅ PyTorch: 2.5.1+cu124症状2:VRAM 不足で生成が失敗する
よくあるエラーメッセージ
RuntimeError: CUDA out of memory. Tried to allocate X MiBtorch.cuda.OutOfMemoryError- 画面がフリーズしてPCが無反応になる
原因の分析
SDXL や Flux などの大型モデルは最低 8GB、快適に使うには 12GB 以上の VRAM を必要とします。VRAM 6GB 以下の GPU で高解像度生成を行うと、メモリ確保に失敗してクラッシュします。また、ブラウザや他のアプリケーションが VRAM を消費している場合にも発生します。
解決手順
# 現在のVRAM使用状況を確認
nvidia-smi
# VRAM使用量が上限に近い場合は他のGPUアプリを終了する
# Stable Diffusion WebUI: 低VRAM向け起動オプション
# webui-user.sh(Linux/Mac)または webui-user.bat(Windows)に追記
export COMMANDLINE_ARGS="--medvram-sdxl --xformers"
# 6GB以下の場合:
export COMMANDLINE_ARGS="--lowvram --xformers"
# ComfyUI: 低VRAM向け起動
python main.py --lowvram
# さらに厳しい場合:
python main.py --novram # CPUオフロードを使用(非常に遅い)ComfyUI では、ワークフロー内で不要なノードを削除したり、生成解像度を段階的に上げる「Hires Fix」方式を採用することでもVRAM消費を抑えられます。
# ComfyUI ワークフロー設定例(JSON抜粋)
# 解像度を512x512で生成 → 2倍アップスケール
{
"KSampler": {
"seed": 42,
"steps": 20,
"cfg": 7.0,
"sampler_name": "euler_ancestral",
"denoise": 1.0
},
"EmptyLatentImage": {
"width": 512, # まず小さいサイズで生成
"height": 512,
"batch_size": 1
}
}症状3:モデルファイルの読み込みエラー
よくあるエラーメッセージ
SafetensorError: Error reading file: not a safetensors fileRuntimeError: Error(s) in loading state_dictValueError: Checkpoint has unexpected keys- ComfyUI で
Model file not foundと表示される
原因の分析
ファイルの破損: ダウンロードが途中で中断されると、不完全なファイルが残ります。特に大きなモデルファイル(2GB〜10GB)は通信環境によってダウンロードが切れやすいです。
配置先の間違い: モデルの種類によって配置すべきディレクトリが異なります。チェックポイントを LoRA フォルダに入れてしまう、VAE を models/Stable-diffusion に入れてしまうといった間違いが頻発します。
フォーマットの不一致: .ckpt 形式と .safetensors 形式では読み込み方法が異なります。古い拡張機能が .safetensors に対応していないケースもあります。
解決手順
# Step 1: ファイルの整合性をチェック(ハッシュ比較)
sha256sum models/Stable-diffusion/your-model.safetensors
# Civitai や Hugging Face に記載されている SHA256 と一致するか確認
# Step 2: ファイルサイズの確認
ls -lh models/Stable-diffusion/
# SD 1.5 モデル: 約 2GB / SDXL モデル: 約 6.5GB / Flux: 約 12GB
# 明らかにサイズが小さい場合はダウンロードが不完全
# Step 3: 正しいディレクトリ構成
# Stable Diffusion WebUI
# models/Stable-diffusion/ ← チェックポイント (.safetensors, .ckpt)
# models/Lora/ ← LoRA モデル
# models/VAE/ ← VAE モデル
# extensions/ ← 拡張機能
# ComfyUI
# models/checkpoints/ ← チェックポイント
# models/loras/ ← LoRA
# models/vae/ ← VAE
# models/clip/ ← CLIPモデル
# custom_nodes/ ← カスタムノード
# Step 4: 破損ファイルの再ダウンロード
# Hugging Face CLI を使う場合
pip install huggingface_hub
huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 \
sd_xl_base_1.0.safetensors \
--local-dir models/Stable-diffusion/症状4:ComfyUI のカスタムノードエラー
よくあるエラーメッセージ
Cannot import name 'xxx' from 'comfy.xxx'Node class not found: 'XXXNode'ImportError: cannot import name 'xxx'- ワークフロー読み込み時に赤いノードが表示される
原因の分析
ComfyUI はカスタムノードによる拡張が大きな魅力ですが、ComfyUI 本体のアップデートでカスタムノードの互換性が壊れることがあります。特に ComfyUI のコア API(comfy.model_management、comfy.samplers など)の内部構造が変更された場合、古いカスタムノードが動作しなくなります。
解決手順
# Step 1: ComfyUI Manager でノードの状態を確認
# ComfyUI 起動後、Manager メニューから
# 「Install Missing Custom Nodes」をクリック
# Step 2: 問題のあるカスタムノードを特定
# ComfyUI の起動ログでエラーを確認
python main.py 2>&1 | grep -i "error\|failed\|cannot"
# Step 3: 個別のカスタムノードを更新
cd custom_nodes/ComfyUI-Impact-Pack
git pull origin main
pip install -r requirements.txt
# Step 4: 全カスタムノードを一括更新(ComfyUI Manager 経由)
cd custom_nodes/ComfyUI-Manager
git pull origin main
# ComfyUI を再起動後、Manager → Update All
# Step 5: どうしても解決しない場合はノードを一時退避
cd custom_nodes
mv problematic-node problematic-node.bak
# ComfyUI を再起動して他のノードが正常に動作するか確認ワークフローを共有する際には、使用しているカスタムノードのバージョンも記録しておくと、再現性の問題を防げます。
症状5:生成画像が真っ黒・ノイズだらけになる
よくあるエラーメッセージ
エラーメッセージは表示されないが、出力画像が真っ黒、全面ノイズ、または色がおかしい状態になります。
原因の分析
VAE の未設定・不一致: モデルに適した VAE が設定されていないと、デコード時に画像が正しく復元されません。特に SDXL 系モデルでは専用の VAE が必要です。
NaN(非数値)の発生: 半精度(FP16)計算中に数値がオーバーフローすると NaN が伝播し、画像全体が黒くなります。
CFG スケールが極端: CFG(Classifier-Free Guidance)スケールが高すぎると画像が飽和し、低すぎるとプロンプトが無視されます。
解決手順
# Stable Diffusion WebUI の場合
# Settings → Stable Diffusion → SD VAE を "Automatic" に設定
# または SDXL 用 VAE を明示的に指定:
# sdxl_vae.safetensors を models/VAE/ に配置
# NaN 問題の回避(webui-user.sh に追記)
export COMMANDLINE_ARGS="--no-half-vae --xformers"
# --no-half-vae: VAE を FP32 で実行し NaN を防ぐ
# ComfyUI の場合
# ワークフローで VAEDecode ノードの入力に正しい VAE を接続しているか確認
# CheckpointLoaderSimple の VAE 出力 → VAEDecode の vae 入力CFG スケールの推奨値はモデルによって異なりますが、一般的には以下の範囲が安定します。
- SD 1.5 系: CFG 7〜12
- SDXL 系: CFG 5〜9
- Flux 系: CFG 1〜3.5(Flux は低い CFG が推奨)
予防策:安定した環境を維持するベストプラクティス
エラーを未然に防ぐために、以下の習慣を身につけておくことを強くおすすめします。
1. Python 仮想環境を必ず使う: システムの Python を直接使うと、他のプロジェクトとの依存関係の衝突が起きます。venv または conda で専用の環境を用意しましょう。
2. モデルのハッシュを記録する: ダウンロードしたモデルの SHA256 ハッシュを記録しておけば、破損時にすぐ気づけます。
3. Git でバージョン管理する: ComfyUI のカスタムノードを更新する前に git stash や git tag でロールバックポイントを作っておくと、問題発生時にすぐ戻せます。
4. VRAM の余裕を確認してから生成する: nvidia-smi で現在の VRAM 使用量を確認する習慣をつけましょう。バックグラウンドで動いている不要なプロセスを停止してから生成を開始するだけで、OOM エラーの発生率が大幅に下がります。
5. 定期的に環境をクリーンアップする: 使わなくなったモデルやカスタムノードを整理することで、ディスク容量の確保だけでなく、起動時間の短縮や互換性問題の軽減にもつながります。
AI画像生成の環境構築全般については、LangChain・LlamaIndex のバージョン不一致エラーを完全解決する方法 でも Python パッケージ管理のベストプラクティスを詳しく紹介しています。
全体を振り返って
Stable Diffusion と ComfyUI のエラーは、大きく分けて「環境構築」「VRAM管理」「モデル管理」「ノード互換性」「生成パラメータ」の5つのカテゴリに分類できます。この記事で紹介した診断手順を順番に試せば、ほとんどの問題は自力で解決できるはずです。
最も重要なのは、エラーメッセージを正確に読み取ることです。Python のトレースバックは長くて圧倒されがちですが、最後の数行に原因が凝縮されています。ModuleNotFoundError なら依存関係、CUDA out of memory なら VRAM、SafetensorError ならファイル破損と、メッセージから原因を素早く特定する力が身につけば、新しいエラーにも落ち着いて対処できるようになります。
環境構築の基礎をさらに固めたい方には、Antigravity Lab の インストール・セットアップ トラブルシューティングガイド もあわせてご覧ください。