Omost Layout Cond (ComfyUI-Area)
Regional prompting, the ComfyUI-native way
- canvas_conds
- clip
- positive
- CONDITIONING
- MASK
This is the node that actually turns an Omost layout into diffusion conditions, and it's the one you'll reach for first because it needs nothing beyond what a stock ComfyUI already has. Omost Layout Cond (ComfyUI-Area) implements what lllyasviel's Omost README calls Method 2 - attention decomposition via ComfyUI's built-in area conditioning. No extra pack, no extra models, just a CLIP and the canvas conditions.
Inputs that matter:
canvas_conds(OMOST_CANVAS_CONDITIONING) - the layout from Omost LLM Chat, the JSON loader, or the Python loader. The first entry is the global description, the rest are regions.clip- your model's CLIP, same one the positive prompt encoding uses.global_strength(default 0.2) - how strongly the global description conditions the whole canvas.region_strength(default 0.8) - how strongly each region's own prompt conditions its box.overlap_method-average(default) blends overlapping regions;overlaylets the top layer overwrite what's beneath.positive(optional) - wire in your own hand-written conditioning and it gets appended to the output, so Omost and your prompt can coexist.
Mechanically, for each region it encodes the prompts with the greedy-bag token batching (the smart encoding from the original repo that dodges CLIP's truncation), then applies a binary mask through ComfyUI's ConditioningSetMask using the region's rect in the 90×90 canvas. The global condition gets global_strength; regions get region_strength.
Two outputs. CONDITIONING goes into your KSampler's positive input. MASK is a stacked tensor of every region mask - the author added it "in case it's needed for debugging or the user might want to apply extra condition such as ControlNet/IPAdapter to specified region," so it's there for the advanced wiring where you want a ControlNet to fire only inside one box.
Where people get burned: the regional-prompting tradeoff that never goes away. Masking cross-attention sets loose bounds - attention is masked, but nothing forces the model to actually activate inside the box. It's the same tradeoff every regional-prompting guide lands on: hard masks through the whole sample give you the collaged, seamed look. ComfyUI-Area is the cheap built-in option and it leaks a bit around region edges; that's what the strength knobs are for. If a region feels weak, raise region_strength before you go hunting for another backend. If the output looks like cut-out stickers, back global_strength down. This is the node to start with - the Dense Diffusion variant is stronger at holding subjects in their boxes but needs a companion pack, whereas this one just works.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| canvas_conds | OMOST_CANVAS_CONDITIONING | — | |
| clip | CLIP | — | |
| global_strength | FLOAT | 0.200–1 | — |
| region_strength | FLOAT | 0.800–1 | — |
| overlap_method | COMBO | average | 2 options: overlay, average |
| positiveopt | CONDITIONING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |
| MASK | MASK | — |