Nodes/Nukun_ComfyUI_Nodes/Native Regional Split Conditioning (Nukun)
ComfyUI Node

Native Regional Split Conditioning (Nukun)

Clean split-screen conditioning, no model patching required

By OnekoSL·Created 3 months ago·Updated 11 days ago· 1
Native Regional Split Conditioning (Nukun)
  • conditioning_1
  • conditioning_2
  • conditioning_3
  • conditioning
  • mask_1
  • mask_2
  • mask_3
width1024
height1024
region_count2
orientation
split_10.50
split_20.67
overlap0.00
strength_11.00
strength_21.00
strength_31.00
set_cond_area

The sibling to Native Regional Rect Conditioning (Nukun) - same idea, simpler geometry. Instead of drawing free rectangles, this node slices the frame into two or three horizontal or vertical bands and applies a different conditioning to each. If "split the image down the middle, left side one thing, right side another" is your actual need, this is the least-friction way to get it in ComfyUI core.

Regional conditioning on booru-trained models (Pony v6, Illustrious) is a mature technique, and its usual setup cost is a pile of extra nodes. This node collapses that to one: you give it encoded conditionings, it gives you one combined conditioning for the positive path. And because it's built entirely on ComfyUI's core conditioning metadata rather than a model patch, there's nothing to go stale when your checkpoint changes.

How it works

Feed in conditioning_1 and conditioning_2 (and conditioning_3 for three regions), set an orientation - horizontal splits left/right, vertical splits top/bottom - and the node builds the masks for you. split_1 is where the first boundary goes (0.01–0.99, default 0.5), split_2 where the second goes (default 0.67, only used for three regions). Each region's conditioning gets its own strength_1..3 as mask strength, and everything merges into a single output.

The overlap input is the interesting one. At 0, the bands meet at a hard line. Bump it to 0.1–0.2 and neighboring regions expand across the boundary with a soft blend, which is how you stop a visible seam down the middle of a Pony image. Start with a small overlap and check the mask_1..3 previews - hard cuts look fine in the mask view and terrible in the output, so preview before you queue a batch.

set_cond_area behaves exactly like the rect variant: default conditions the full masked area, mask bounds tightens to the bounding box. For split regions the default usually wins - there's no wasted space in a full-band mask anyway.

Inputs and outputs

Required: conditioning_1, conditioning_2, width, height, region_count (2 or 3), orientation, split_1, split_2, the three strengths, set_cond_area. conditioning_3 is optional and only consumed when region_count is 3 - leave it disconnected at 3 and the node throws a clear error telling you so. Outputs: the combined conditioning plus mask_1..3 for previews.

Installing and using it

Same pack, same install:

cd ComfyUI/custom_nodes
git clone https://github.com/OnekoSL/Nukun_ComfyUI_Nodes.git

then restart, or use ComfyUI Manager (search "Nukun"). No extra dependencies - the "Native" in the name is the guarantee that you're not pulling in DenseDiffusion or a regional patcher. If you want the stronger DenseDiffusion behavior, the pack ships NukunDenseDiffusionSplitApply, which needs comfyui_densediffusion; but try this node first, because for most split-screen work the core approach is enough and it keeps your graph portable.

Common issues

The classic gotcha is orientation intuition: horizontal is a left/right split, vertical is a top/bottom split - the terms describe the boundary line's orientation, and everyone flips them once. And remember region order matters when bands overlap: with overlap enabled, later regions draw on top. If one region is eating its neighbor, reduce overlap or swap the inputs. Three-region mode with the default split_2 at 0.67 gives unequal thirds (50/17/33); that's deliberate, so don't assume it's broken - set the splits where you want them.

CategoryNukun/Conditioning

Inputs (14)

NameTypeDefaultDescription
conditioning_1CONDITIONING
conditioning_2CONDITIONING
widthINT10248–16384
heightINT10248–16384
region_countINT22–3
orientationCOMBO2 options: horizontal, vertical
split_1FLOAT0.500.01–0.99
split_2FLOAT0.670.01–0.99
overlapFLOAT0.000–0.25
strength_1FLOAT1.000–10
strength_2FLOAT1.000–10
strength_3FLOAT1.000–10
set_cond_areaCOMBO2 options: default, mask bounds
conditioning_3optCONDITIONING

Outputs (4)

NameTypeDescription
conditioningCONDITIONING
mask_1MASK
mask_2MASK
mask_3MASK