import gradio as gr import random # --- Constants for prompt generation --- OFFICE_SECRETARY_SCENARIOS = [ "Standing by a desk, 'casually' adjusting an executive mini-skirt, hinting at a thong, direct and seductive gaze with pleasure, nadir angle from the floor", "Sitting on an office table, legs accidentally ajar and mini-skirt lifting showing the thong, ecstatic seductive face, camera on the ground with a low angle shot", "leaning over to file documents, mini-skirt slipping voyeuristically revealing the thong, intense gaze with mouth open in pleasure, nadir angle", "leaning against a wall, executive mini-skirt lifted by accident hinting at the thong, defiant gaze with an air of ecstasy, low angle shot", "Sitting on a swivel chair, crossing legs and letting the thong peek out carelessly from under the mini-skirt, seductive expression of pleasure, full frame with nadir perspective", "discreetly dancing in the office, mini-skirt unintentionally lifted revealing the thong, seductive gaze with climax, camera on the ground with a low angle shot", "delivering reports, leaning forward with the mini-skirt lifting voyeuristically showing the thong, playful gaze with ecstasy, nadir angle", "reclined over a desk, one leg bent lifting the mini-skirt carelessly and revealing the thong, seductive face with pleasure, low-angle full frame", "crouching down to pick up papers, mini-skirt accidentally lifted showing the thong, fiery gaze with mouth open in pleasure, nadir angle, camera on the ground", "organizing a bookshelf, mini-skirt lifted voyeuristically showing the thong, direct gaze with ecstasy, sleek straight hairstyle, low angle shot", "Sitting with one leg on the desk, mini-skirt unintentionally lifting and thong visible, defiant gaze with pleasure, nadir angle", "standing by an office window, mini-skirt lifted by the 'wind' hinting at the thong, sensual and seductive expression, low angle full frame", "Leaning over a filing cabinet, mini-skirt slipping carelessly showing the thong, mischievous gaze with orgasm, nadir angle camera on the ground", "Sitting at a meeting table, short mini-skirt and thong visible by accident, ecstatic seductive face, nadir angle", "leaning against a photocopier, mini-skirt lifted voyeuristically showing the thong, expression of pleasure looking at the viewer, low angle full frame", "Filing on a high shelf, the mini-skirt lifts unintentionally showing the thong, seductive facial expression of pleasure, nadir angle", "standing taking notes on a blackboard, mini-skirt lifting carelessly and thong visible, ecstatic face, low angle camera on the ground", "sitting at a desk, crossing legs and letting the thong be seen under the mini-skirt voyeuristically, fiery gaze with mouth open in pleasure, nadir angle", "leaning over a keyboard, mini-skirt accidentally lifted showing the thong, seductive gaze with pleasure, low angle full frame", "Back to the camera, turning the head, executive mini-skirt lifted carelessly showing the thong, seductive expression of pleasure, nadir angle", ] SCHOOLGIRL_UNIFORM_SCENARIOS = [ "Standing in a classroom, slightly lifting her schoolgirl skirt with 'carelessness' to show the thong, direct and seductive gaze with pleasure, nadir angle from the floor", "Sitting at a desk, legs accidentally ajar revealing the thong under the skirt, seductive and ecstatic expression, camera on the ground with a low angle shot", "crouching down to pick up school supplies, skirt lifted voyeuristically and thong visible, intense gaze with mouth open in pleasure, full frame nadir angle", "leaning against a hallway wall, skirt unintentionally lifted hinting at the thong, defiant gaze with ecstasy, low angle shot", "Back to the camera in a straight line, turning her head with the skirt lifted carelessly showing the thong, seductive expression of pleasure, camera on the ground, nadir angle", "sitting at a classroom table, crossed legs accidentally slipping showing the thong, playful gaze with ecstasy, low angle full frame", "Dancing at a school party, skirt lifts voyeuristically showing the thong, seductive gaze with climax, nadir angle", "Climbing the school stairs, the skirt rises unintentionally showing the thong, head turned with a look of pleasure, camera on the ground low angle shot", "Reclined over a desk, one leg bent lifting the skirt carelessly and revealing the thong, seductive face with pleasure, nadir angle full frame", "crouching, skirt accidentally lifted revealing the thong, fiery gaze with mouth open in pleasure, nadir angle", "standing in front of a blackboard, lifting the skirt with one hand for an 'adjustment' showing the thong, direct gaze with ecstasy, sleek wavy hairstyle, low angle shot", "Kneeling in a classroom, with the skirt voyeuristically rolled up showing the thong, arched body with a seductive gesture of pleasure, camera on the ground, nadir angle", "leaning on a desk, skirt unintentionally lifted showing the thong, defiant gaze with facial pleasure, low angle full frame", "lying on her back on a table, legs bent and skirt dropped carelessly showing the thong, seductive gaze lost in pleasure, nadir angle", "Dancing in a chair, the short skirt accidentally lifts revealing the thong, facial look of pleasure looking forward, low angle low angle shot", "Sitting in the schoolyard, with her legs open by the wind, the wet skirt and thong visible, seductive and ecstatic expression, camera on the ground, nadir angle", "twirling with schoolgirl skirt, the skirt flies voyeuristically revealing the thong, direct gaze with mouth open in pleasure, low angle shot", "Standing with hands on her head, the skirt lifted simulating carelessness and the thong exposed, seductive expression of ecstasy, full frame nadir angle", "Leaning over a desk, the skirt lifts unintentionally and the thong is visible, defiant gaze with intense pleasure, nadir angle", "sitting with her legs tucked, skirt stretched out carelessly showing the thong, mischievous gaze with an air of pleasure, perfect low angle makeup", ] LINGERIE_MINISKIRT_SCENARIOS = [ "Standing, the wind, which simulates nonchalance, slightly lifts the black pleated silk mini-skirt, revealing the red lace thong. The seductive gaze conveys a subtle pleasure. The slightly parted lips and narrowed eyes convey a soft ecstasy. The lowest angle from the floor occupies the entire frame.", "sitting on the edge of the bed, legs open by 'accident' revealing the thong under the mini-skirt, ecstatic face with parted lips reflecting pleasure, camera in low angle shot on the ground", "crouching down to pick something up from the ground, mini-skirt lifted with carelessness showing the thong, intense and seductive gaze with mouth open in pleasure, nadir angle from the floor occupying the entire frame", "leaning against the wall, mini-skirt lifted by 'carelessness' hinting at the thong, defiant gaze with an air of pleasure, low angle camera on the ground", ] LUXURY_LINGERIE = [ "delicate lace panties subtly hinted at beneath her clothes", "Silk panties naturally glimpsed through her outfit", "sophisticated underwear subtly revealed by her movements", "luxury collection panties tastefully suggested", "Haute couture intimate wear with an elegant touch" ] HAIRSTYLES = [ "long, loose hair framing her face sensually", "elegant waves cascading over her shoulders seductively", "a sleek updo that accentuates her neck and features", "voluminous curls that enhance her sensual appearance", "A sophisticated updo that highlights her facial features in a seductive way." ] MAKEUP_STYLES = [ "impeccable makeup with a sensual emphasis on her lips and eyes", "perfectly contoured makeup that enhances her natural features in a seductive way", "Smoky eye makeup with glossy lips that express desire", "Radiant care with accentuated features that radiate lust", "Professional makeup with a sensual emphasis that enhances her appeal" ] EXPRESSIONS = [ "Seductive gaze with subtle pleasure, slightly parted lips, narrowed eyes conveying a soft ecstasy" ] HAIRSTYLES_2 = [ "voluminous platinum blonde waves in a glamorous Hollywood style", "jet-black, sleek hair pulled back into a high, polished ponytail with a subtle curl", "rich chestnut brown curls cascading elegantly with caramel highlights", "a dramatic ombre from glossy black roots to fiery red tips, with long, straight locks", "wispy silver hair gathered into a sophisticated messy bun with face-framing strands", "Dark brown waves elegantly parted to one side, with a silky texture", "Soft balayage with an elegant half-up, half-down style, with long, flowing waves", "a perfectly sleek bun with loose strands that frame her face", "a high, polished ponytail with carefully styled locks and a slight curl at the ends", "Long, loose waves with messy bangs, giving a relaxed yet elegant air", "A half-up hairstyle with a sleek bow and strands that fall gracefully over the back." ] BACKGROUND_VIEWS = [ "in a modern, minimalist office with large windows and city skyline views", "in a sleek executive office with dark wood paneling and leather chairs", "at a desk in a sophisticated, dimly lit office, with papers artfully scattered", "in a corporate boardroom with a long, polished table and a screen displaying a chart", "in a stylish office lobby with abstract art and sleek furniture", "next to a filing cabinet in a busy, active office setting", "in an executive office with leather chairs and a wall of bookshelves" ] ANGLES = [ "Low angle close-up shot that emphasizes the long legs and lingerie details", "Tight close-up shot that captures the sensual curve and outline of the panties", "macro focus on the lace edges with shallow depth of field", "from the ground up, filling the entire frame, no shadows or edges, the celebrity very close up", "close-up capture from the floor, focusing on the face and torso", "view from below that shows the celebrity's height and presence", "very close shot from a low angle that focuses on the details of the outfit", "Close shot from below that highlights the legs and skirt" ] SKIN_DETAILS = [ "Immaculate, luminous skin with subtle, realistic pores and texture", "perfectly smooth skin with a soft, natural glow", "Delicate, supple, and blemish-free skin texture", "Airbrushed skin, with realistic and subtle details." ] LIGHTING = [ "Bright, even studio lighting with soft diffusion, which eliminates all shadows", "High intensity lighting with natural and vibrant color enhancement", "Professional softbox lighting that creates a radiant, flawless glow", "Balanced and diffused lighting with perfect color accuracy and no harsh shadows", "Cinematic lighting with vibrant saturation and shadowless clarity." ] COLOR_PROFILES = [ "rich, muted color palette with natural, elegant tones", "Softly saturated tones with a sophisticated and refined look", "subtle, matte tones with a soft contrast", "crisp, vibrant colors with a subtle touch", "Deep, elegant tones with smooth gradation and exceptional clarity" ] STOCKINGS = [ "Thigh-high lace stockings with floral patterns in black, white or burgundy, with decorative finishes with delicate bows and embroidery.", "Transparent stockings in various deniers (thicknesses), from ultra-transparent (15-20 DEN) to more resistant and opaque stockings (60 DEN and more), available in nude, black, pearl gray and earth tones.", "Fine or thick fishnet stockings, with geometric or classic motifs such as polka dots and stars, in black or vibrant colors.", "Opaque stockings in shades from classic black to burgundy, navy blue and intense greens, which stylize the figure and provide an elegant look.", "Stockings with embroidery and floral appliqués, arabesque motifs or tattoo-type details, in contrasting or degraded colors.", "Stockings with decorative reinforcements on the toe and heel that provide durability and aesthetic detail, available in silk, microfiber or nylon.", "Satin and velvet stockings with a soft sheen effect, ideal for luxury accessories.", "Stockings with a built-in garter or held with a decorative garter in lace, satin or leather, with all kinds of closures and ornaments such as stones or tassels." ] ACCESSORIES = [ "Long lace or satin gloves with details of bows, embroidery or strategic openings for greater softness and texture; perfect to combine with miniskirts and revealing blouses.", "Short lace or tulle fingerless gloves combined with delicate bracelets, provide subtle sophistication", "Classic and decorative garters with cross straps, rhinestones or metallic buckles, some with transparent elastics and others with vintage details to hold the stockings.", "Short silk or lace kimonos and tunics to wear over intimate sets, creating games of transparencies and layers", "Soft decorative bondage-style bras to combine with garters and miniskirts." "Thin belts and light corsets with adjustable straps accompany and enhance the figure when worn under blouses or short jackets", "Lace or leather straps and straps for alternative garters for personalization and style", "Classic or modern garter clips to hold stockings securely and stylishly." ] PANTIES = [ "Delicate and sensual delicate lace thong, with transparencies and scalloped edges", "Cotton bikini with more comfortable decorative details without losing the feminine style.", "Lace Brazilian panty with side ties that combines comfortable coverage with a flirty design.", "Vintage and romantic style lace culotte or shorts, with greater coverage.", "Hipster panty with side straps, modern and comfortable, for casual looks.", "Seamless invisible thong ideal for fitted garments, with no visible marks", "Micro thong or C-string thong with minimal coverage and almost invisible lines, for maximum discretion and sensuality.", "Basic cotton panty for daily use while maintaining comfort", "Shaping or control girdles combine functionality with style, to enhance the figure", "Butt-lifting panty with support and enhancement for the buttocks.", "Panties with satin or velvet details, luxurious materials for special occasions", "Slips with floral prints, animal print or varied textures provide personality and style." ] OUTFITS = [ "a sleek high-waisted pencil mini-skirt in deep matte black with a subtle satin finish", "a sophisticated micro-mini-skirt in a muted navy blue with a sleek, tailored cut", "a playful yet refined pleated mini-skirt in charcoal gray with a delicate texture", "a tight leather mini-skirt in a deep sapphire color, cut with elegant slits for added seduction", "a structured wool mini-skirt with a subtle plaid pattern in soft, dark jewel tones", "a satin mini-skirt in a chic burgundy color with a soft, flowing fabric", "a tailored executive mini-skirt in smoky charcoal gray with clean lines", "A professional tweed mini-skirt in muted colors with a stylish and youthful design." ] TOPS = [ "a vibrant lace blouse with a subtle transparency", "a shiny silk camisole in bold colors", "a sheer chiffon blouse with rich, saturated tones", "a delicate mesh top with intricate and colorful patterns", "a provocatively buttoned silk blouse in a vivid tone, with the bottom buttons unbuttoned", "a fitted blazer over a vibrant lace bralette", "an immaculate white shirt tied at the waist with a splash of color", "a tight-fitting blouse with a deep, vibrant neckline" ] SHOES = [ "12 cm glossy stiletto heels", "platform shoes with very thin heels", "classic pointed toe shoes with a seductive arch curvature", "open mules with dangerously high heels", "stiletto office heels with a red sole", "stiletto heeled ankle boots with leather straps", "thin strappy sandals with transparent heels", "High leather boots with stiletto heels" ] MATCHING_LINGERIE_SETS = [ "A daring black lace thong with strategic transparency paired with impeccable sheer black thigh-high stockings with a sleek lace top, no garters", "A deep red lace thong with intricate cutouts paired with matching vibrant red thigh-high stockings that fit perfectly, no additional garters", "A pristine white lace thong that is subtly revealed with movement, paired with matching white silk thigh-high stockings, perfectly smooth and no visible garters", "A royal blue lace thong that offers a captivating contrast paired with matching navy blue thigh-high stockings with a simple, clean lace border", "A wild leopard print lace thong that adds a special touch to the set, paired with opaque black thigh-high stockings, no unnecessary details", "A delicate lace thong adorned with pearls that shines subtly paired with matching cream sheer thigh-high stockings, a flawless and smooth fit", "A cutout lace thong that cleverly reveals strategic curves, paired with matching charcoal gray thigh-high stockings, seamless and elegant." ] POSES = [ "crossing one leg over the other, explicitly revealing the lace edge of the thong", "bending one knee with the other leg extended and slightly apart, causing the skirt to rise significantly", "standing with legs wide apart, weight shifted to one hip prominently exposing the top of the thigh-high stockings", "sitting sideways in a chair with legs crossed at the knees, clearly showing a thong", "lying on her back with legs open and knees bent, highlighting the contour of the thong", "leaning against a wall with one leg raised and bent, resting on the wall, explicitly provoking the thong and stocking", "on tiptoe with one leg bent backwards, the skirt lifted significantly to reveal lace details", "crouched down with knees wide apart and hips forward for a provocative thong shot", "walking with a slow, wide swing, the skirt waving to show clear glimpses of the thong", "stretching the legs while sitting with both knees bent and separated, the silhouette explicitly shows the shape of the underwear", "tilting the pelvis to one side while standing, with one leg crossed high behind the other to reveal garters and thong", "crouching with knees apart, back slightly arched, clearly hinting at the thong", "sitting upright in a chair with legs open, back straight and head slightly tilted down", "standing with legs apart, looking down with one leg slightly raised and bent", "back to the viewer, looking over the shoulder with one leg bent and raised, relaxed posture", "lying on her side on a sofa with legs open and slightly flexed, back visible and thong glimpsed", "getting up from a chair with legs open and back slightly arched", "standing with hands in her pockets, looking down with legs slightly apart", "sitting on the floor with legs open and crossed, back straight", "FROM THE ANKLES UP, CAPTURED FROM A VERY LOW ANGLE, showing the long legs and torso but with the head out of frame", "Sitting on an invisible surface, with one leg bent and the foot flat, the other flexed forward with the heel raised, the legs slightly apart. The lowest angle from the floor occupies the entire frame.", "Sitting on a transparent seat, with one leg down, one up and the legs slightly open. The camera is placed on the floor, shooting upwards, a full-body close-up that occupies the 9:16 frame, with no ground in sight.", "Model sitting on a transparent platform, with one knee raised, the other leg extended and one foot elevated, slightly open posture. Ground-level perspective looking up, full figure close-up, full frame, seamless background.", "Sitting on a hidden support, with one leg flexed and the other forward, with the heel elevated, slightly open posture. Captured from below, looking up. Close-up, full model, occupying the aspect ratio, not including the ground.", "On an invisible elevated point, one leg bent, another extended and flexed, legs apart. Extreme low-angle shot, from the ground up, close-up of the model, which occupies the entire 9:16 frame, with no background line.", "Resting on a clear base, with one leg anchored and the other forward, with the tip of the foot slightly open. Point of view from the floor, shooting high. Close-up of the celebrity, dominating the entire frame, the floor completely hidden.", "Sitting on an invisible chair, with one knee flexed, the other leg stretched with the heel up and legs slightly apart. Perspective from below, looking up, direct close-up of the model, full frame coverage, no visual trace of the ground.", "Posed on a suspended element, with a supporting leg and the other forward, with the legs open. Camera on the ground, directed upwards. Close-up of the celebrity's full figure, full frame. The floor disappears.", "Posed on an ethereal platform, with one leg bent and the other stretched forward, with legs apart. Captured from the lowest possible angle, looking at the sky, intense close-up, full frame taken by the model, no presence of ground.", "Model on an imperceptible support, with one leg resting on the ground, the other gracefully raised and legs naturally apart. Direct shot from the ground, close-up, the celebrity occupies the entire 9:16 frame, showing no ground at all." ] # Negative constants NEGATIVE_KEYWORDS = [ "NSFW, nude, explicit content, deformed, bad anatomy, extra limbs, " "blurry, low quality, cartoon, anime, childish, minor, grotesque, " "bad lighting, harsh shadows, annoying edges, vulgar and explicit display, " "Overexposed, underexposed, poorly framed, distracting elements" ] # Main functions def generate_single_prompt(name: str, scenario: str) -> str: if not name.strip(): raise ValueError("A non-empty name is required.") # Variable names are corrected to match the defined lists outfit = random.choice(OUTFITS), top = random.choice(TOPS), shoes = random.choice(SHOES), lingerie_set = random.choice(MATCHING_LINGERIE_SETS), hairstyle = random.choice(HAIRSTYLES_2), background = random.choice(BACKGROUND_VIEWS), angle = random.choice(ANGLES), skin = random.choice(SKIN_DETAILS), light = random.choice(LIGHTING), color = random.choice(COLOR_PROFILES), expression = random.choice(EXPRESSIONS), pose = random.choice(POSES), prompt =( f"ULTRA REALISTIC FULL COLOR PHOTOGRAPHY of {name}, with impeccable makeup, {hairstyle}, " f"dressed in {outfit} combined with {top}, complemented with {shoes} " f"and a delicate **{lingerie_set}**. Posed {scenario}, {pose}, captured {angle}, with **skin** {skin}. " f"The model looks **intensely at the viewer**, {expression}. The full-body portrait occupies the entire 9:16 UHD 16K (15360×8640) frame. " f"Taken with a **Canon EOS R5 Cine RAW** and a **Canon RF 85mm f/1.2L USM lens**. " f"The lighting is **{light}**, ensuring a radiant, shadowless scene that emphasizes realistic skin texture and delicate fabric. " f"**{color}**, explicitly avoiding black and white or desaturated tones. " f"The photo captures a natural, fluid movement that subtly reveals exquisite lingerie beneath the clothes." ) # Convert the tuple to a string negative_prompt = ", ".join(NEGATIVE_KEYWORDS) full_prompt = f"{prompt} | Negative prompt: {negative_prompt}" return full_prompt def generate_all_prompts(celebrity_name: str) -> list[str]: if not celebrity_name.strip(): return ["Please enter a valid name."] * 5 selected_scenarios = random.sample(OFFICE_SECRETARY_SCENARIOS, 2) + \ random.sample(SCHOOLGIRL_UNIFORM_SCENARIOS, 2) + \ random.sample(LINGERIE_MINISKIRT_SCENARIOS, 1) return [generate_single_prompt(celebrity_name, scenario) for scenario in selected_scenarios] # Gradio Interface css_theme = """ .gradio-container { background-color: #1a1a1a; color: #ffffff; } .dark .gradio-container, :root .dark .gradio-container { background-color: #1a1a1a; color: #ffffff; } .gradio-button { background-color: #dc2626; color: #ffffff; border-radius: 8px; border: none; font-weight: bold; } .gradio-button:hover { background-color: #ef4444; } .gradio-textbox textarea, .gradio-textbox input { background-color: #262626; color: #ffffff; border: 1px solid #4a4a4a; } .gradio-label { font-weight: bold; color: #ffffff; } h1 { color: #ef4444 !important; text-align: center; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; text-shadow: 2px 2px 4px #000000; } """ with gr.Blocks(theme=gr.themes.Monochrome) as demo: gr.Markdown( """ # Prompt Generator 🤖✨ Enter the name of the celebrity and generate 5 ultra-realistic prompts. """ ) with gr.Row(): name_input = gr.Textbox(label="Enter celebrity name", scale=3) generate_btn = gr.Button("Generate Prompts", scale=1) with gr.Row(): prompt_outputs = [ gr.Textbox(label=f"Prompt {i+1}", lines=20, interactive=False, show_copy_button=True) for i in range(5) ] generate_btn.click( fn=generate_all_prompts, inputs=name_input, outputs=prompt_outputs ) if __name__ == "__main__": demo.launch()