IP Adapter Single Settings (JPS)
The older weight-type vocabulary for one adapter pass
- ip_adapter_single_settings
This node and IP Adapter Settings (JPS) are field-for-field the same node, with one difference that actually matters: the ipa_wtype option list. Here it's three choices - original, linear, channel penalty. Its sibling offers nine - linear, ease in, ease out, ease in-out, reverse in-out, weak input/output/middle, strong middle. That's the tell that this is built around an earlier version of cubiq's IPAdapter weight-type vocabulary; a real 2024 r/comfyui thread has someone asking what "channel penalty" even means in practice ("V only / K+V / K+V w/ C penalty / K+mean(V) w/ C penalty... What do they actually mean??"), and the honest answer even in the replies is that it's genuinely confusing without watching a dedicated explainer video. If your workflow - or an example workflow you copied - references this three-option scheme by name, this is the JPS node built for it.
The inputs that matter
ipa_weight(0–3, default 0.5) - overall adapter strength. IP-Adapter's community-standard band runs roughly 0.3–0.8 depending on whether you're chasing style transfer or face similarity.ipa_wtype- original, linear, or channel penalty. "Channel penalty" combines the reference's Key and Value embeddings with a per-channel penalty term rather than applying them uniformly - the mechanism behind why it reads as confusing even to people who use it regularly.ipa_noise(0–1) andipa_start/ipa_stop(0–1) - reference-embedding noise and the step-window the adapter is active for.ipa_crop,ipa_zoom,ipa_offset_x/ipa_offset_y- crop anchor, zoom, and pixel offsets for framing the reference image before encoding.ipa_mask- six options: no mask, mask editor (regular or inverted), or a mask pulled from the red, green, or blue channel of an image.ipa_model- SDXL ViT-H, SDXL Plus ViT-H, or SDXL Plus Face ViT-H.
Output: ip_adapter_single_settings, typed BASIC_PIPE - JPS's reused bundle label (a plain tuple, not Impact Pack's object of the same type name), meant to feed a matching Pipe node.
Installing it
The JPS pack: 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, removing any earlier copy of the pack first. Settings only - you need ComfyUI_IPAdapter_plus installed separately for the actual adapter and apply node, plus the SDXL IP-Adapter weights.
Where people get tripped up
If you're not sure whether "channel penalty" is doing anything useful for your generation, you're in good company - it's one of the more opaque options in IPAdapter_plus's older API even by the community's own account, and most people land on "linear" as the option they actually understand and tune from, reaching for channel penalty only if a workflow they trust already uses it. If you don't specifically need this three-option vocabulary, IP Adapter Settings (JPS) with its newer nine-option ipa_wtype list (ease in/out, weak/strong middle, and so on) is the more descriptive, more current alternative and probably the better default choice for a new workflow.
The wiring gotcha is the same one this node's sibling has: this node's output, ip_adapter_single_settings, is the exact same pipe name IP Adapter Settings (JPS) outputs, and both feed into Pipe nodes that expect an input actually called ip_adapter_settings. BASIC_PIPE isn't type-checked field by field, so it's entirely possible to wire this node into the wrong Pipe node - the connection will look valid and just unpack into the wrong values, since the two Settings nodes' ipa_wtype fields don't mean the same thing. If your weight-type setting doesn't seem to match what you selected, check that this node is actually feeding IP Adapter Single Settings Pipe (JPS) and not its sibling.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| ipa_weight | FLOAT | 0.500–3 | — |
| ipa_wtype | COMBO | 3 options: original, linear, channel penalty | |
| ipa_noise | FLOAT | 0.000–1 | — |
| ipa_start | FLOAT | 0.000–1 | — |
| ipa_stop | FLOAT | 1.000–1 | — |
| ipa_crop | COMBO | 5 options: center, top, bottom, left, right | |
| ipa_zoom | FLOAT | 1.01–5 | — |
| ipa_offset_x | INT | 0-4096–4096 | — |
| ipa_offset_y | INT | 0-4096–4096 | — |
| ipa_mask | COMBO | 6 options: No Mask, Mask Editor, Mask Editor (inverted), Red from Image, Green from Image, Blue from Image | |
| crop_intpol | COMBO | 6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact | |
| sharpening | FLOAT | 0.000–1 | — |
| ipa_model | COMBO | 3 options: SDXL ViT-H, SDXL Plus ViT-H, SDXL Plus Face ViT-H |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ip_adapter_single_settings | BASIC_PIPE | — |