Nodes/comfyui_LLM_party/omost Decoder
ComfyUI Node

omost Decoder

Turn an LLM's region layout into real conditioning and a mask

By heshengtao·Created 2 years ago·Updated 7 days ago· 2,321
omost Decoder
  • clip
  • conditioning
  • mask
text
modegreedy
strength1.00

Omost is lllyasviel's idea (the same person behind ControlNet, Fooocus, Forge, and IC-Light) for getting an LLM to plan a scene the way a compositor would: not one flat prompt, but a list of regions, each with its own color, position, and description, that get rendered together respecting that layout. comfyui_LLM_party credits Omost directly in its own README as one of two projects it borrows nodes from, and the pack's recommended local model for this exact purpose, lllyasviel/omost-llama-3-8b-4bits, is described there as a "rich prompt model." omost Decoder is the node that turns that region layout into something ComfyUI can actually sample with.

How it works

You give it a clip model and text - the Omost-format region description, not a normal freeform prompt. That text is what this pack's Load Persona node's omost persona, or the pack's omost json2py node (which converts an LLM's JSON layout into Omost's own text format), is built to produce - this node is the step after either of those, the one that actually parses that structured text and turns it into conditioning.

The inputs and outputs that matter

  • clip - the same CLIP model your checkpoint loader already provides.
  • text - the Omost-format region layout to decode. Feed it plain freeform prose instead and don't expect meaningful results; it's built to parse a structured format, not general language.
  • mode (greedy / fusion / block, default greedy) - controls how the separate regions get combined into final conditioning. The schema doesn't spell out the exact algorithm behind each, so this is genuinely worth A/B testing on your own scene rather than guessing - it changes how strongly separate regions bleed into each other versus staying distinct.
  • strength (0–10, default 1) - scales how strongly the whole assembled conditioning is applied, the same conceptual role strength plays on any other conditioning node.

Two outputs: conditioning (CONDITIONING), which wires into your KSampler's positive slot in place of - or alongside - a normal CLIP Text Encode, and mask (MASK), useful for visualizing which pixels each region actually claimed, or for feeding into masked-compositing nodes downstream.

How to install it

  • ComfyUI Manager: search "comfyui_LLM_party", install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/heshengtao/comfyui_LLM_party, then pip install -r requirements.txt from inside the pack folder using ComfyUI's own Python, then restart.

This node itself is pure parsing and conditioning assembly - no extra dependency of its own beyond the base pack install. The LLM step that produces the region layout in the first place is a separate concern (a local model like the one above, or any API model prompted with the omost persona).

Common issues & troubleshooting

Conditioning comes out wrong or the node errors on the text you fed it. The most common cause is feeding it a normal sentence-style prompt instead of genuine Omost-format region text - this decoder expects the structured output an Omost-tuned LLM call produces, not hand-written prose. Pair it with omost json2py or the omost persona rather than typing region descriptions freehand.

The image doesn't respect the regions the way you expected. Try switching mode before assuming something's broken - greedy, fusion, and block genuinely produce different compositional results, and there's no single right answer independent of your scene.

Regions overlap or bleed together more than intended. That's what strength is for - lower it if the effect is too aggressive, raise it if the layout isn't holding together at all.

Category大模型派对(llm_party)/图片(image)

Inputs (4)

NameTypeDefaultDescription
clipCLIP
textSTRING
modeCOMBOgreedy3 options: greedy, fusion, block
strengthFLOAT1.000–10

Outputs (2)

NameTypeDescription
conditioningCONDITIONING
maskMASK