Anima Regional Conditioning
Turn regional editor data into mask-scoped conditioning
- clip
- regional_prompt_data
- positive
- negative
Regional prompting in ComfyUI usually means a pile of mask nodes, a ConditioningSetMask, and enough wires to wallpaper a room. Anima Regional Conditioning is the pack's way of collapsing that into two sockets: it takes the structured EASYUSE_ANIMA_REGIONAL_PROMPT_DATA from Anima Prompt Studio Regional, encodes everything with your CLIP, and outputs positive and negative CONDITIONING with mask metadata already attached to each mask-scoped entry. KSampler-ready, no mask wiring on your part.
What it does
Three required inputs:
clip- the CLIP used to encode the bundled global and regional prompts.regional_prompt_data- the structured data from Anima Prompt Studio Regional (theregional_prompt_dataoutput of that node).mask_strength- the strength applied to mask-scoped conditioning entries (default 1.0).
Plus set_cond_area, which mirrors ComfyUI's ConditioningSetMask area behavior: mask bounds (default) scopes the conditioning to the mask's bounding area, while default uses ComfyUI's standard behavior. This is a real choice for regional work - mask bounds is what you usually want, because it keeps each zone's conditioning contained.
The output positive is the global prompt plus the mask-scoped regional entries; negative is encoded from the bundled negative prompt. Both go straight into a KSampler's positive/negative inputs.
How the mask attachment works
The node reads the bundled data, encodes the global prompt normally, and for each mask-scoped regional prompt it encodes the field text and attaches the mask metadata to the resulting conditioning entry - which is precisely how the sampler knows to apply that prompt only inside that area. It's the same mechanism as ConditioningSetMask, handled for you from the editor's data instead of requiring you to build each mask-by-hand. mask_strength lets you push or pull how hard each zone's conditioning bites.
The workflow shape
This node is the second half of a two-node pair. Full path:
- Anima Prompt Studio Regional - draw masks, assign prompt fields, get
regional_prompt_data. - Anima Regional Conditioning - feed that plus CLIP, get
positive/negative. - KSampler.
If you're not using Studio Regional, this node has nothing to consume - the EASYUSE_ANIMA_REGIONAL_PROMPT_DATA type comes from that editor. Don't try to hand-feed it strings.
Install and gotchas
Pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/n0va39/ComfyUI-EasyUseAnima
cd ComfyUI-EasyUseAnima && pip install -r requirements.txt
Restart ComfyUI; Manager: "ComfyUI EasyUse Anima".
The honest gotcha is cost and reliability: each mask-scoped entry is an extra conditioning branch, and Anima's per-step cost is already high - more masks, slower passes, and occasionally regions that blend at the seams. set_cond_area at mask bounds usually helps contain bleed. Also, keep the node's IS_CHANGED behavior in mind: it keys on the regional data content, so editing a mask in the editor correctly invalidates the cached conditioning - no stale-cache surprises as long as you edit through the editor, not by hand-editing the JSON.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | CLIP model used to encode the bundled global and regional prompts. | |
| regional_prompt_data | EASYUSE_ANIMA_REGIONAL_PROMPT_DATA | Bundled structured data from Anima Prompt Studio Regional. | |
| mask_strength | FLOAT | 1.000–10 | Strength applied to mask-scoped conditioning entries. |
| set_cond_area | COMBO | mask bounds | mask bounds mirrors ComfyUI ConditioningSetMask area behavior. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | Positive conditioning containing the global prompt plus mask-scoped regional entries. |
| negative | CONDITIONING | Negative conditioning encoded from the bundled negative prompt. |