IPAdapter Unified Loader
The one-click way to load IP-Adapter
- model
- ipadapter
- model
- ipadapter
This is the node that makes IP-Adapter approachable. Instead of hunting down the right adapter file and the matching CLIP vision encoder and wiring them separately, you pick a preset from a dropdown and it loads both, correctly paired, in one shot. For a beginner it's the difference between "why is nothing working" and "oh, that was easy."
Under the hood it's a convenience layer. IP-Adapter always needs two things loaded: the adapter weights themselves and a CLIP vision model to encode your reference image. The trap for newcomers is that SD1.5 and SDXL want different CLIP vision encoders, and getting that pairing wrong is the classic failure. The Unified Loader knows the mapping, so when you pick PLUS (high strength) it grabs the right adapter and the right encoder together.
Inputs and outputs
You feed it a model (your checkpoint) and choose a preset. The presets are the whole interface:
- LIGHT - SD1.5 only (low strength) - the gentlest touch, SD1.5.
- STANDARD (medium strength) - the sensible default.
- VIT-G (medium strength) - uses the bigG-based adapter.
- PLUS (high strength) - patch-level tokens, tracks the reference much more closely. This is the one most people actually run.
- PLUS FACE (portraits) - encodes a cropped face region.
- FULL FACE - SD1.5 only (portraits stronger) - a heavier face variant.
Note that Plus Face and Full Face here are the CLIP-based face options - they capture a face without using face recognition, which means they stay commercially clean, unlike the FaceID line. Two things come out: model (unchanged, pass-through so you can chain) and ipadapter, which is the loaded bundle you feed into an apply node like IPAdapter Advanced. There's also an optional ipadapter input - that's for daisy-chaining. If you're running two IP-Adapter passes, feed the first loader's ipadapter output into the second loader's ipadapter input and it reuses the already-loaded weights instead of loading them twice.
The one thing that will bite you
The Unified Loader only works if your model files are named exactly as the pack's README specifies, and placed in ComfyUI/models/ipadapter. This is deliberate - that's how it knows which file each preset maps to - but it's also the number-one source of the "IPAdapter model not found" error, which is one of the most-searched IP-Adapter problems out there. If you downloaded ip-adapter-plus_sd15.safetensors and it's sitting in the right folder with the right name, the PLUS preset finds it. If you renamed it or dumped it in checkpoints, it doesn't. When you hit that error, check the filename against the README before anything else.
If you'd rather use arbitrarily-named or community models, that's what the plain IPAdapter Model Loader is for - it lets you pick any file but makes you load CLIP vision yourself.
Installing the pack
ComfyUI Manager is the easy road: Custom Nodes Manager, search "IPAdapter plus", install, restart. Or manually: cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus and restart ComfyUI. Then download the models - the CLIP vision encoders (CLIP-ViT-H-14 for SD1.5, CLIP-ViT-bigG-14 for SDXL) go in ComfyUI/models/clip_vision, and the IP-Adapter models go in ComfyUI/models/ipadapter, named per the README. Upgrade ComfyUI if the node refuses to load; the pack tracks the latest core.
A typical minimal graph is: checkpoint → Unified Loader → IPAdapter Advanced → KSampler. Start there, get one reference transferring, then start turning knobs.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| preset | COMBO | 6 options: 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) | |
| ipadapteropt | IPADAPTER | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| ipadapter | IPADAPTER | — |