Nodes/ComfyUI-Apt_Preset/chx_IPA_apply_combine
ComfyUI Node

chx_IPA_apply_combine

The node that actually applies your stacked regional IP-Adapter setup

By cardenluo·Created 2 years ago·Updated 18 days ago· 309
chx_IPA_apply_combine
  • context
  • ipadapter_params
  • image_negative
  • context
  • model
  • combine_pos
preset
combine_embeds
embeds_scaling

If you've been through chx_IPA_region_combine, you've built up an IPADAPTER_PARAMS bundle describing one or more regions - reference image, mask, prompt, weights. chx_IPA_apply_combine is where that bundle stops being data and starts actually patching your model. It takes the accumulated regions, applies a single preset across all of them, and hands back a patched model plus a merged conditioning output.

What it does with the bundle

Unlike the individual chx_IPA_* nodes that each apply one reference to a whole image, this node's job is specifically to take a set of regions and turn them into one coherent generation pass. Note what it outputs beyond the patched model: a combine_pos conditioning port. That's the tell that this node is doing more than plain image conditioning - it's merging the per-region prompt text (pos/neg, set back in chx_IPA_region_combine) with the image conditioning into a single positive conditioning output, which is what makes a regional setup with per-area prompts actually work as one sampling pass instead of needing separate conditioning nodes stitched together by hand.

The inputs and outputs that matter

  • context (required) - the pack's pipeline wire.
  • preset - the standard six-option IP-Adapter preset list (STANDARD, LIGHT, VIT-G, PLUS, PLUS FACE, FULL FACE), applied uniformly across every region in the bundle. If different regions genuinely need different presets, that's outside what this node offers - it's one preset for the whole combined set.
  • combine_embeds / embeds_scaling - the same embedding-combination controls used throughout the chx_IPA_* family, here governing how the per-region embeddings you built get merged together.
  • Optional ipadapter_params - the accumulated bundle from one or more chx_IPA_region_combine calls. Without this connected, there's nothing for the node to apply.
  • Optional image_negative - a global negative reference on top of whatever per-region negatives you set upstream.

Outputs: context (passed through), model (patched with the regional IP-Adapter setup), and combine_pos (CONDITIONING) - wire this into your sampler's positive conditioning slot alongside the patched model.

Installing it

Through ComfyUI Manager: search ComfyUI-Apt_Preset, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git

then install.bat on Windows for dependencies, restart. Same IP-Adapter model file requirements as the rest of the family - the actual .bin/.safetensors adapter and matching CLIP vision encoder need to be present for this preset system to have anything to load.

Common issues

ipadapter_params is empty and the node does nothing meaningful. This is the node that consumes what chx_IPA_region_combine built - if you haven't run at least one region-combine call upstream, there's nothing here for chx_IPA_apply_combine to apply. Check that chain first before assuming this node is misbehaving.

One region looks right, the others don't. Remember the preset here applies globally to the whole combined bundle - if one region was designed assuming PLUS and another assuming PLUS FACE, you can't have both simultaneously through this node. Standardize the preset across your regions when you build them in chx_IPA_region_combine, or split into separate generation passes if the regions genuinely need different presets.

Forgot to wire combine_pos into the sampler. It's easy to grab model and skip the conditioning output since most single-reference IPA nodes don't produce one. For the regional setup to actually reflect the per-region prompts you set earlier, combine_pos needs to go into your sampler's positive conditioning input - plugging in the patched model alone and reusing an old CLIP Text Encode node will silently drop the per-region prompt merging this node exists to do.

CategoryApt_Preset/chx_tool/chx_IPA

Inputs (6)

NameTypeDefaultDescription
contextRUN_CONTEXT
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)
combine_embedsCOMBO5 options: concat, add, subtract, average, norm average
embeds_scalingCOMBO4 options: V only, K+V, K+V w/ C penalty, K+mean(V) w/ C penalty
ipadapter_paramsoptIPADAPTER_PARAMS
image_negativeoptIMAGE

Outputs (3)

NameTypeDescription
contextRUN_CONTEXT
modelMODEL
combine_posCONDITIONING