【ComfyUI】IPAdapterで画像スタイル転送が失敗する時の原因と解決法(モデル読み込みエラー、ノード設定)

問題の概要:IPAdapterを使ったスタイル転送で発生する典型的なエラー

ComfyUIでIPAdapterを使用し、ある画像のスタイルを別の画像に転送しようとすると、初心者から中級者によく見られるいくつかのエラーが発生します。具体的には、ワークフローを実行した際に以下のようなエラーメッセージが表示され、処理が中断されることがあります。

Error occurred when executing IPAdapterApply:
NotFoundError: The node IPAdapterApply is not found in the current context.

または

Error occurred when executing Load IPAdapter Model:
RuntimeError: Failed to load model weights from path: ComfyUI/models/ipadapter/ip-adapter-plus_sd15.bin
File not found.

または

Error occurred when executing KSampler:
ValueError: The tensors have mismatching shapes. Expected [1, 256, 32, 32], got [1, 768, 32, 32].

これらのエラーは、IPAdapterの基本的な設定が不十分であったり、使用するモデル間の互換性が取れていなかったりすることで発生します。本記事では、これらのエラーの原因を解説し、確実にスタイル転送を成功させるためのステップバイステップの解決方法を提供します。

原因の解説

IPAdapterは、Stable Diffusionの画像に、別の画像のスタイルや構図、特徴を転写する強力なツールです。しかし、その強力さゆえに、適切な設定が必要となります。主なエラーの原因は以下の3つに分類できます。

1. ノードの不足またはカスタムノードの未インストール

ComfyUIのデフォルトインストールにはIPAdapter関連のノードは含まれていません。そのため、「IPAdapterApply」や「Load IPAdapter Model」といった専用ノードを使用するには、まずComfyUI Managerを通じてカスタムノードをインストールする必要があります。これが行われていないと、そもそもノードが見つからずワークフローが構築できません。

2. IPAdapterモデルファイルの未ダウンロードまたはパス誤り

IPAdapterを機能させるには、Stable Diffusionの本体モデル(checkpoint)とは別に、IPAdapter専用のモデル重みファイル(.binまたは.safetensors)が必要です。これらのファイルはHugging Faceなどのリポジトリから手動でダウンロードし、ComfyUIの特定のフォルダ(通常はComfyUI/models/ipadapter/)に配置する必要があります。ファイルが存在しない、またはパスが間違っていると、モデル読み込みエラーが発生します。

3. モデル間の互換性の問題

最も頻繁に遭遇する根本的な問題です。IPAdapterモデル、使用するStable Diffusionのチェックポイント(本体モデル)、そしてVAE(Variational Autoencoder)の3者は互いに互換性がなければなりません。具体的には、以下の組み合わせを一致させる必要があります。

  • モデルタイプ: SD1.5用のIPAdapterモデルにはSD1.5ベースのチェックポイントを、SDXL用のIPAdapterモデルにはSDXLベースのチェックポイントを使用する。
  • クロスアテンション次元: IPAdapterモデルが想定する潜在空間の次元(通常、SD1.5は768、SDXLは1024または2048)と、チェックポイントの次元が一致する。
  • IPAdapterのバリエーション: 「ip-adapter_sd15」と「ip-adapter-plus_sd15」では内部アーキテクチャが異なり、互換性がない。

エラーメッセージ「The tensors have mismatching shapes…」は、まさにこの互換性の問題(例えば、SDXL用IPAdapterをSD1.5モデルに適用しようとした場合)によって引き起こされます。

解決方法:ステップバイステップガイド

以下に、IPAdapterを用いたスタイル転送を正常に動作させるための完全な手順を示します。

ステップ1: 必要なカスタムノードのインストール

ComfyUI Managerがインストールされていることを前提とします。インストールされていない場合は、まずComfyUIのcustom_nodesフォルダ内でgit clone https://github.com/ltdrdata/ComfyUI-Manager.gitを実行してください。

  1. ComfyUIを起動し、ブラウザでインターフェースを開きます。
  2. 画面右下の「Manager」ボタンをクリックします。
  3. 「Install Custom Nodes」タブを開き、検索ボックスに「IPAdapter」と入力します。
  4. 「ComfyUI_IPAdapter_plus」というノードを見つけ、「Install」をクリックします。これには主要なIPAdapter関連ノードが含まれています。
  5. インストール後、ComfyUIを完全に再起動します(ターミナルでCtrl+Cで停止し、再度起動)。

ステップ2: IPAdapterモデルファイルのダウンロードと配置

ここではSD1.5を使用する一般的な例を示します。

  1. Hugging FaceのIP-Adapterリポジトリ(例: https://huggingface.co/h94/IP-Adapter)にアクセスします。
  2. 「Files and versions」タブから、使用したいモデルファイルをダウンロードします。初心者にはip-adapter-plus_sd15.bin(または.safetensors)がおすすめです。
  3. ダウンロードしたファイルを、ComfyUIの以下のフォルダ内に配置します。
    ComfyUI/models/ipadapter/ (フォルダがなければ作成する)

ステップ3: 互換性のあるモデルチェックポイントとVAEの選択

整合性を確保するために、以下の組み合わせを推奨します。

  • 組み合わせA (SD1.5):
    IPAdapterモデル: ip-adapter-plus_sd15.bin
    チェックポイント: v1-5-pruned-emaonly.safetensors (Stable Diffusion 1.5 公式)
    VAE: vae-ft-mse-840000-ema-pruned.safetensors (またはチェックポイントに内蔵されているもの)
  • 組み合わせB (SDXL):
    IPAdapterモデル: ip-adapter-plus_sdxl_vit-h.bin
    チェックポイント: sd_xl_base_1.0.safetensors
    VAE: SDXLチェックポイントに内蔵のVAEを使用。

異なるバージョンを混在させないことが成功の鍵です。

ステップ4: 正しいワークフローの構築

以下は、SD1.5を使用した最小限の有効なワークフローのノード構成と、主要なノードの設定例です。

ワークフロー構成:
1. Load Checkpoint (モデル読み込み) -> [model], [clip], [vae]
2. Load IPAdapter Model -> [ipadapter]
3. Load Image (スタイル元画像) -> [image]
4. CLIP Vision Encode (CLIPVisionLoaderを別途読み込み、画像をエンコード) -> [clip_vision]
5. IPAdapterApply -> 
   [model]を(1)の[model]に接続
   [ipadapter]を(2)の[ipadapter]に接続
   [image]を(3)の[image]に接続
   [clip_vision]を(4)の[clip_vision]に接続
   [weight]は1.0(スタイルの強度)
6. Positive/Negative Prompt (CLIP Text Encode) -> [positive], [negative]
7. KSampler -> 
   [model]を(5)の[model]に接続
   [latent_image]をEmpty Latent Imageなどから接続
   [positive], [negative]を(6)から接続
8. VAE Decode -> [samples]を(7)から、[vae]を(1)から接続
9. Save Image

「Load IPAdapter Model」ノードの設定例:
– ipadapter_file: ip-adapter-plus_sd15.bin (ステップ2で配置したファイル名)
– model: clip_h (SD1.5の場合はこれが標準)

「IPAdapterApply」ノードの設定例:
– weight: 0.5〜1.2 (スタイルの影響度。高すぎると原画像が失われる)
– noise: 0.0 (スタイル転送の安定性を高める)
– start_at: 0.0
– end_at: 1.0 (全ステップでIPAdapterを適用)

コード例・コマンド例

エラー発生時に確認すべき、ターミナル(コマンドプロンプト)での操作例です。

モデルファイルの存在確認(Linux/macOS)

# IPAdapterモデルが正しい場所にあるか確認
ls -la ~/ComfyUI/models/ipadapter/
# 期待する出力例:
# -rw-r--r--  1 user  staff  177M Jan 10 12:34 ip-adapter-plus_sd15.bin

モデルファイルの存在確認(Windows PowerShell)

# IPAdapterモデルが正しい場所にあるか確認
dir C:Users[ユーザー名]ComfyUImodelsipadapter
# 期待する出力例:
# ip-adapter-plus_sd15.bin

ComfyUI起動時のエラーログ確認

ComfyUI起動時にターミナルに表示されるログを確認し、カスタムノードが正しく読み込まれているか、モデルパスに問題がないかをチェックします。

# 正常に読み込まれている場合のログ例:
# Loaded 1 custom node from: ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
# モデル読み込みエラーの場合のログ例:
# WARNING: Model file not found: ComfyUI/models/ipadapter/ip-adapter_sd15.bin

まとめ・補足情報

ComfyUIでIPAdapterを使用する際のエラーは、ほとんどが「準備不足」と「組み合わせミス」から発生します。本ガイドで解説した以下の3点を徹底することで、問題の大部分は解決できます。

  1. 環境構築の完了: カスタムノードのインストールと、IPAdapterモデルファイルの適切な場所への配置。
  2. 互換性の確保: IPAdapterモデル、Stable Diffusionチェックポイント、VAEのバージョン(SD1.5 vs SDXL)を一致させる。
  3. ワークフローの正確性: ノードを正しい順序で接続し、必須の入力(CLIP Visionエンコードなど)を欠かさない。

さらに高度な制御を行う場合は、「IPAdapterApply」ノードのstart_atend_atパラメータを調整し、ノイズ除去プロセスのどのステップでスタイルを注入するかを制御したり、複数のIPAdapterを組み合わせて適用する(例:構図用とスタイル用で別々の画像を使用する)ことも可能です。まずは基本の組み合わせで動作を確認し、その後、パラメータを少しずつ調整して望む効果を得ていくことをお勧めします。IPAdapterは、適切に設定すれば、一貫性のある高品質なスタイル転送を実現する非常に強力なツールです。

この記事は役に立ちましたか?