diff --git a/README.md b/README.md index 874955f..e6ca04f 100644 --- a/README.md +++ b/README.md @@ -549,6 +549,9 @@ The node keeps the original generator controls: - `category`: `auto_weighted`, `auto_full`, `woman`, `man`, `couple`, `group_or_layout`, `custom_random`, or a custom JSON category. - `clothing`: `random`, `full`, or `minimal`. +- `minimal` is the local adult wardrobe pool. It can roll sheer mesh, + see-through lace, transparent layers, body tape, micro pieces, and exposed + nipple wording; it is not limited to older softcore-safe euphemisms. - `minimal_clothing_ratio`: `-1` disables ratio mixing; `0.0` to `1.0` mixes minimal/full clothing when `clothing` is fixed. - `ethnicity`: `any`, `european`, `mediterranean_mena`, `latina`, `east_asian`, `southeast_asian`, `south_asian`, `black_african`, diff --git a/generate_prompt_batches.py b/generate_prompt_batches.py index 274f9e7..db2391e 100755 --- a/generate_prompt_batches.py +++ b/generate_prompt_batches.py @@ -2330,9 +2330,9 @@ COUPLE_OUTFITS = [ ] # --------------------------------------------------------------------------- -# "minimal" clothing mode: every pool is restricted to the little-coverage, -# lingerie/swimwear/bralette register that the user confirmed renders well, -# while still staying tasteful and non-explicit. Selected via --clothing minimal. +# "minimal" clothing mode: local adult generation wardrobe. This is allowed to +# use direct sheer/mesh/see-through wording instead of older external-service +# euphemisms. Selected via --clothing minimal. # --------------------------------------------------------------------------- WOMEN_CLOTHES_MINIMAL = [ # Confirmed pass-throughs — kept exactly as the image model accepted them @@ -2351,7 +2351,28 @@ WOMEN_CLOTHES_MINIMAL = [ "cropped halter top with deep cleavage and high-cut denim shorts", "draped one-shoulder gown with a thigh slit", "micro cardigan buttoned once over a lace bra and mini skirt", - # Vocabulary-fixed entries (high-risk terms substituted per image-model research) + # Local-generation explicit wardrobe entries. + "transparent mesh mini dress with bare breasts visible through the fabric", + "see-through lace slip with nipples visible and high-cut briefs", + "open-front sheer robe exposing bare breasts over a micro thong", + "black fishnet bodystocking with visible nipples and high-cut hips", + "wet-look transparent mesh top over bare breasts with tiny shorts", + "sheer halter bodysuit with exposed nipples and a high-cut thong", + "micro mesh bra with transparent cups and matching string thong", + "body tape strips over the nipples with a sheer mesh skirt", + "transparent lace catsuit showing bare breasts and high-cut underwear", + "open mesh cover-up worn over a micro bikini with visible nipples", + "see-through white tank clinging to bare breasts with tiny shorts", + "sheer lace bodysuit with open hips and visible nipple outline", + "mesh crop top over bare breasts with a low-slung micro skirt", + "transparent beach dress over a tiny thong bikini", + "sheer babydoll open at the front over bare breasts and panties", + "black mesh wrap dress with the chest fully visible through fabric", + "clear vinyl mini skirt with a transparent mesh bralette", + "nipple tape with a sheer open blouse and high-cut briefs", + "ultra-thin wet white crop top showing nipples with bikini bottoms", + "see-through mesh long-sleeve over bare breasts with leather briefs", + # Legacy softcore entries kept for variety. "triangle bikini top with adjustable ties and a sarong tied low on the hips", "oversized unbuttoned shirt over a lace bra set", "lace suspender belt with lace-top thigh-highs and a fitted satin bodice", @@ -2472,6 +2493,13 @@ def _expand_women_minimal_clothes() -> list[str]: "mesh-panel bodysuit", "lace teddy", "satin slip chemise", + "transparent mesh mini dress", + "see-through lace slip", + "sheer halter bodysuit", + "fishnet bodystocking", + "transparent mesh catsuit", + "open mesh cover-up", + "body tape outfit", "corset bustier", "balconette bra set", "lace bralette set", @@ -2486,6 +2514,11 @@ def _expand_women_minimal_clothes() -> list[str]: "under an open silk robe", "under a semi-sheer kimono robe", "with a sheer mesh cover-up", + "with bare breasts visible through the fabric", + "with nipples visible through transparent mesh", + "with see-through panels across the chest", + "with open sides and a micro thong", + "with nipple tape and a tiny bottom", "with detachable suspender straps", "with a draped silk wrap", "with a cropped mesh tee", @@ -2554,6 +2587,16 @@ def _expand_women_minimal_clothes() -> list[str]: "velvet bra set with suspender straps and stockings", "semi-sheer babydoll over a high-leg bra set", "open kimono over a lace teddy and thigh-highs", + "transparent mesh dress with bare breasts visible and a micro thong", + "see-through lace slip clinging to bare breasts and high-cut hips", + "fishnet bodystocking with visible nipples and a tiny thong", + "body tape over nipples with a transparent mesh skirt", + "open sheer robe framing bare breasts and a string thong", + "wet transparent crop top over bare breasts with low-rise briefs", + "micro mesh lingerie set with transparent cups and high-cut bottoms", + "see-through halter dress with exposed nipples and a hip chain", + "transparent lace catsuit with bare breasts visible through fabric", + "mesh shrug over bare breasts with a tiny vinyl mini skirt", ] ) return additions @@ -2597,6 +2640,10 @@ MEN_CLOTHES_MINIMAL = [ COUPLE_OUTFITS_MINIMAL = [ "matching beachwear with a bikini and swim shorts", "lingerie-inspired loungewear with sheer robes", + "a see-through mesh dress and a bare-chested partner in low-slung trousers", + "transparent lingerie with visible nipples and a partner in boxer briefs", + "body tape and a micro thong beside a shirtless partner", + "an open sheer robe over bare breasts with a partner in swim briefs", "a lace bra set and an open shirt for an intimate evening", "poolside swimwear with playful accessories", "a silk slip with a bare-chested partner in low-slung trousers", @@ -3289,9 +3336,9 @@ def write_readme(out_dir: Path, total: int, batch_size: int, clothing: str = "fu ) elif clothing == "minimal": clothing_note = ( - "Clothing mode: **minimal**. Every clothing pool is restricted to the little-coverage " - "lingerie/swimwear/bralette/bodysuit register (still tasteful, non-explicit, adults only). " - "Use this set for the most revealing pin-up outputs." + "Clothing mode: **minimal**. Every clothing pool is restricted to the most revealing " + "adult wardrobe register: lingerie, swimwear, sheer mesh, see-through lace, body tape, " + "micro pieces, and transparent layers. Use this set for the most revealing outputs." ) else: clothing_note = ( @@ -3309,7 +3356,7 @@ Generated prompt manifests for the `sxcpinup_coloredpencil` adult-only dataset. Use `prompt` to generate each image. Save the output to the row's `file_name` path inside that batch directory, then use `caption` for training metadata or sidecar captions. For quick review, each batch also includes `prompts.txt`. -Safety/style boundary: sexy, revealing, tasteful adult pin-up that stays non-explicit. Adults only. +Safety/style boundary: adult-only erotic pin-up and fashion imagery. Minimal clothing can include direct sheer, mesh, see-through, body-tape, and exposed-nipple wardrobe wording. {clothing_note} @@ -3358,7 +3405,7 @@ def main() -> None: choices=["full", "minimal"], default="full", help="'full' = the broad revealing+glam wardrobe; " - "'minimal' = restrict every pool to little-coverage lingerie/swimwear styling.", + "'minimal' = local adult sheer/mesh/see-through lingerie and micro-wear styling.", ) parser.add_argument( "--minimal-clothing-ratio",