IP-Adapterは、参照画像をCLIP Visionで特徴量に変換し、テキストpromptと並ぶ「画像の条件」としてmodelに渡す仕組みです。ComfyUIでは、Load Checkpoint → IPAdapter Unified Loader → IPAdapter Advanced → KSamplerの順にMODELをつなぎ、同じseedでweightだけを変えて効き方を確かめます。
情報確認日:2026年8月22日(日本時間)
結論:IP-Adapterは「画像で書いたprompt」として扱う
責任範囲
- IP-Adapterが参照画像の何を使い、何を使わないかを説明する
- ComfyUI_IPAdapter_plusを使った最小接続と、model fileの置き場所を示す
- 同じseedでweightを4段階比較する手順と記録表を用意する
- ControlNet・LoRAとの役割の違いと、重ねるときの順番を整理する
- ControlNetの基本操作とLoRAの導入手順は既存記事に任せる
node名はcustom node「ComfyUI_IPAdapter_plus」(2026年8月時点)のものです。本体同梱ではないため、導入前にrepositoryの状態を確認してください。
IP-Adapterは参照画像の何を見ているのか
IP-Adapterは参照画像を「見本」としてそのまま貼り付けるのではなく、CLIP Vision encoderで画像を特徴量に変換し、その特徴量をattention層に追加で注入します。テキストpromptがCLIP Text Encodeを通って条件になるのと同じ位置づけで、画像もまた条件になる、と捉えると理解しやすくなります。
したがって、参照画像から拾われるのは「被写体の特徴・色味・質感・雰囲気」のような、CLIPが捉えられる意味の情報です。線の位置や関節の座標のような幾何情報は直接渡りません。構図が似て見えても、それは全体の印象が反映された結果で、ピクセル位置が固定されるわけではありません。
| 参照画像の要素 | IP-Adapterで反映されやすいか | 理由 |
|---|---|---|
| 被写体の種類・服装・色 | 反映されやすい | CLIPが意味として捉える情報 |
| 画風・質感・光の雰囲気 | 反映されやすい | style系のweight_typeで強調できる |
| 顔の同一性 | 専用model次第 | PLUS FACEやFaceID系が別途用意されている |
| ポーズの関節位置・輪郭の座標 | 反映されにくい | 幾何情報はControlNetの領域 |
| 文字・ロゴの正確な形 | 反映されにくい | 特徴量に圧縮される段階で失われる |
最小構成で参照画像を入れる
必要なのは、checkpoint、IP-Adapter model、CLIP Vision model、参照画像の4つです。ComfyUI_IPAdapter_plusのREADMEは、IP-Adapter modelをComfyUI/models/ipadapter(無ければ作成)に、CLIP Vision modelをComfyUI/models/clip_visionに置くよう案内しています。extra_model_paths.yamlにipadapterのentryを追加すれば別の場所も指定できます。
依存関係を図で確認する
Load Checkpoint
MODEL ──→ IPAdapter Unified Loader ──→ IPAdapter Advanced ──→ KSampler
(preset を選ぶ) ↑ model / ipadapter
↑ image ← Load Image(参照画像)
CLIP ──→ CLIP Text Encode(positive / negative)──→ KSampler
VAE ──→ VAE Decode
IPAdapter Unified Loaderは、選んだpresetに合わせてIP-Adapter modelとCLIP Vision modelを自動で組み合わせ、modelとipadapterの2本を出力します。presetには「LIGHT – SD1.5 only (low strength)」「STANDARD (medium strength)」「VIT-G (medium strength)」「PLUS (high strength)」「PLUS FACE (portraits)」「FULL FACE – SD1.5 only (portraits stronger)」があります。名前にSD1.5 onlyと付くものをSDXLのcheckpointに使うと、modelが見つからないか効果が出ません。
IPAdapter Advancedは、model・ipadapter・imageを受け取り、weight(既定1.0、-1〜5)、weight_type、combine_embeds、start_at・end_at(0.0〜1.0)、embeds_scalingを持ちます。シンプル版の「IPAdapter」nodeはweight_typeが「standard」「prompt is more important」「style transfer」の3つに絞られるため、比較実験はAdvancedの方が記録しやすくなります。
IPAdapter Advancedの出力MODELをKSamplerにつなぎ、Unified Loaderの手前のMODELを使わないよう注意してください。Load CheckpointのMODELを直接KSamplerにつないだままだと、参照画像は一切反映されません。
接続後は、presetをcheckpointの系統に合わせ、weight 1.0・weight_type linear・start_at 0.0・end_at 1.0のまま1枚生成し、IP-Adapterを通らない同じseedの画像と見比べます。参照画像はPrep Image For ClipVisionで正方形に整えておくと結果が安定しやすくなります。
weightを変えると何が変わるのか
weightは、参照画像の特徴量がattentionに加わる強さです。低いとpromptが主導し、高いと参照画像に寄ります。READMEには「weightを0.8程度まで下げ、stepsを増やすのがたいてい良い」という趣旨の案内がありますが、これは作者の経験則で、modelや画像によって変わります。自分の環境では次の手順で確かめてください。
同じseedで4段階を比較する
固定するもの
- checkpoint・VAE・preset
- prompt・negative prompt
- seed(KSamplerのcontrol_after_generateをfixedにする)
- sampler・scheduler・steps・CFG・width・height
- LoRA・ControlNetは外す
変えるもの
- IPAdapter Advanced の weight だけ(例: 0.3 / 0.6 / 0.9 / 1.2)
seedを固定する方法と、固定しても完全一致しない理由はComfyUIのseedの仕組みで説明しています。比較前にfixedになっているかを必ず確認してください。
| weight | 参照の反映(1〜5) | promptの反映(1〜5) | 破綻・artifact | 判定 |
|---|---|---|---|---|
| 0.3 | ||||
| 0.6 | ||||
| 0.9 | ||||
| 1.2 |
見るべき点は2つの失敗の間です。低すぎれば参照画像がほとんど残らず「効いていない」ように見え、高すぎれば参照画像の構図や背景まで引きずって、promptで指定した要素(季節や服装の変更など)が無視されます。両端が見えたら、その間を0.1刻みで詰めます。
weight_typeとstart_at・end_atの意味
weight_typeは、どの層・どの時間帯にweightを配分するかの形です。「linear」は全層に均一、「ease in」「ease out」は適用の立ち上がり方を変え、「style transfer」「composition」「strong style transfer」「style and composition」は画風と構図のどちらを拾うかに寄せます。SDXL向けにはPrecise Style Transfer / Precise Compositionのnodeも用意されています。
start_at・end_atはdenoisingのどの割合で効かせるかの範囲で、ControlNetのstart・end percentと同じ考え方です。傾向はmodelで差が出るため、weightを決めてから1つずつ動かします。
ControlNet・LoRAとの違い
3つとも「promptだけでは決まらない部分を決める」道具ですが、渡している情報の種類が違います。混同すると、ポーズを固定したいのにIP-Adapterのweightを上げ続ける、というような遠回りになります。
| 項目 | IP-Adapter | ControlNet | LoRA |
|---|---|---|---|
| 渡すもの | 参照画像のCLIP特徴量 | 前処理したpose・edge・depth map | 追加学習した重み |
| 得意なこと | 被写体・画風・雰囲気の参照 | 位置・形・奥行きの固定 | 特定のcharacter・style・概念の再現 |
| 準備 | 画像1枚とmodel | 画像1枚・preprocessor・model | 学習済みfile(自作なら学習) |
| 接続先 | MODEL | CONDITIONING | MODELとCLIP |
| 強さの設定 | weight / weight_type / 範囲 | strength / start・end | strength_model / strength_clip |
ControlNetの種類の選び方と接続はComfyUIでControlNetを使う方法、LoRAの配置と強度比較はComfyUIでLoRAを使う方法で扱っています。「1枚の画像からすぐ試したい」ならIP-Adapter、「同じcharacterを何十枚も安定して出したい」なら学習済みLoRAの方が再現性が高い、という使い分けが出発点です。
複数の制御を重ねる順番
併用でまず守りたいのは「単独で効くことを確かめてから重ねる」順序です。効かない原因が接続ミスか他の制御との打ち消し合いかを、重ねた状態で切り分けるのは難しいからです。
- promptだけで基準画像を作り、seedを固定する
- IP-Adapterだけを足し、weightを決める
- IP-Adapterを外し、ControlNetだけを足してstrengthを決める
- 両方を入れて同じseedで生成し、どちらが負けているかを見る
- 負けている側を上げるのではなく、勝ちすぎている側を下げる
接続は、MODEL系統がLoad Checkpoint → Load LoRA → IPAdapter Unified Loader → IPAdapter Advanced → KSampler、CONDITIONING系統がCLIP Text Encode → Apply ControlNet → KSamplerと経路が分かれます。IP-Adapterはmodel側、ControlNetはconditioning側に入るため、同じ線を奪い合いません。
複数のControlNetを同時に重ねる場合の強度配分と衝突の見つけ方は、別記事で扱います。
参照画像の権利と再現性
IP-Adapterは「画像を1枚入れるだけ」で動く分、その1枚の出どころが結果の公開可否を決めます。確認するのは、参照画像・IP-Adapter model・CLIP Vision model・checkpointの4つそれぞれのlicenseです。
- 参照画像を自分が利用してよいか(自作・許諾済み・利用条件の明記)
- 実在人物の写真なら、本人の同意と用途(特にFaceID系を使う場合)
- IP-Adapter model・CLIP Vision modelのModel Cardに商用条件が書かれているか
- checkpoint側のlicenseと矛盾しないか
- 参照画像のfile名・hash・weight・presetを生成記録に残したか
特定の作家の画風を参照し、その作家名を添えて公開する使い方は、技術的に可能でも権利・信用の問題になります。他人の顔写真を本人の同意なく使うことも同様です。迷う画像は使わないのが、後から説明できる唯一の選択です。
再現性の面では、参照画像を少しトリミングするだけで特徴量が変わり、結果も変わります。切り抜き位置まで記録しないと同じ画像は出せません。また、ComfyUI_IPAdapter_plusの作者はrepositoryを「maintenance only」モードにすると表明しています。本体の更新で動かなくなる可能性があるため、動作するcommitとComfyUI versionの組を記録しておいてください。
よくある質問
参照画像を入れても絵が変わりません
Load CheckpointのMODELを直接KSamplerにつないでいないか確認してください。次に、presetとcheckpointの系統(SD1.5 / SDXL)が合っているか、weightが0になっていないかを見ます。
参照画像に似すぎて、promptの変更が効きません
weightを下げるか、weight_typeを「ease out」や「prompt is more important」(シンプル版)に変えると、promptの比重が戻りやすくなります。画風だけ欲しい場合は「style transfer」を試し、構図まで引きずる場合はend_atを短くします。
FaceID系のpresetが動きません
FaceID系は別途insightfaceのinstallが必要で、IPAdapter Unified Loader FaceIDという別のloaderを使います。依存packageの導入方法は環境(portable / venv / Desktop)で異なるため、repositoryのREADMEで最新の手順を確認してください。
まとめ
IP-Adapterは、参照画像をCLIP特徴量に変えてmodelに渡す「画像で書いたprompt」です。被写体・画風・雰囲気の参照が得意で、位置や形の固定はControlNet、特定対象の高い再現性はLoRAに任せます。
最初はIPAdapter Unified LoaderとIPAdapter Advancedの2つだけで接続し、同じseedでweightを4段階比較して、効かない側と似すぎる側の両端を自分の環境で見つけてください。参照画像のlicenseと、動作したcommitの記録が、公開と再現の両方を守ります。