Nodes/ComfyUI-OOP/OOP Eyes πŸ‘€
ComfyUI Node

OOP Eyes πŸ‘€

Eye shape and color from clean dropdowns β€” no more hazel vs. hazle

By 0xRavenBlackΒ·Created 2 years agoΒ·Updated about a year agoΒ· 15
OOP Eyes πŸ‘€
    • OOP_EYES
    β—„shapeRoundβ–Ί
    β—„colorBrownβ–Ί
    β—„randomizefalseβ–Ί

    Eyes are a two-word prompt detail that never stays two words. "Round hazel eyes" becomes "roundhazel eyse" on a late-night typo and the model shrugs. OOP Eyes πŸ‘€ from the ComfyUI-OOP pack gives you exactly two dropdowns - shape and color - and writes the correct label for you. It's the most minimal node in the pack, and that's kind of the point.

    What it builds

    Same architecture as the rest of the pack: a string builder that outputs a custom OOP_EYES type. No image processing, no API, nothing heavy.

    The two required inputs are the whole show:

    • shape - 8 options: Round, Almond, Hooded, Monolid, Upturned, Downturned, Oval, Closed. Default Round.
    • color - 7 options: Blue, Green, Brown, Hazel, Gray, Amber, Violet. Default Brown.

    Pick Almond + Hazel and the node emits shape:Almond, color:Hazel. That's the labeled, structured format the whole pack uses - the OOP Node πŸ’« assembles these little fragments into a full scene prompt, and the format keeps each attribute clearly attached to its subject.

    There's also a randomize boolean. On, and each queue rolls a random shape and color - handy for batch character generation where you want variety without touching widgets. Off, you get a stable, repeatable look. Note the re-roll fires on every queue run when randomize is on (IS_CHANGED returns fresh random bits each time), so if you hit "Queue" twice you get two different pairs.

    Where it goes

    The OOP_EYES output wires into the eyes input on OOP Person πŸ‘€, which bundles it with hair, mouth, clothing and poses into a full character block. Then OOP Node encodes the whole structured prompt into conditioning. If you want to see the exact text, grab the STRING output from the OOP Node - that's your window into what all these dropdowns actually produced.

    Install

    It ships with the pack, so:

    cd ComfyUI/custom_nodes
    git clone https://github.com/0xRavenBlack/ComfyUI-OOP
    

    Restart ComfyUI. Or use Manager - search ComfyUI-OOP in the Custom Nodes Manager. There's no requirements.txt and no model download; this is a pure-Python string builder, so installation is trivial.

    Gotchas

    • The color list is small and natural. 7 colors, all real iris colors, no heterochromia option. That's actually fine for most use - but if you want a specific eye color not on the list, pick the closest and edit the final string by hand.
    • SDXL-era assumptions. The pack's aggregator hardcodes CLIP skip βˆ’2 and 1024Γ—1024 conditioning, and the demo workflow is SDXL (euler/karras, cfg 8). Hooded and Monolid are shape terms that SDXL and booru-trained models mostly understand; on newer LLM-encoder checkpoints, treat them as weaker signal.
    • "Closed" is a shape here. If you pick it, the model renders shut eyes - that's the intent, but it can surprise you mid-batch.

    Tiny pack, built in early 2025, ~15 stars, dormant since. For a node this small, "it just writes the string" is the entire feature list - and honestly, that's all eyes need.

    CategoryObject-Oriented Prompting

    Inputs (3)

    NameTypeDefaultDescription
    shapeCOMBORound8 options: Round, Almond, Hooded, Monolid, Upturned, Downturned, +2
    colorCOMBOBrown7 options: Blue, Green, Brown, Hazel, Gray, Amber, +1
    randomizeoptBOOLEANfalseβ€”

    Outputs (1)

    NameTypeDescription
    OOP_EYESOOP_EYESβ€”