Nodes/ComfyUI Prepack/đź’€Prepack Cond Area
ComfyUI Node

đź’€Prepack Cond Area

Five regional prompts in one node — say goodbye to ConditioningSetArea spaghetti

By S4MUEL-404·Created 12 months ago·Updated 10 months ago· 2
đź’€Prepack Cond Area
  • conditioning_1
  • conditioning_2
  • conditioning_3
  • conditioning_4
  • conditioning_5
  • conditioning
â—„index1â–ş
â—„width1.00â–ş
â—„height1.00â–ş
â—„x0.00â–ş
â—„y0.00â–ş
â—„strength1.00â–ş

Regional prompting is the classic way to get "a forest on the left, a castle on the right" without hoping the model figures out composition on its own: you encode separate prompts and pin each one to a region of the latent. The standard ComfyUI recipe for that is a pile of ConditioningSetArea nodes feeding one ConditioningCombine, and it's ugly - every region means a new node, and every node means wires crossing the whole canvas. The đź’€Prepack Cond Area node collapses the entire thing into a single box.

It's one of the reasons the broader ComfyUI ecosystem keeps moving toward fewer, denser nodes for this kind of spatial control. ControlNet does the heavy lifting for where things go when you have an image to work from; regional conditioning is the no-image version, and this node is the ergonomic way to build it.

How it works

The node accepts up to five CONDITIONING inputs, plus an index that picks which one to modify. All the area geometry lives on the node itself as normalized 0.0–1.0 values - width, height, x, y are fractions of the latent, not pixels, which is why the defaults are 1.0 for size and 0.0 for position. There's also a strength that scales how hard the selected conditioning pushes inside its region (default 1.0, range 0–10).

Under the hood it does exactly what you'd have built by hand: applies ConditioningSetArea-style area settings to the input selected by index, and passes every other connected input through unchanged, then combines them all into one conditioning output. The values are the ones you'd enter on a ConditioningSetAreaPercentage node - the source is explicit that this is a front-end for that behavior, not a new sampling technique. Set index to 1 and adjust the geometry, and conditioning 1 gets pinned to that rectangle while 2–5 ride along untouched.

The inputs that matter:

  • conditioning_1 (required) - your primary/background prompt.
  • conditioning_2 … conditioning_5 (optional) - the regional prompts.
  • index - which one gets the area applied. Everything else just combines in.
  • width, height, x, y, strength - the region itself.

Output is a single conditioning wire straight into a KSampler's positive input.

The two gotchas

The area values are relative. A width of 0.5 and x of 0.5 puts the region in the right half of the image - if you were expecting pixel coordinates from the pixel-based ConditioningSetArea node, that's where things get confusing. Same settings behave differently depending on the latent's dimensions, so keep everything proportional.

The other trap: the region only constrains where the prompt is strongest - it doesn't crop or mask the final render. Your "castle on the right" conditioning will still leak influence across the whole image, just weaker. That's how regional conditioning works in every model family, and it's the reason people reach for it as a composition lever rather than a hard guarantee.

Installing it

It's part of the Prepack pack, so it installs with the whole thing:

cd ComfyUI/custom_nodes
git clone https://github.com/S4MUEL-404/ComfyUI-Prepack.git
pip install -r ComfyUI-Prepack/requirements.txt

Or just search "Prepack" in ComfyUI Manager. Dependencies are PyTorch, NumPy, and Pillow - already present in a stock install. Restart, then find it under đź’€Prepack. No models to download, no extra config.

If you connect a fifth conditioning and nothing appears to change, double-check index: it's a 1–5 selector, and whatever input you're editing is the one at that number, not necessarily the first wire you plugged in.

Categoryđź’€Prepack

Inputs (11)

NameTypeDefaultDescription
conditioning_1CONDITIONINGPrimary conditioning input
indexINT11–5Select which conditioning to modify (1-5)
widthFLOAT1.000–1Width of the conditioning area (0.0 to 1.0)
heightFLOAT1.000–1Height of the conditioning area (0.0 to 1.0)
xFLOAT0.000–1X position of the conditioning area (0.0 to 1.0)
yFLOAT0.000–1Y position of the conditioning area (0.0 to 1.0)
strengthFLOAT1.000–10Strength of the conditioning effect
conditioning_2optCONDITIONINGOptional second conditioning
conditioning_3optCONDITIONINGOptional third conditioning
conditioning_4optCONDITIONINGOptional fourth conditioning
conditioning_5optCONDITIONINGOptional fifth conditioning

Outputs (1)

NameTypeDescription
conditioningCONDITIONINGCombined conditioning with area settings applied to selected index