OOP Eyes π
Eye shape and color from clean dropdowns β no more hazel vs. hazle
- OOP_EYES
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. DefaultRound. - color - 7 options:
Blue,Green,Brown,Hazel,Gray,Amber,Violet. DefaultBrown.
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).
HoodedandMonolidare 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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| shape | COMBO | Round | 8 options: Round, Almond, Hooded, Monolid, Upturned, Downturned, +2 |
| color | COMBO | Brown | 7 options: Blue, Green, Brown, Hazel, Gray, Amber, +1 |
| randomizeopt | BOOLEAN | false | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| OOP_EYES | OOP_EYES | β |