Nodes/ComfyUI-VisualArea-Nodes/Visual Area Prompt "Advanced"
ComfyUI Node

Visual Area Prompt "Advanced"

A whole-scene prompt plus per-area prompts, all in one node

By Fuwuffyi·Created 2 years ago·Updated 2 years ago· 76
Visual Area Prompt "Advanced"
  • all_area_conditioning
  • global_conditioning
  • area_conditioning
  • combined_conditioning
merge_globalfalse
image_width1024
image_height1024

The plain VisualAreaPrompt gives you a canvas to draw per-character prompt regions on. The "Advanced" version, from the same Fuwuffyi/ComfyUI-VisualArea-Nodes pack, adds what that node quietly doesn't have: a prompt that applies to the whole image, and a base prompt that gets folded into everything. If you've been wiring three CLIPTextEncodes into the base node and wondering where the "background" prompt goes, this is the one you actually want.

The regional prompting problem it's solving is the old, stable one: conditioning applies globally, so two characters in one image bleed attributes into each other, and the fix is to give each region its own prompt. This node keeps the same draw-your-areas-on-the-node approach as the base version - a canvas on the node body, color-coded rectangles, area_id to pick which region you're editing, x/y/width/height as fractions, conditioning_strength up to 10 - and layers the scene-level prompts on top.

What the extra inputs do

  • global_conditioning - applied to the whole image once. This is where your background or scene description goes. If you're doing a fighter in each half of the frame, "dusty arena, dramatic lighting" lives here.
  • all_area_conditioning - the base conditioning, concatenated onto every other conditioning including the global one (per the author's tooltip). Think of it as the shared quality/style tags: "masterpiece, best quality, highly detailed" that should be present everywhere without you retyping them into each area.
  • merge_global - the toggle that trips people up. Default off: the final output combines the areas with the global prompt as-is. Turn it on and the global conditioning gets concatenated into every area before they're applied, so it's effectively applied once for the whole image and once per region. Note it does not change the combined_conditioning output. Leave it off unless you specifically want the scene prompt inside every region.

Outputs

Same two as the base node: area_conditioning - the combined, region-split result to wire into your sampler's positive - and combined_conditioning, all prompts concatenated with no areas, useful as a negative or a general conditioning. Under the hood it's the same trick: the node reads your area values from the workflow and builds the ConditioningSetAreaPercentage / ConditioningConcat / ConditioningCombine chain for you, so you get the low-level result without the coordinate typing.

Installing it

ComfyUI Manager, search "ComfyUI-VisualArea-Nodes" (or "Visual Area Prompt"), install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/Fuwuffyi/ComfyUI-VisualArea-Nodes.git

Restart ComfyUI. No dependencies, no models, no keys - the whole pack is a JS frontend plus a Python graph builder.

Where people get burned

The image_width and image_height widgets only change the preview canvas, not your output size - set your resolution on Empty Latent Image and just match them here so the layout is accurate. If you enable merge_global and your global prompt contains a subject rather than atmosphere, you'll get that subject ghosted across every region plus the whole image; that's the double-application, not a bug. And the same frontend dependency as the base node applies: areas are stored in the UI workflow data, so headless or API queuing without that metadata will fail. Keep region strengths modest and let the global carry the scene, and this is genuinely the least painful regional prompting setup in ComfyUI.

CategoryRegionalPrompt

Inputs (5)

NameTypeDefaultDescription
all_area_conditioningCONDITIONINGBase conditioning. Will be concatenated to all other conditionings, including global.
global_conditioningCONDITIONINGWill be applied to the whole image once.
merge_globalBOOLEANfalseTurning this on will make it so that the global conditioning will be concatenated to all other conditionings before being applied. (will not affect combined_conditioning output).
image_widthINT102416–16384The width of the canvas. (only affects looks).
image_heightINT102416–16384The height of the canvas. (only affects looks).

Outputs (2)

NameTypeDescription
area_conditioningCONDITIONINGArea conditioning
combined_conditioningCONDITIONINGCombined conditioning