Nodes/RES4LYF/ClownRegionalConditioning3
ComfyUI Node Runs on cloud

ClownRegionalConditioning3

Two masked regions plus an unmasked catch-all

By ClownsharkBatwing·Created 2 years ago·Updated 18 days ago· 1,222
ClownRegionalConditioning3
  • conditioning_A
  • conditioning_B
  • conditioning_unmasked
  • mask_A
  • mask_B
  • weights
  • region_bleeds
  • conditioning
weight1.00
region_bleed0.00
region_bleed_start_step0
weight_schedulerconstant
start_step0
end_step100
mask_typeboolean
edge_width0
invert_maskfalse

This is RES4LYF's regional prompt node with a genuinely useful twist: two masked regions (A and B) plus a separate prompt for everything that isn't masked. That third "unmasked" channel is the difference-maker. With the plain AB node, whatever falls outside your masks is up to the model. Here you get to say explicitly what the background - the leftover, un-painted area - should be.

That solves the most common regional-prompting annoyance: you carefully mask two subjects, and the space around them turns into whatever the base prompt drifts toward. With an unmasked conditioning you can pin it: "A on the left, B on the right, misty forest everywhere else." Regional prompting across RES4LYF supports HiDream, Flux, Chroma, SD3.5, SD1.5, SDXL, AuraFlow, and Wan, and this three-way variant is one of the more practical shapes for real scenes.

How it works

You supply up to two prompt/mask pairs and one extra "unmasked" prompt. The node fuses them into a single CONDITIONING: prompt A inside mask A, prompt B inside mask B, and the unmasked prompt across whatever neither mask covers. It runs through RES4LYF's sampling path, so feed the output to the pack's sampler.

The inputs that matter

  • conditioning_A + mask_A, conditioning_B + mask_B - the two masked regions.
  • conditioning_unmasked - the prompt for everything outside both masks. This is the reason to pick this node over the AB one; leave it off and it behaves closer to a plain two-region setup.
  • weight (default 1) - overall regional strength.
  • mask_type (default boolean) - hard boolean regions or blended gradient ones, with options that include the unmasked area (e.g. boolean_unmasked, gradient_unmasked) so you can control how the catch-all blends against the masked zones.
  • region_bleed (default 0) and edge_width (default 0) - cross-border leakage and seam feathering, same as the rest of the family.

start_step/end_step, weight_scheduler, region_bleed_start_step, invert_mask, and the optional weights/region_bleeds (SIGMAS) handle timing and scheduling. Output is conditioning (CONDITIONING).

Installing RES4LYF

ComfyUI Manager: search RES4LYF, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF
pip install -r RES4LYF/requirements.txt

Portable users: embedded pip under python_embedded/Scripts/. Restart, hard-refresh with F5. No model downloads; base model must be a supported family.

Common issues

The background ignored my unmasked prompt. Make sure conditioning_unmasked is actually wired and that your two masks don't already cover the whole canvas - if there's no unmasked area left, that prompt has nowhere to act. Also check the mask_type: the _unmasked variants are the ones that explicitly fold the catch-all in.

Regions bleeding together. Drop region_bleed to 0 and use a boolean mask_type; confirm masks A and B don't overlap.

Seams too sharp. Switch to a gradient mask_type and add edge_width.

No effect on a stock sampler. Like the whole regional family, it needs RES4LYF's sampling path - run the conditioning through the pack's sampler.

CategoryRES4LYF/conditioning

Inputs (16)

NameTypeDefaultDescription
weightFLOAT1.00-10000–10000
region_bleedFLOAT0.00-10000–10000
region_bleed_start_stepINT00–10000
weight_schedulerCOMBOconstant12 options: constant, simple, sgm_uniform, karras, exponential, ddim_uniform, +6
start_stepINT00–10000
end_stepINT100-1–10000
mask_typeCOMBOboolean14 options: gradient, gradient_A, gradient_B, gradient_unmasked, gradient_AB, gradient_A,unmasked, +8
edge_widthINT00–10000
invert_maskBOOLEANfalse
conditioning_AoptCONDITIONING
conditioning_BoptCONDITIONING
conditioning_unmaskedoptCONDITIONING
mask_AoptMASK
mask_BoptMASK
weightsoptSIGMAS
region_bleedsoptSIGMAS

Outputs (1)

NameTypeDescription
conditioningCONDITIONING