Nodes/duckcomfy personal nodes/DuckAttention Couple Regions
ComfyUI Node

DuckAttention Couple Regions

Bundle up to eleven regions into one attention-couple feed

By duckcomfy·Created about a year ago·Updated 10 months ago· 0
DuckAttention Couple Regions
  • region_1
  • region_2
  • region_3
  • region_4
  • region_5
  • region_6
  • region_7
  • region_8
  • region_9
  • region_10
  • region_11
  • regions
  • regions

Duck Attention Couple Regions is the collector node for the pack's attention-couple system. It takes up to eleven individual region objects - the output of DuckAttentionCoupleRegion - and bundles them into a single regions output that DuckAttentionCouple can consume. It also accepts a ready-made list on its regions input and flattens everything together, which matters more than it sounds.

Here's the wrinkle the node exists to handle: DuckAttentionCouple can accept either one region or a list of them, but a single DuckAttentionCoupleRegion node and a whole pile of them look different to the couple node. This node normalizes that - it takes whatever mix of individual regions and region lists you throw at it, flattens the lists, and emits one clean regions list. You wire a stack of region nodes into region_1 through region_11, this bundles them, and the couple node gets a tidy list.

The inputs and output

  • region_1 through region_11 - optional ATTENTION_COUPLE_REGION inputs, one per slot. Wire a region node into each.
  • regions - an optional ATTENTION_COUPLE_REGION input that accepts an already-bundled list.
  • Output regions - the flattened bundle, wired into DuckAttentionCouple.

Eleven slots is a lot, and honestly most attention-couple work lives at two to four regions plus a base prompt. The headroom is there for the occasional twelve-subject composition or for building reusable "scene kits" where a saved bundle gets re-fed.

Why the collector matters

Past a couple of regions, the graph gets unwieldy if each region has to be passed individually. This node turns N region wires into one, which is also how you compose reusable pieces: build a two-region bundle for "two characters" once, and re-wire it into different couple nodes. There's also a practical guardrail hidden in it - if you pass a single region object into the regions input where a list is expected, the node raises an assertion telling you exactly that, rather than silently misbehaving.

Install

Part of duckcomfy personal nodes. ComfyUI Manager → search "duckcomfy personal nodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/duckcomfy/duckcomfy_personal_nodes

Restart ComfyUI. No pip dependencies, no model downloads. The whole attention-couple family here is a GPL-3.0 port of the established cgem156/sd-forge-couple implementation, so the semantics match what people have been using since 2023.

Gotchas

Eleven empty slots is fine - unwired inputs are simply ignored, so you only fill what you need. The failure to watch for is the type mix: regions must be a list, and individual region nodes must go into the numbered slots. Push a single region object into the regions input and you'll get the assertion error; that's the node being helpful, not broken. And note the collector only bundles - the weight balancing, mask coverage, and canvas-size rules from the couple node still apply to everything you feed it.

Categoryduckcomfy

Inputs (12)

NameTypeDefaultDescription
region_1optATTENTION_COUPLE_REGION
region_2optATTENTION_COUPLE_REGION
region_3optATTENTION_COUPLE_REGION
region_4optATTENTION_COUPLE_REGION
region_5optATTENTION_COUPLE_REGION
region_6optATTENTION_COUPLE_REGION
region_7optATTENTION_COUPLE_REGION
region_8optATTENTION_COUPLE_REGION
region_9optATTENTION_COUPLE_REGION
region_10optATTENTION_COUPLE_REGION
region_11optATTENTION_COUPLE_REGION
regionsoptATTENTION_COUPLE_REGION

Outputs (1)

NameTypeDescription
regionsATTENTION_COUPLE_REGION