Nodes/Anima-Wardrobe/Anima 一键随机搭配(每次运行重抽)
ComfyUI Node

Anima 一键随机搭配(每次运行重抽)

A new outfit every queue, still coherent on purpose

By lingdongbudong·Created 25 days ago·Updated 25 days ago· 15
Anima 一键随机搭配(每次运行重抽)
  • upstream_wardrobe
  • text
  • wardrobe
  • report
◄enable_outfittrue►
◄enable_posetrue►
◄enable_expressiontrue►
◄enable_scenetrue►
◄levelsuggestive►
◄allow_publicfalse►
◄seed-1►
◄order_modepreserve►
◄opt_prompt—►

Wildcards have been the standard way to get prompt variety since A1111 - wrap alternatives in {brown|blonde|black} and batch, and each run picks a combination. It's fast and it's dumb: nothing stops it from pairing micro bikini with snowy mountain and shy expression. This node is the server-side answer to that, and the whole point is the "on purpose" part.

What it rolls, and what keeps it sane

One execution produces an outfit, a pose, an expression and a scene - each one drawn to be plausible with the others. The outfit roller first picks a main form (six options, from a full dress through two-piece to nude), then stacks whatever naturally follows from it: socks, footwear, accessories, materials, a state like wet or torn, a prop or two. The scene roller samples a place whose privacy level can actually carry the exposure of the outfit it just rolled: a public-transit setting won't be handed a rolled wardrobe that's explicit unless you explicitly allow it. The expression isn't random at all - it reads the pose, clothing and relation tags it just picked, matches trigger words, and picks an emotion accordingly (shy, blissed-out, blank, reluctant), with an intensity set by the level, and from level 3 upward it forces at least one physical-reaction tag on top.

Every roll runs three internal checks - outfit coherence, scene plausibility, exposure level - and reports violations instead of shipping a bad combination. The README's audit numbers are the author's own: 2,240 batched rolls across the five levels, zero incoherent outfits, zero over-level results.

If you feed two women into opt_prompt (either 2girls or two 1girl tokens, or a yuri marker), the roller detects it and adds interaction tags: friends-and-daily-activities at levels 0–1, yuri plus specifics at 2–3, the extreme list at 4.

Inputs and outputs

Four toggles - enable_outfit, enable_pose, enable_expression, enable_scene - let you keep what you like and re-roll the rest. Then level, and this is the control that matters:

| Value | What it draws | |---|---| | sfw | No exposure-oriented tags at all | | suggestive (default) | Crop tops, off-shoulder, short skirts, underwear lines | | explicit | Nude / genital / nipple / see-through / half-undressed | | hardcore | Sex acts, toys, bondage, fluids | | extreme | Group scenes, extreme insertion, restraint devices, marks - plus forced act+device pairing and private venues only | | any | The whole pool, unfiltered |

Level acts as both a ceiling and a floor: it never exceeds your level, and it occasionally drifts one step safer. allow_public opens up public and semi-public locations for high-exposure outfits - it's the switch that decides whether "露出 in a train carriage" is a thing your roll can produce. seed at -1 re-rolls each run; a fixed value reproduces the same result, and the author's own tooltip warns that changing any other parameter changes the draw path too, so pin the rest of the graph as well. order_mode at preserve (default) keeps your existing word order and only inserts new tags; normalize reorders everything into canonical slot order.

Three outputs: text to your CLIP text encode, wardrobe to chain into the arbiter or another wardrobe node, and report - the human-readable line-by-line summary of what got drawn, which level it actually landed on, and whether the coherence checks passed. Read the report the first few times. It's the difference between trusting the roller and guessing at it.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/lingdongbudong/Comfyui-Anima-Wardrobe
# restart ComfyUI

No dependencies, no model files. Manager users: search Anima-Wardrobe. The preset libraries ship inside the repo - about 2.6 MB of JSON - so there's nothing to fetch after install.

Where people get burned

"I rolled it and nothing changed." The roll writes into clothing, pose, expression and scene at plugin-level authority, which beats loose prose in your prompt - but it does not overwrite a sticky slot that an upstream plugin already claimed. If another pack declared the outfit first, the roll's outfit gets registered as shadowed and discarded. That's the contract doing its job, and the report says so explicitly, with a line naming which source won. The other cause is subtler: ComfyUI caches node outputs, and this node has no always-rerun hook, so if the graph re-executes it with identical inputs you can get the identical roll back. If a roll looks frozen, check the seed widget's control_after_generate setting - the frontend attaches it to any widget named seed, and it's the difference between a re-roll and a replay.

Expecting any to be a shortcut. It is not a superset that looks like the others; it throws the coherence guarantees halfway out the window, because it can sample a level-4 act next to a level-0 setting. It's there for stress-testing, not for daily use.

Assuming diversity means quality. A roll guarantees the outfit and the venue agree with each other. It doesn't know whether the result is a good picture. The pack's answer to that is the opposite node: the Studio's one-click buttons roll the same engine but hand the result back into editable widgets, so you can tweak before you queue.

CategoryAnimaWardrobe

Inputs (10)

NameTypeDefaultDescription
enable_outfitBOOLEANtrue—
enable_poseBOOLEANtrue—
enable_expressionBOOLEANtrue—
enable_sceneBOOLEANtrue—
levelCOMBOsuggestive6 options: sfw, suggestive, explicit, hardcore, extreme, any
allow_publicBOOLEANfalse—
seedINT-1-1–2147483647—
order_modeCOMBOpreserve2 options: preserve, normalize
opt_promptoptSTRING—
upstream_wardrobeoptANIMA_WARDROBE—

Outputs (3)

NameTypeDescription
textSTRING—
wardrobeANIMA_WARDROBE—
reportSTRING—