ToIPAdapterPipe (Inspire)
Bundle Your IPAdapter Wires Into One
- ipadapter
- model
- clip_vision
- insightface
- IPADAPTER_PIPE
If you've ever built an IPAdapter workflow with more than one region or more than one sampler, you know the noodle mess: ipadapter, model, sometimes clip_vision, sometimes insightface, all needing to reach three or four different nodes downstream. ToIPAdapterPipe (Inspire) doesn't do anything clever - it just takes those four connections and zips them into a single IPADAPTER_PIPE wire so you're dragging one noodle around your graph instead of four. That's the whole job. It's the same "pipe" idea rgthree's Context nodes use for general workflows and Impact Pack uses for its basic_pipe: collapse a bundle of types into one, unpack it later where you actually need the pieces back.
Where it fits. This node lives in the Util section of Inspire Pack, and its natural home is Inspire's own Regional IPAdapter family - Regional IPAdapter Mask (Inspire), Regional IPAdapter By Color Mask (Inspire), and the "Encoded" variants that take embeds instead of a raw image. Those regional nodes exist to apply IPAdapter's attn_mask trick per-region, and if you're doing that for three or four regions in one workflow, you do not want to rewire the same ipadapter model and checkpoint into every one of them by hand. Pack it once with ToIPAdapterPipe, hand the pipe to each regional node, done. You can also just carry the pipe across your graph and unpack it later with the companion node, FromIPAdapterPipe (Inspire), wherever you need the raw IPADAPTER/MODEL/CLIP_VISION/INSIGHTFACE types back - a lot of native and third-party nodes still expect those individually.
Inputs and outputs. It's deliberately narrow. Required: ipadapter (the IPADAPTER type - this is the loaded adapter itself, coming from a loader node, not from Inspire Pack) and model (your diffusion model, MODEL). Optional: clip_vision and insightface - leave both disconnected for a standard style/appearance IPAdapter, and only wire insightface in if you're running one of the FaceID variants, since those need a face-recognition embedding instead of a plain CLIP one. The single output is IPADAPTER_PIPE, a custom bundled type that only Inspire Pack's own nodes (or FromIPAdapterPipe) know how to read.
One thing worth being upfront about: this node doesn't load anything. It has no model dropdown, no download step. You still need ComfyUI IPAdapter Plus installed and a real IPAdapter loader upstream feeding the ipadapter slot - ToIPAdapterPipe is pure plumbing between that loader and whatever consumes the bundle. Worth knowing going in: cubiq's pack is in maintenance-only mode these days and only covers SD 1.5, SDXL, and Kolors, so this whole chain is an SD1.x/SDXL-era tool - nothing here loads on Flux or newer.
Installing it. Easiest path is ComfyUI Manager: search "ComfyUI Inspire Pack" and install. Manual route is the usual cd ComfyUI/custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack then restart ComfyUI. No model downloads for this node specifically - the weight is all in whatever IPAdapter model you loaded upstream.
Where people trip up. Type-mismatch errors on the ipadapter or model inputs almost always mean you fed it something from the wrong loader - make sure you're using cubiq's actual IPAdapter/Unified loader, not a stray checkpoint loader. If you're chasing FaceID and the insightface input is empty, that's your bug, not Inspire's: FaceID variants need it, plain IPAdapter Plus doesn't. And getting insightface itself installed is a known headache independent of this node entirely - it's a compiled Python package, not a pip-and-done affair, so don't assume the error is coming from Inspire Pack when it's actually your insightface install. Finally, the Inspire Pack README's own changelog has repeatedly bumped minimum-version requirements against IPAdapter Plus and Impact Pack (a March 2024 IPAdapter Plus version bump, various Impact Pack version floors) - if regional IPAdapter nodes suddenly break after an update, updating all three packs together through Manager is the fix before you go hunting for a real bug.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| ipadapter | IPADAPTER | — | |
| model | MODEL | — | |
| clip_visionopt | CLIP_VISION | — | |
| insightfaceopt | INSIGHTFACE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IPADAPTER_PIPE | IPADAPTER_PIPE | — |