Nodes/ComfyUI-OOP/OOP Location 🌍
ComfyUI Node

OOP Location 🌍

Put your scene somewhere and drop one object in it β€” from dropdowns

By 0xRavenBlackΒ·Created 2 years agoΒ·Updated about a year agoΒ· 15
OOP Location 🌍
    • OOP_LOCATION
    β—„placeCityβ–Ί
    β—„objectStatueβ–Ί
    β—„randomizefalseβ–Ί

    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. Default City.
    • object - 31 options for a single scene prop: Statue, Tree, Fountain, Bridge, Car, House, Bench, Streetlamp, Signpost, Tower, Toy, and more. Default Statue.

    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 object slot 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 + Tree is 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:Toy reads well on SDXL and booru-trained checkpoints; weaker on Flux and 2026 LLM-encoder models.
    • The object list is eclectic - AdultToy is in there alongside Statue and Tree. 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.

    CategoryObject-Oriented Prompting

    Inputs (3)

    NameTypeDefaultDescription
    placeCOMBOCity33 options: Forest, City, Desert, Mountain, Beach, Cave, +27
    objectCOMBOStatue31 options: Statue, Tree, Fountain, Bridge, Car, House, +25
    randomizeoptBOOLEANfalseβ€”

    Outputs (1)

    NameTypeDescription
    OOP_LOCATIONOOP_LOCATIONβ€”