Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import random | |
| # Fixed composition for image description prefix | |
| COMPOSITION = ( | |
| "{name}, professional ultra-high resolution photograph, full color, high detail, photo-realistic, " | |
| "extreme close-up shot, subject filling the entire 9:16 vertical frame, no borders. " | |
| "The celebrity looks directly at the camera with confidence and power, filling the foreground. " | |
| "Professional soft, shadowless studio lighting with an ARRI SkyPanel, highlighting skin texture and lace, no harsh shadows. " | |
| "Sharp, dramatic focus on the eyes. Cinematic, powerful, and dramatic style. " | |
| "Shot on Canon EOS R5, Canon RF 85mm f/1.2L --style raw --ar 9:16." | |
| ) | |
| # Elements pool for randomized prompt creation, extracted and organized from BATUTO-ART | |
| ELEMENTS = { | |
| "scenarios": [ | |
| "modern corporate office with glass walls and city skyline view", | |
| "elegant law firm conference room with mahogany table", | |
| "high-tech design studio with inspiration boards and fabric samples", | |
| "executive boardroom with panoramic windows overlooking cityscape", | |
| "luxury spa reception with marble floors and ambient lighting", | |
| "stylish co-working space with minimalist design", | |
| "private executive office with a large desk and leather chair", | |
| "office break room with modern furniture and city view", | |
| "archive room with rows of filing cabinets", | |
| "office hallway with abstract art on the walls" | |
| ], | |
| "outfits": [ | |
| "ultra-short stretch cotton minidress with perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "tight pencil skirt riding up to the thigh, with a semi-transparent blouse and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "bodycon mini dress with cutouts and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "short fitted skirt with a button-up shirt tied at the waist, and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "stretch mini skirt with a lace camisole and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "short wrap dress in a silky material with perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "form-fitting mini dress with a plunging neckline and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "micro mini skirt with a tight sweater and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "satin mini dress with delicate straps and perfect and sensual thigh-high stockings featuring lace patterns and garters", | |
| "structured mini skirt suit with a short jacket and perfect and sensual thigh-high stockings featuring lace patterns and garters" | |
| ], | |
| "lingerie_sets": [ | |
| "a subtly contrasting black lace bra and thong panties set, perfectly matching sheer thigh-high stockings featuring intricate lace patterns and lace garter bands", | |
| "a subtly contrasting red lace bra and high-waisted bikini panties set, perfectly matching sheer thigh-high stockings featuring delicate floral lace and satin garter bands", | |
| "a subtly contrasting white lace bra and thong panties set, perfectly matching sheer thigh-high stockings featuring embroidered lace patterns and mesh garter bands", | |
| "a subtly contrasting burgundy lace bra and cheeky bikini panties set, perfectly matching sheer thigh-high stockings featuring velvet lace trim and ribbon garter bands", | |
| "a subtly contrasting emerald green lace bra and French cut thong panties set, perfectly matching sheer thigh-high stockings featuring scalloped lace edges and silk garter bands", | |
| "a subtly contrasting champagne lace bra and G-string thong set, perfectly matching sheer thigh-high stockings featuring intricate lace patterns and pearl accented garter bands", | |
| "a subtly contrasting midnight blue lace bra and control top bikini panties set, perfectly matching sheer thigh-high stockings featuring silver thread lace embroidery and satin garter bands", | |
| "a subtly contrasting hot pink lace bra and Brazilian cut thong panties set, perfectly matching sheer thigh-high stockings featuring playful bow details and lace garter bands", | |
| "a subtly contrasting charcoal gray lace bra and boy short bikini panties set, perfectly matching sheer thigh-high stockings featuring geometric lace patterns and elastic garter bands", | |
| "a subtly contrasting sheer nude lace bra and minimal coverage thong panties set, perfectly matching sheer thigh-high stockings featuring subtle shimmer and lace garter bands" | |
| ], | |
| "shoes": [ | |
| "elegant stiletto heels with ankle straps", | |
| "pointed-toe pumps with metallic finish", | |
| "thigh-high lace-up boots with stiletto heel", | |
| "pumps with back strap and open toe", | |
| "strappy sandals with crystal embellishments", | |
| "patent leather pointed pumps", | |
| "over-the-knee suede boots with block heel", | |
| "platform shoes with glitter and arch strap", | |
| "matte leather ankle boots with stiletto heel", | |
| "clear PVC heels with metallic details" | |
| ], | |
| "poses": [ | |
| "sitting on a low stool, leaning back slightly, legs subtly parted in a seductive manner to reveal lace thong or bikini panties", | |
| "perched on the armrest of a chair, one leg dangling, dress riding up slightly to show lace thong or bikini panties, legs positioned suggestively and alluringly", | |
| "sitting cross-legged on a plush rug, dress opening slightly at the thighs to reveal lace thong or bikini panties, legs arranged to create an alluring and seductive shape", | |
| "sitting on a desk edge, leaning forward slightly, skirt naturally lifting to reveal lace thong or bikini panties, legs crossed at the ankle in a suggestive and enticing manner", | |
| "sitting on a window sill, legs pulled up slightly and subtly parted, dress revealing a glimpse of lace thong or bikini panties, pose is alluring and sensual", | |
| "sitting on a step, one leg extended in a seductive manner, skirt falling open slightly to reveal lace thong or bikini panties, other leg bent alluringly", | |
| "lounging on a chaise lounge, one leg bent and raised seductively, dress casually exposing thigh and a hint of lace thong or bikini panties, legs positioned to emphasize curves and allure", | |
| "sitting on the floor with back against a wall, knees up and subtly parted, skirt naturally parted to show lace thong or bikini panties, pose is suggestive and enticing", | |
| "sitting on a counter top, legs crossed at the ankle, skirt draped to the side revealing lace thong or bikini panties, body angled seductively and alluringly", | |
| "sitting in a deep armchair, sinking in, dress pulled taut across thighs revealing lace thong or bikini panties, legs positioned for maximum allure and seduction", | |
| "standing with hands on hips, skirt slightly lifted by hand in a suggestive manner, revealing lace thong or bikini panties", | |
| "bending over slightly to pick something up, dress riding high, revealing lace thong or bikini panties, pose is accidental and revealing", | |
| "adjusting thigh-high stocking while standing, skirt lifted slightly to reveal lace thong or bikini panties, action is subtle and sensual", | |
| "leaning against a wall with one knee bent, dress clinging and slightly lifted, revealing lace thong or bikini panties, pose is casual but alluring", | |
| "stepping out of a car, one foot still inside, skirt shifting to reveal lace thong or bikini panties, moment is fleeting and suggestive", | |
| "standing, one hand gently caressing a gluteus, the other hand lightly pressing one's own breast, pose is sensual and self-exploratory", | |
| "sitting at a desk, one hand resting on a thigh and gently caressing a gluteus, the other hand subtly pressing one's own breast, pose is discreetly sensual", | |
| "leaning against a filing cabinet, one hand sensually stroking a gluteus, the other hand subtly pressing one's own breast through clothing, pose is suggestive and alluring", | |
| "standing with one leg bent and foot resting on an office chair seat, skirt hiked up to reveal lace thong or bikini panties, pose is confident and revealing", | |
| "standing with one leg elevated and knee resting on a desk corner, dress pulled taut across the thigh to reveal lace thong or bikini panties, pose is bold and alluring", | |
| "standing, one foot propped on a stack of files, dress or skirt falling open slightly to reveal lace thong or bikini panties, pose is casual and revealing", | |
| "standing, one leg bent and foot on a low office table, with the skirt draped to the side, revealing lace thong or bikini panties, pose is relaxed and suggestive", | |
| "standing, leaning against a wall with one foot on a chair rung, dress or skirt lifted slightly to show lace thong or bikini panties, pose is casual and revealing" | |
| ], | |
| "angles": [ | |
| "extreme nadir view (from the ground), ultra close-up on celebrity, subject filling frame", | |
| "worm's-eye view, tight close-up on celebrity, subject filling frame from below", | |
| "low angle shot looking up, very close on celebrity, emphasizing form and presence", | |
| "extreme low angle, contrapicado, celebrity's lower body and legs filling frame, looking upwards", | |
| "nadir view, close-up on celebrity from directly below, intense perspective", | |
| "ground level view, celebrity towering above, filling the frame from a low vantage point" | |
| ], | |
| "hair_styles": [ | |
| "long, wavy, dyed hair cascading over shoulders", | |
| "long, straight, dyed hair parted down the middle", | |
| "long, loosely curled, dyed hair with face-framing layers", | |
| "long, dyed hair in a half-up elegant style", | |
| "long, dyed hair swept over one shoulder with a deep side part", | |
| "long, layered, dyed hair with subtle highlights", | |
| "long, dyed beach waves with a middle part", | |
| "long, smooth blowout on dyed hair with slight bend at ends", | |
| "long, dyed balayage with soft waves", | |
| "long, pin-straight, dyed hair with subtle ombre effect" | |
| ], | |
| "makeup_styles": [ | |
| "flawless, perfect makeup with defined eyes and lips", | |
| "immaculate makeup, highlighting perfect skin and features", | |
| "expertly applied makeup, emphasizing a polished and perfect look", | |
| "pristine makeup with sharp lines and perfect blending", | |
| "impeccable makeup, enhancing natural beauty with perfect finish" | |
| ] | |
| } | |
| def get_random_element(category): | |
| return random.choice(ELEMENTS[category]) | |
| def generate_single_prompt(name): | |
| scenario = get_random_element("scenarios") | |
| outfit = get_random_element("outfits") | |
| lingerie_set = get_random_element("lingerie_sets") # Use the new lingerie_sets category | |
| shoes = get_random_element("shoes") | |
| pose = get_random_element("poses") | |
| angle = get_random_element("angles") # Now selects from the updated low-angle list | |
| hair = get_random_element("hair_styles") | |
| makeup = get_random_element("makeup_styles") | |
| # Adjusting the phrasing to imply an unintentional panty peek for sitting poses | |
| panty_peek_phrase = "" | |
| if "sitting" in pose.lower() or "perched" in pose.lower() or "lounging" in pose.lower() or "reclining" in pose.lower(): | |
| panty_peek_phrase = ", dress or skirt slightly shifting to reveal a hint of the lace thong or bikini panties" | |
| # Adding the sensual expression | |
| expression_phrase = "with an expression of intense desire and pleasure, eyes half-closed, lips slightly parted" | |
| detailed_prompt = ( | |
| f"{COMPOSITION.format(name=name)} {expression_phrase}. Scenario: {scenario}. " | |
| f"Pose: {pose}{panty_peek_phrase}. " | |
| f"Wearing {outfit}, with a glimpse of a {lingerie_set} revealed, paired with {shoes}. " # Use lingerie_set here and phrase it as revealed | |
| f"Hair: {hair}. Makeup: {makeup}. Camera angle: {angle}." | |
| ) | |
| return detailed_prompt | |
| def generate_three_prompts(name): | |
| if not name.strip(): | |
| return ["Please enter a celebrity name.", "", ""] | |
| name = name.strip() | |
| return [generate_single_prompt(name) for _ in range(3)] | |
| import gradio as gr | |
| with gr.Blocks() as demo: | |
| gr.Markdown( | |
| """ | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Space+Mono&display=swap'); | |
| h1 { | |
| font-family: 'Space Mono', monospace; | |
| font-size: 3em; /* Adjust size as needed */ | |
| background: linear-gradient(to right, red, yellow, orange, green); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| text-shadow: 2px 2px 4px rgba(64, 224, 208, 0.7); /* Turquoise shadow */ | |
| text-align: center; /* Center the text */ | |
| } | |
| </style> | |
| # BATUTO-OFICIAL 🐾 | |
| """ | |
| ) | |
| celebrity_name = gr.Textbox(label="Enter Celebrity Name", placeholder="e.g. Scarlett Johansson", lines=1) | |
| generate_btn = gr.Button("Generate Prompts") | |
| prompt_outputs = [gr.Textbox(label=f"Prompt {i+1}", lines=6, interactive=False, show_copy_button=True) for i in range(3)] | |
| generate_btn.click(fn=generate_three_prompts, inputs=celebrity_name, outputs=prompt_outputs) | |
| demo.launch() |