OOP Location π
Put your scene somewhere and drop one object in it β from dropdowns
- OOP_LOCATION
Location is the biggest lever on your scene and the easiest thing to under-describe. "Beach" gets you a beach; "Beach + Toy" gets you a specific one. OOP Location π from the ComfyUI-OOP pack gives you a place and a prop to anchor the scene, both from dropdowns, both written into a clean structured label.
What it builds
Standard pack architecture: a pure string builder that emits a custom OOP_LOCATION type. No image processing, no model call - it constructs text.
- place - 33 options, and this list is genuinely useful:
Forest,City,Desert,Mountain,Beach,Cave,Village,Castle,Temple,SpaceStation,Shop,Club, and 21 more. DefaultCity. - object - 31 options for a single scene prop:
Statue,Tree,Fountain,Bridge,Car,House,Bench,Streetlamp,Signpost,Tower,Toy, and more. DefaultStatue.
Pick Beach + Toy and the node emits location:Beach, object:Toy - the exact line from the pack's README example. That's the whole feature: a consistent, label-prefixed sentence the pack can slot into the wider prompt. The randomize boolean exists as elsewhere - on, each queue rolls a random place and object, which is a fast way to brainstorm location variations. Off, the scene stays put. The re-roll fires on every queue run when enabled, so it's not a "once" toggle.
Where it goes
OOP_LOCATION feeds the Location input on the OOP Node π« - the aggregator that merges Style, View, Person, Animal, Location and Environment into one structured prompt, CLIP-encodes it, and hands you both CONDITIONING and a readable STRING. The string output is how you verify your Beach + Toy actually survived the journey.
Install
It ships with the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/0xRavenBlack/ComfyUI-OOP
Restart ComfyUI. Manager works too - search ComfyUI-OOP in the Custom Nodes Manager. No requirements.txt, no model files. This is plain Python and installs in seconds.
Gotchas
- One object, not many. The
objectslot is singular. If your scene needs a fountain and a bench, you'll pick one and hand-edit the output string. - Some place/object combos fight each other.
SpaceStation+Treeis a weird pair, but the node won't stop you - it just writes what you pick. Your sampler gets to resolve the contradiction. - SDXL-era, as always with this pack. The aggregator hardcodes CLIP skip β2 and 1024Γ1024 sizing, and the demo workflow is SDXL (euler/karras, cfg 8, 20 steps).
location:Beach, object:Toyreads well on SDXL and booru-trained checkpoints; weaker on Flux and 2026 LLM-encoder models. - The object list is eclectic -
AdultToyis in there alongsideStatueandTree. It's a wide net, not a curated one.
Part of a small, dormant pack (early 2025, ~15 stars). If you're building repeatable scene templates where the location is a variable you want to swap without retyping the prompt, this is exactly the tool for that job.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| place | COMBO | City | 33 options: Forest, City, Desert, Mountain, Beach, Cave, +27 |
| object | COMBO | Statue | 31 options: Statue, Tree, Fountain, Bridge, Car, House, +25 |
| randomizeopt | BOOLEAN | false | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| OOP_LOCATION | OOP_LOCATION | β |