chx_IPA_region_combine
Stack per-region reference images and prompts before applying IP-Adapter
- context
- combine_params
- image
- mask
- combine_chx
- combine_params
Regional IP-Adapter - different reference images and prompts steering different masked areas of the same canvas - has been a real workflow pattern since the community's earliest "keep two characters from bleeding into each other" attempts back in late 2023. chx_IPA_region_combine is Apt_Preset's builder node for that: you call it once per region (a mask, an image, a bit of prompt text, a couple of weights), it accumulates them, and you chain the output back into itself or forward into chx_IPA_apply_combine when you've defined every region you need.
How it fits together
This node doesn't apply anything by itself - notice there's no model output. It's the accumulation step. Each call takes a context, optionally an existing combine_params bundle from a previous call in the chain, and the ingredients for one region: an image, a mask, positive/negative text (pos/neg), and weights for how strongly the image and the prompt should each pull on that region. It hands back an updated combine_params (typed IPADAPTER_PARAMS) that you either feed into another chx_IPA_region_combine call to add a second region, or pass into chx_IPA_apply_combine, which is the node that actually patches the model and produces conditioning.
That two-node split - one node to define regions one at a time, one node to actually apply the accumulated set - is worth understanding before you start wiring, because a single chx_IPA_region_combine node on its own won't do anything visible to your output.
The inputs and outputs that matter
context(required) - the pack's bundled pipeline wire, same as the rest of thechx_*family.image_weight(default 1, -1 to 3) andprompt_weight(default 1, 0 to 10) - how strongly this region's reference image and this region's text prompt each contribute. These are per-call, so different regions in the same composition can lean harder on the image or harder on the prompt.weight_type- the same IP-Adapter attention-curve enum used throughout the family (linear, ease in/out, style transfer, composition, and so on).start_at/end_at- step range this region's influence applies over.- Optional
combine_params- feed in the output of a previous call to chain regions together; leave it empty on the first call in a chain. - Optional
image,mask- the region's reference picture and where on the canvas it applies. Both optional at the schema level, but you'll generally want both set for a region to mean anything. - Optional
pos(multiline string) /neg- regional prompt text to pair with the image.
Outputs: combine_chx (a RUN_CONTEXT, passed through) and combine_params (IPADAPTER_PARAMS) - the accumulated bundle to chain forward.
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. Needs the same IP-Adapter model and CLIP vision files as the rest of the chx_IPA_* family - this node builds the region set, chx_IPA_apply_combine is what actually needs the loaded adapter.
Common issues
Nothing changes in your output. Expected if this is the only IPA node in your graph - chx_IPA_region_combine only builds the parameter bundle. You need chx_IPA_apply_combine downstream, consuming this node's combine_params output, for anything to actually happen to your model.
Regions bleed into each other. This is the standing complaint with any regional-conditioning technique, not specific to this node: masking looser than intended lets attributes leak across region boundaries. Tighten your masks, and don't be shy about lowering image_weight/prompt_weight per region rather than assuming a hard mask edge alone will fully contain the effect.
You only need one reference image for the whole image. Regional combination is overhead you don't need for a single global reference - use chx_IPA_basic or chx_IPA_adv directly instead, and save chx_IPA_region_combine for when you genuinely have more than one subject or area that needs its own reference and prompt.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| context | RUN_CONTEXT | — | |
| image_weight | FLOAT | 1.00-1–3 | — |
| prompt_weight | FLOAT | 1.000–10 | — |
| weight_type | COMBO | 15 options: linear, ease in, ease out, ease in-out, reverse in-out, weak input, +9 | |
| start_at | FLOAT | 0.0000–1 | — |
| end_at | FLOAT | 1.0000–1 | — |
| combine_paramsopt | IPADAPTER_PARAMS | — | |
| imageopt | IMAGE | — | |
| maskopt | MASK | — | |
| posopt | STRING | — | |
| negopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| combine_chx | RUN_CONTEXT | — |
| combine_params | IPADAPTER_PARAMS | — |