Conditioning Pipeline (Set Area)
Tell each character where to stand — regional conditioning without the pixel math
- conditioning
- pipeline_in
- pipeline_out
This is the per-region building block of the pack's area-conditioning pipeline: one instance per subject, each carving out a rectangle on the canvas and pinning a dedicated prompt to it. If you've ever typed "two people, different outfits" into one prompt box and watched their wardrobes merge into one cursed ensemble, this is the node you were missing. It's the friendlier cousin of ComfyUI's built-in Conditioning (Set Area) node - the one people complain about because its coordinates "do nothing" (that complaint is a recurring classic, and it's almost always a units problem, see below).
How it works
Coordinates here are normalized 0.0–1.0, not pixels. x=0, y=0 is the top-left corner, width=1, height=1 is the whole canvas. Under the hood the node validates your numbers - x + width and y + height may not exceed 1, and it throws a clear error if they do - then appends an entry to the pipeline: the conditioning, the box, and a strength. No pipeline connected yet? It starts a fresh one. That's the whole trick; the pipeline is just an ordered list of area entries, and you build it by chaining this node into itself.
The inputs that matter
conditioning- the prompt for this area only, already encoded. The author's example workflow pairs each area with a nativeCreate Hook Lora, so character A gets her LoRA and her prompt, then feeds the result into a Set Area node. Lora-bleeding between areas is exactly what this stack exists to prevent.width,height,x,y- normalized floats. This is where beginners get burned: feed it pixel values and your "width 512" area becomes the entire image (width 1.0), which is why nothing ever moves.strength- default1.0, range 0–10. Lower it and the area's prompt influences the result less - which usually improves overall image quality but cuts your control authority in that region. The author's tested baseline is area strengths around0.75, and a warning that maxing everything (area + global + LoRA strengths) is a recipe for degraded output.pipeline_in- optional. Connect the previous area'spipeline_outhere to keep appending in order.
Output
Just one: pipeline_out (CONDITIONING_PIPELINE). Chain it into the next Set Area, and the final one into Conditioning Pipeline (Combine), which is what actually turns the list into usable conditioning. Forgetting that last hop is the most common mistake in the whole flow - the pipeline just sits there, built but never merged.
Install
Ships with andreszs/ComfyUI-Lora-Pipeline. ComfyUI Manager → search "LoRA Pipeline", or:
cd ComfyUI/custom_nodes
git clone https://github.com/andreszs/ComfyUI-Lora-Pipeline
Then restart ComfyUI; nodes appear under LoRA Pipeline → Conditioning. Needs Python 3.10+ and nothing else for this node - no model downloads, no heavy deps. The pack itself is very new (v1.1.2, mid-2026), so don't expect a big support community yet; the README is your best friend.
Common issues
- Pixel coordinates instead of normalized. The #1 cause of "my areas do nothing". Remember: everything is 0–1.
width/heightnear 0. A vanishingly thin area conditions almost nothing. Give it real estate.- Bounds error at execution. That's the validation working -
x + widthory + heightwent past 1.0. Shrink the box. - Not wired into Combine. Areas built, pipeline chained, nothing happens - check you passed the last
pipeline_outto Conditioning Pipeline (Combine) and then into the sampler.
A word on expectations: regional conditioning only separates what the model agrees to separate. On stubborn models you'll still see bleeding between adjacent areas, and the author is upfront that ControlNet + OpenPose (his companion comfyui-openpose-studio pack) is strongly recommended to hold composition together. This node is the text-side fix; pair it with a structure-side fix for multi-character reliability.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| width | FLOAT | 1.000–1 | — |
| height | FLOAT | 1.000–1 | — |
| x | FLOAT | 0.000–1 | — |
| y | FLOAT | 0.000–1 | — |
| strength | FLOAT | 1.000–10 | — |
| pipeline_inopt | CONDITIONING_PIPELINE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipeline_out | CONDITIONING_PIPELINE | — |