ComfyUI Node

Stack_IPA

Cubiq's IPAdapter Presets, Bundled Into One Stack Node

By cardenluoĀ·Created 2 years agoĀ·Updated 21 days agoĀ· 309
Stack_IPA
  • image
  • attn_mask
  • ipa_stack
  • ipa_stack
ā—„preset▾►
ā—„weight1.00ā–ŗ
ā—„weight_type▾►
ā—„combine_embeds▾►
ā—„start_at0.000ā–ŗ
ā—„end_at1.000ā–ŗ
ā—„embeds_scaling▾►

If you've used IP-Adapter before, this node will look immediately familiar - the preset names, weight types, and embed-combination options here match cubiq's ComfyUI_IPAdapter_plus node pack almost field for field. Stack_IPA is Apt_Preset's wrapper around that exact functionality, folded into its Stack-and-chain system so you can build up more than one IPAdapter reference before it hits the pack's own sampler node.

Say this part out loud first: architecture matters

IP-Adapter is an SD 1.5 and SDXL tool. Tencent shipped its last variant in January 2024, and it never got a Flux, Qwen, or Z-Image successor in adapter form - the field moved on to in-context editors like Kontext and Qwen-Image-Edit, or to PuLID for face-specific work. If you're running this on anything newer than SDXL, the preset dropdown below is decoration. Two of its six presets even say so directly in their own labels.

Inputs

  • preset (required) - six choices: STANDARD (medium strength), LIGHT - SD1.5 only (low strength), VIT-G (medium strength), PLUS (high strength), PLUS FACE (portraits), FULL FACE - SD1.5 only (portraits stronger). Note these are the CLIP-based presets only - nothing FaceID-flavored is in this list, so if you were hoping for IP-Adapter's stronger face-recognition-based identity lock, this particular node doesn't expose it.
  • weight (default 1, range -1 to 5) - overall adapter strength.
  • weight_type (15 choices: linear, ease in, ease out, ease in-out, reverse in-out, weak input, weak output, weak middle, strong middle, style transfer, composition, strong style transfer, plus 3 more the schema truncates) - controls where in the network's layers the adapter's influence concentrates. linear is the safe, neutral default; the style transfer / composition / strong style transfer end leans into matching the reference's overall look rather than copying it exactly.
  • combine_embeds (concat / add / subtract / average / norm average) - only matters if you're feeding more than one reference image through chained Stack_IPA nodes; decides how their embeddings merge.
  • start_at / end_at (0–1) - like ControlNet's timing controls, when during sampling the adapter is active.
  • embeds_scaling (V only / K+V / K+V w/ C penalty / K+mean(V) w/ C penalty) - an advanced attention-scaling option, carried straight over from cubiq's node.
  • image (optional) - your reference image.
  • attn_mask (optional, MASK) - restrict the adapter's influence to a region.
  • ipa_stack (optional) - chain another Stack_IPA in here to layer multiple references.

Output: ipa_stack, an IPA_STACK object.

Actual numbers to start from

For style transfer on SD 1.5 or SDXL, weight 0.6–0.8 is the community's usual range; drop toward 0.3–0.5 if you're after face similarity rather than overall style, since higher weights start overriding the prompt entirely. And whichever preset you pick, running the adapter across every sampling step measurably softens detail - ending it early (a lower end_at) instead of letting it run the whole way through is the standard fix if your output looks blurrier than the base model normally produces.

Install

ComfyUI Manager: search "ComfyUI-Apt_Preset," install, restart. By hand: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git, then restart. The install.bat script only runs on Windows - on Linux or a cloud box, check what it installs and pip-install those packages yourself, or let ComfyUI Manager's "install missing nodes" flow handle it.

This node also needs the actual IPAdapter model files and a CLIP vision encoder present - Apt_Preset wraps the functionality but doesn't ship those weights. If you don't already have cubiq's IPAdapter models downloaded, grab them from h94/IP-Adapter on HuggingFace first.

Troubleshooting

If nothing seems to happen, check image is actually connected - it's optional in the schema, meaning ComfyUI won't stop you from running the node with no reference attached.

Import failures with this pack are a real, reported thing - a comfyui subreddit thread shows (IMPORT FAILED): ...ComfyUI-Apt_Preset. ComfyUI Manager's "install missing custom nodes," or manually re-cloning the repo and restarting, fixed it for the people who hit it.

CategoryApt_Preset/stack/😺backup

Inputs (10)

NameTypeDefaultDescription
presetCOMBO6 options: STANDARD (medium strength), LIGHT - SD1.5 only (low strength), VIT-G (medium strength), PLUS (high strength), PLUS FACE (portraits), FULL FACE - SD1.5 only (portraits stronger)
weightFLOAT1.00-1–5—
weight_typeCOMBO15 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +9
combine_embedsCOMBO5 options: concat, add, subtract, average, norm average
start_atFLOAT0.0000–1—
end_atFLOAT1.0000–1—
embeds_scalingCOMBO4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty
imageoptIMAGE—
attn_maskoptMASK—
ipa_stackoptIPA_STACK—

Outputs (1)

NameTypeDescription
ipa_stackIPA_STACK—