ComfyUI Node

IPA Switch (JPS)

Pick between five loaded IP-Adapters with one number

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
IPA Switch (JPS)
  • ipa_1
  • ipa_2
  • ipa_3
  • ipa_4
  • ipa_5
  • IPA_out
select

Same "5 to 1" pattern as the rest of this pack's switches, this time for the IPADAPTER type - five optional IP-Adapter inputs, one integer selector, one output. This node routes an already-loaded adapter object, it doesn't load or apply anything itself; the IPADAPTER type comes from cubiq's ComfyUI_IPAdapter_plus, which is the pack that actually loads IP-Adapter models and applies them to your generation. You'll want that installed separately - this switch is genuinely useless without something upstream producing an IPADAPTER object to feed it.

Where this is actually useful

IP-Adapter isn't one model, it's a family - the base variant for loose style transfer, Plus for tighter tracking, Plus Face for a cropped-face-only encoding that stays commercially safe, and the FaceID line for identity via InsightFace embeddings, which is research-only because InsightFace's own models are. If your workflow needs to branch between a couple of these depending on the input - say, Plus Face for a clean single portrait but the base adapter when you're doing looser style transfer from an image that isn't a face at all - load each variant into its own loader node, wire the results into ipa_1 through ipa_5, and drive select to pick which one actually reaches your Apply IPAdapter node. Same trick works for A/B testing weight or preprocessing differences between two loads of the same adapter.

How it works

select is a plain integer, 1-indexed - 1 picks ipa_1, 5 picks ipa_5. Only wire the branches you're actually switching between; unused optional inputs are fine to leave empty as long as select isn't pointed at one of them.

Installing it

The JPS pack itself: ComfyUI Manager, search JPS Custom Nodes for ComfyUI, or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git

Restart ComfyUI, and remove any older copy of the pack first per the README's own instructions. Separately, install ComfyUI_IPAdapter_plus (search IPAdapter Plus in Manager) if you don't already have it - that's where the actual IPADAPTER objects come from. Its README currently states the repository is in maintenance-only mode, which is worth knowing but doesn't mean it's broken; it's still the reference implementation most IP-Adapter workflows are built on.

Where people get tripped up

If IPA_out isn't producing anything, the two usual suspects are select pointing at an empty slot, or forgetting the switch has nothing to route until something upstream (an IPAdapter loader node) actually produces an IPADAPTER object in the first place. And if you're mixing FaceID-line adapters into the branches you're switching between, remember the licensing split follows the adapter, not this switch - the CLIP-based variants (base, Plus, Plus Face) are Apache 2.0, but anything with FaceID in the name inherits InsightFace's non-commercial terms regardless of which numbered slot it's plugged into.

CategoryJPS Nodes/Switches

Inputs (6)

NameTypeDefaultDescription
selectINT
ipa_1optIPADAPTER
ipa_2optIPADAPTER
ipa_3optIPADAPTER
ipa_4optIPADAPTER
ipa_5optIPADAPTER

Outputs (1)

NameTypeDescription
IPA_outIPADAPTER