Nodes/Comfyui-EasyIllustrious/→ Append Region (Illustrious)
ComfyUI Node

→ Append Region (Illustrious)

Chaining regions for masked prompting

By regiellis·Created 12 months ago·Updated 4 months ago· 82
→ Append Region (Illustrious)
  • regions
  • region
  • regions

If you've tried prompting two characters into one Illustrious image - "girl with red hair on the left, girl with blue hair on the right" - you already know what happens: the model smears the attributes together and you get two girls with some blend of both colors. That's not a prompting mistake, it's a structural limit of how CLIP conditioning works - it applies to the whole canvas at once, with no concept of "left" or "right" beyond what leaks through in token order. Regional prompting is the standing fix: split the canvas into masked areas and give each one its own prompt. IllustriousAppendRegion is one piece of plumbing in EasyIllustrious's implementation of that idea, not the whole system - it's worth understanding the chain it belongs to before judging it on its own.

Where it sits in the chain

The full recipe, straight from the pack's own README: start with Empty Regions (Illustrious) to create an empty list. Build each region with Make Region (Illustrious), which pairs a mask with a prompt, a weight, and a start/end time range (0–1, so a region can fade in or out partway through sampling). Then use Append Region - this node - to add that single region onto the growing list. Chain multiple Append Region nodes to build up as many regions as you need; there's no hard cap baked into the node itself. Finally, feed the finished list into Regional Conditioning (Illustrious), which turns it into a CONDITIONING output your sampler already knows how to use.

Append Region itself has no widgets to configure - it's two required typed sockets and one output. regions takes an ILLUSTRIOUS_REGIONS list (start this from Empty Regions, not from thin air), region takes a single ILLUSTRIOUS_REGION (from Make Region), and the output is the updated ILLUSTRIOUS_REGIONS list with your region appended. That's the entire mechanism: it's a list-builder, and its only job is letting you chain an arbitrary number of regions without a node that needs to know in advance how many you're adding.

A couple of things the README is explicit about

You do not need VAE Encode set to "regional" mode to use this system - leave VAE in standard mode unless you're also doing genuine inpainting (a separate, unrelated use of masks). And feather your masks. Hard-edged masks tend to produce a visible seam where one region's style cuts off and another's begins; a soft blur on the mask edge blends the regions during sampling instead of pasting them together after the fact.

Installing it

Via ComfyUI Manager: search "EasyIllustrious," install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/regiellis/ComfyUI-EasyIllustrious, then pip install -r ComfyUI-EasyIllustrious/requirements.txt from inside your ComfyUI environment, then restart.

Where this breaks

Because both sockets are strictly typed, the overwhelming majority of "this doesn't work" cases are wiring order, not the node itself. The most common mistake is starting the chain from something other than Empty Regions - if the very first regions input isn't tracing back to an actual empty-list node, you'll get a type mismatch rather than a silent failure, which at least makes it easy to spot. The second most common one is forgetting that Regional Conditioning needs the final ILLUSTRIOUS_REGIONS output at the end of the whole Append Region chain, not an intermediate one partway through - if you're missing a region in the render, trace the chain forward from Empty Regions and check nothing got wired to a dead-end copy of the list.

CategoryEasy Illustrious / Conditioning

Inputs (2)

NameTypeDefaultDescription
regionsILLUSTRIOUS_REGIONS
regionILLUSTRIOUS_REGION

Outputs (1)

NameTypeDescription
regionsILLUSTRIOUS_REGIONS