この記事のポイント
- 参照画像のスタイルを別の画像に転写できる IP-Adapter を Ubuntu 24.04 上の ComfyUI で動かす手順をゼロから解説
- ComfyUI のカスタムノード「ComfyUI-IPAdapter-plus」をインストールするだけで IP-Adapter が使えるようになる
- 依存パッケージ(python3 3.12.3 / pip 24.0 / git 2.43.0)は Ubuntu 24.04 公式 Docker イメージで実測確認済み
- モデルは SD 1.5 用・SDXL 用・FaceID 用と複数あり、用途に合わせて選ぶのが重要
- GPU なしの CPU モードでも ComfyUI は起動できるが、実用的な速度には GPU が必要
IP-Adapter(アイピーアダプター)とは、Tencent AI Lab が 2023 年に発表した画像スタイル転写の手法です。参照画像を1枚渡すだけで、そのスタイルや特徴を Stable Diffusion の生成画像に反映できます。「この写真の雰囲気で別のキャラクターを描いてほしい」「この絵柄で◯◯なシーンを生成したい」といった使い方ができる、プロンプトだけでは指示しにくいスタイルの転写が得意なツールです。
本記事では Ubuntu 24.04 LTS に ComfyUI を入れ、IP-Adapter カスタムノード(cubiq/ComfyUI_IPAdapter_plus)を使って画像スタイル転写を実行するまでの手順を解説します。依存パッケージのバージョン確認は ubuntu:24.04 Docker 公式イメージで 2026-06-21 に実測しています。
注意
実用的な速度で画像を生成するには NVIDIA GPU(CUDA 対応)が必要です。CPU モードでも起動しますが、1 枚あたり数十分かかることがあります。本記事のパッケージ確認は ubuntu:24.04 Docker イメージで実測しています。
動作確認済み環境
パッケージのバージョンは docker run --rm ubuntu:24.04 で実際に確認しました。

上表のパッケージがインストールできることを ubuntu:24.04 公式 Docker イメージで確認しています。Python は 3.12.3、pip は 24.0、git は 2.43.0 がそれぞれ apt で取得できます。libgl1 は OpenCV の共有ライブラリとして必要になるため合わせてインストールします。
IP-Adapter のセットアップ全体フロー

大まかな流れは「依存パッケージ → ComfyUI → IPAdapter-plus ノード → モデルダウンロード → ワークフロー実行」の 5 ステップです。ComfyUI のセットアップが終わっていれば、ステップ 3 以降だけで IP-Adapter を追加できます。
インストール手順
手順1:依存パッケージをインストールする
まず apt でシステムを更新し、ComfyUI の動作に必要なパッケージを入れます。
$ sudo apt install -y python3 python3-pip python3-venv git curl libgl1 wget
Reading package lists… Done
Building dependency tree… Done
Setting up python3 (3.12.3-0ubuntu2.1) …
Setting up python3-pip (24.0+dfsg-1ubuntu1.3) …
Setting up python3-venv (3.12.3-0ubuntu2.1) …
Setting up git (1:2.43.0-1ubuntu7.3) …
Setting up libgl1 (1.7.0-1build1) …
$ python3 –version && python3 -m pip –version && git –version
Python 3.12.3
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
git version 2.43.0

手順2:仮想環境を作成する
ComfyUI の Python 依存はホスト環境に直接入れず、venv で隔離しておくとトラブルが少ないです。ホームディレクトリに comfyui フォルダを作り、その中で作業します。
$ python3 -m venv venv
$ source venv/bin/activate
(venv) ubuntu@vps:~/comfyui$
手順3:ComfyUI をクローンする
Cloning into ‘.’…
remote: Enumerating objects: 12842, done.
Receiving objects: 100% (12842/12842), 36.73 MiB | done.
手順4:PyTorch をインストールする
GPU(CUDA 12.1)がある場合と CPU のみの場合でコマンドが異なります。CUDA バージョンは nvidia-smi で確認してください。
(venv) $ pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu121
# CPU のみの場合
(venv) $ pip install torch torchvision torchaudio
手順5:ComfyUI の依存をインストールして起動確認する
Installing collected packages: diffusers, transformers, accelerate …
# GPU あり
(venv) $ python main.py
# CPU のみ(動作確認用)
(venv) $ python main.py –cpu
Starting server
To see the GUI go to: http://0.0.0.0:8188
ブラウザで http://localhost:8188(リモートVPSなら http://サーバーIP:8188)を開くと、ComfyUI のノードエディタが表示されます。
IP-Adapter カスタムノードのインストール
IP-Adapter を ComfyUI で使うには「ComfyUI-IPAdapter-plus」カスタムノードを追加します。GitHub のスター数は 6,000 超(2026-06-21 時点)で、ComfyUI の IP-Adapter 実装として最も広く使われています。

(venv) $ git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus
Cloning into ‘ComfyUI_IPAdapter_plus’…
remote: Enumerating objects: 523, done.
(venv) $ cd ComfyUI_IPAdapter_plus && pip install -r requirements.txt
Successfully installed insightface onnxruntime …
(venv) $ cd ~/comfyui
インストール後に ComfyUI を再起動すると、ノードリストに「IPAdapter」系のノードが追加されます。カスタムノードのインストールには insightface や onnxruntime が必要で、FaceID 機能に使われます。
IP-Adapter モデルのダウンロード
IP-Adapter のモデルは HuggingFace の h94/IP-Adapter リポジトリで公開されています。モデルは複数あり、ベースモデルと用途で選びます。


最初に試すなら SD 1.5 ベースの ip-adapter_sd15.safetensors がシンプルで扱いやすいです。SDXL を使っているなら ip-adapter_sdxl.safetensors を選んでください。
モデルファイルは models/ipadapter/ ディレクトリに置きます(ディレクトリがなければ作成)。
$ mkdir -p models/ipadapter
# SD 1.5 用 汎用モデル(約 285 MB)をダウンロード
$ wget -P models/ipadapter/ \
https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15.safetensors
ip-adapter_sd15.safetensors … 285M saved.
# CLIP Vision モデルも必要(ComfyUI の models/clip_vision/ に配置)
$ mkdir -p models/clip_vision
$ wget -P models/clip_vision/ \
https://huggingface.co/h94/IP-Adapter/resolve/main/models/image_encoder/model.safetensors
CLIP Vision モデルを忘れずに
IP-Adapter は参照画像を CLIP Vision モデルでエンコードして使います。models/clip_vision/ に CLIP Vision のモデルが入っていないとノードがエラーになります。上記の image_encoder/model.safetensors(約 2.5 GB)を必ず配置してください。
ComfyUI での IP-Adapter ワークフロー
ComfyUI を起動したら、ノードエディタで IP-Adapter ワークフローを組みます。基本的な構成は次の通りです。
基本ワークフローの組み方
右クリック →「Add Node」→「IPAdapter」カテゴリから IPAdapter ノードを追加します。接続するノードは次の 3 つです。
Load Checkpoint → ベースモデル(SD 1.5 や SDXL)
Load IP-Adapter Model → ip-adapter_sd15.safetensors を選択
Load CLIP Vision → CLIP Vision モデルを選択
Load Image → 参照画像(スタイルを転写したい元画像)
IPAdapter → 上記を接続。weight で影響の強さを調整
KSampler → IPAdapter の model 出力を受け取る
weight パラメータの目安
IP-Adapter ノードの weight がスタイル転写の強さを決めます。正直、ここで少し試行錯誤が必要でした。
| weight 値 | 効果 | 向いているケース |
|---|---|---|
| 0.3〜0.5 | プロンプトが主導、参照画像がサブ | 雰囲気だけ転写したい、テキスト指示を活かしたい |
| 0.6〜0.8 | バランス型(推奨) | スタイルと内容の両立 |
| 0.9〜1.0 | 参照画像に強く引っ張られる | 参照画像に忠実に転写したい |
よくあるエラーと解決策
① IPAdapter ノードが「Load IP-Adapter Model」で認識されない
原因と対処
models/ipadapter/ ディレクトリにモデルファイルが見つからない状態です。ファイルパスと名前が正しいか確認してください。ComfyUI 再起動後もリストに出ない場合は、ComfyUI の Manager でカスタムノードの再インストールを試してください。
② ModuleNotFoundError: No module named 'insightface'
ComfyUI-IPAdapter-plus の requirements.txt を適用し忘れているケースです。
(venv) $ pip install -r requirements.txt
Successfully installed insightface-0.7.3 onnxruntime-1.18.0 …
(venv) $ cd ~/comfyui && python main.py
③ CUDA out of memory
VRAM が不足しています。IP-Adapter は通常モデル + IP-Adapter モデル + CLIP Vision を同時にロードするため、8 GB 以上の VRAM が推奨です。SD 1.5 ベースなら 6 GB でも動きますが、SDXL は 10 GB 以上推奨です。
(venv) $ python main.py –lowvram
# さらに節約(8 GB 未満 GPU)
(venv) $ python main.py –novram
まとめ
IP-Adapter on Ubuntu のセットアップ手順を整理すると次の通りです。
- 依存パッケージ(python3 3.12.3 / pip 24.0 / git 2.43.0)を apt でインストール
- ComfyUI をクローンして venv 内で起動
- ComfyUI-IPAdapter-plus を custom_nodes/ に追加
- HuggingFace から IP-Adapter モデル+CLIP Vision モデルをダウンロード
- weight パラメータ 0.6〜0.8 からはじめて調整
IP-Adapter はプロンプトだけでは表現しにくい「雰囲気」や「絵柄」を参照画像から引き継ぐのが強みです。モデルを複数ロードするため VRAM を食いますが、それに見合う表現の幅が得られます。
本格的に画像生成をやるなら、GPU 付きの VPS や RunPod のようなクラウド GPU 環境を検討してみてください。


コメント