diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b97478b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" +}, +"python.formatting.provider": "none" +} diff --git a/sdxl_utility.py b/sdxl_utility.py index 2a5274a..a7bcca8 100644 --- a/sdxl_utility.py +++ b/sdxl_utility.py @@ -1,1402 +1,1753 @@ # Converting the prompt generation script into a ComfyUI plugin structure import random -import nodes -import re -ARTFORM = ["photography", "art"] -PHOTO_TYPE = [ - "surreal portrait", - "horror portrait", - "action portrait", - "self portrait", - "street portrait", - "half-body portrait", - "close up portrait", - "face shot portrait", - "studio portrait", - "glamour close up portrait", - "fine art close up portrait", - "Traditional posed portrait", - "candid portrait", - "environmental portrait", - "lifestyle portrait", - "documentary portrait", - "black and white portrait", - "color portrait", - "beauty portrait", - "glamour portrait", - "fine art portrait", - "fashion portrait", - "high key portrait", - "low key portrait", - "street portrait", - "self portrait", - ] - # EMOTIONS = ["beautiful", "glad", "sad", "angry", "neutral"] +# import nodes +import re + +ARTFORM = ["photography", "art"] +PHOTO_FRAMING = [ + "extreme close-up", + "close-up", + "medium close-up", + "medium shot", + "long shot", + "establishing shot", + "medium full shot", + "full shot", + "upper body shot", + "full body shot", +] +PHOTO_TYPE = [ + "front view", + "bilaterally symmetrical", + "side view", + "back view", + "from above", + "from below", + "from behind", + "wide angle view", + "fisheyes view", + "macro view", + "overhead shot", + "top down", + "bird’s eye view", + "high angle", + "slightly above", + "straight on", + "hero view", + "low view", + "selfie", +] + +# EMOTIONS = ["beautiful", "glad", "sad", "angry", "neutral"] DEFAULT_TAGS = [ - "a man", - "a woman", - "a young man", - "a young woman", - "a middle aged man", - "a middle aged woman", - "an old man", - "an old woman" - ] + "a man", + "a woman", + "a young man", + "a young woman", + "a middle aged man", + "a middle aged woman", + "an old man", + "an old woman", +] ROLES = [ - "as a ((cyborg))", - "as an ((x-men character))", - "as a ((marvel character))", - "as a ((character from lord of the rings))", - "as a ((superhero character))", - "as a ((scifi character))", - "as a ((character from star wars))", - "as a ((character from star trek))", - "as a ((character from the matrix))", - "as a ((character from the tv show the boys))", - "as a ((glamour model))", - "as a ((fashion model))", - "as a ((greek god))", - "as a ((norse god))", - "as a ((egyptian god))", - "as a ((construction worker))", - "as a ((teacher))", - "as a ((body builder))", - "as a ((pirate))", - "as a ((sanitation worker))", - "as a ((plumber))", - "as an ((electrician))", - "as a ((carpenter))", - "as a ((mechanic))", - "as a ((farmer))", - "as a ((fisherman))", - "as a ((hunter))", - "as a ((nerd))", - "as an ((accountant))", - "as an ((artist))", - "as an ((athlete))", - "as a ((baker))", - "as a ((barber))", - "as a ((bartender))", - "as a ((butcher))", - "as a ((doctor))", - "as a ((dentist))", - "as a ((dancer))", - "as a ((designer))", - "as a ((diver))", - "as a ((director))", - "as an ((engineer))", - "as a ((firefighter))", - "as a ((journalist))", - "as a ((lawyer))", - "as a ((mechanic))", - "as a ((musician))", - "as a ((nurse))", - "as a ((pilot))", - "as a ((police officer))", - "as a ((salesperson))", - "as a ((scientist))", - "as a ((web developer))", - "as a ((writer))", - "as a ((warrior))", - "as a ((mad scientist))", - "as a ((knight in armor))", - "as a ((jedi with a light saber))", - "as a ((wrestler))", - "as an ((astronaut))", - "as a ((warlord))", - "as a ((hobo))", - "as a ((surfer))", - "as a ((necromancer))", - "as a ((thiefling))", - "as a ((luxury person))", - "as an ((anthropomorphic creature))", - "as a ((samurai))", - "as a ((viking barbarian))", - "as an ((undead))", - "as a ((clown))", - "as a ((rockstar))", - "as an ((influencer))", - "as a ((priest))", - "((dressed as a pope))", - "((dressed as a king))", - "as a ((holy person))", - "as a ((hunter))", - "as an ((alien being))", - "as a ((soldier))", - "as an ((emo))", - "as an ((goth))", - "as an ((video game character))", - "as an ((michelin chef))", - "as a ((military person))", - "as a ((serial killer))", - "as a ((maniac))", - "as a ((captain))", - "as an ((evil magician))", - "as a ((pure blood))", - "as a ((dragon tamer))", - "as a ((warlock))", - "as a ((mermaid/merman))", - "as a ((cowboy))", - "as a ((black metal artist))", - "as a ((death metal front figure))", - "as an ((alien diplomat))", - "as a ((demigod))", - "as a ((monster hunter))", - "as a ((spaceship captain))", - "((dressed as jesus))", - "as ((the ultimate warrior))", - "as a wall street broker yuppie", - ] + "as a ((cyborg))", + "as an ((x-men character))", + "as a ((marvel character))", + "as a ((character from lord of the rings))", + "as a ((superhero character))", + "as a ((scifi character))", + "as a ((character from star wars))", + "as a ((character from star trek))", + "as a ((character from the matrix))", + "as a ((character from the tv show the boys))", + "as a ((glamour model))", + "as a ((fashion model))", + "as a ((greek god))", + "as a ((norse god))", + "as a ((egyptian god))", + "as a ((construction worker))", + "as a ((teacher))", + "as a ((body builder))", + "as a ((pirate))", + "as a ((sanitation worker))", + "as a ((plumber))", + "as an ((electrician))", + "as a ((carpenter))", + "as a ((mechanic))", + "as a ((farmer))", + "as a ((fisherman))", + "as a ((hunter))", + "as a ((nerd))", + "as an ((accountant))", + "as an ((artist))", + "as an ((athlete))", + "as a ((baker))", + "as a ((barber))", + "as a ((bartender))", + "as a ((butcher))", + "as a ((doctor))", + "as a ((dentist))", + "as a ((dancer))", + "as a ((designer))", + "as a ((diver))", + "as a ((director))", + "as an ((engineer))", + "as a ((firefighter))", + "as a ((journalist))", + "as a ((lawyer))", + "as a ((mechanic))", + "as a ((musician))", + "as a ((nurse))", + "as a ((pilot))", + "as a ((police officer))", + "as a ((salesperson))", + "as a ((scientist))", + "as a ((web developer))", + "as a ((writer))", + "as a ((warrior))", + "as a ((mad scientist))", + "as a ((knight in armor))", + "as a ((jedi with a light saber))", + "as a ((wrestler))", + "as an ((astronaut))", + "as a ((warlord))", + "as a ((hobo))", + "as a ((surfer))", + "as a ((necromancer))", + "as a ((thiefling))", + "as a ((luxury person))", + "as an ((anthropomorphic creature))", + "as a ((samurai))", + "as a ((viking barbarian))", + "as an ((undead))", + "as a ((clown))", + "as a ((rockstar))", + "as an ((influencer))", + "as a ((priest))", + "((dressed as a pope))", + "((dressed as a king))", + "as a ((holy person))", + "as a ((hunter))", + "as an ((alien being))", + "as a ((soldier))", + "as an ((emo))", + "as an ((goth))", + "as an ((video game character))", + "as an ((michelin chef))", + "as a ((military person))", + "as a ((serial killer))", + "as a ((maniac))", + "as a ((captain))", + "as an ((evil magician))", + "as a ((pure blood))", + "as a ((dragon tamer))", + "as a ((warlock))", + "as a ((mermaid/merman))", + "as a ((cowboy))", + "as a ((black metal artist))", + "as a ((death metal front figure))", + "as an ((alien diplomat))", + "as a ((demigod))", + "as a ((monster hunter))", + "as a ((spaceship captain))", + "((dressed as jesus))", + "as ((the ultimate warrior))", + "as a wall street broker yuppie", + "as a ((cyborg, a fusion of human and machine, often equipped with advanced technology and prosthetics))", + "as a ((dragon whisperer))", + "as a ((pixie gardener))", + "as a ((necromancer))", + "as a ((phoenix tamer))", + "as a ((crystal seer))", + "as a ((fairy godparent))", + "as a ((spellweaver))", + "as a ((merfolk ambassador))", + "as a ((goblin trader))", + "as a ((unicorn healer))", + "as a ((dreamcatcher crafter))", + "as a ((star navigator))", + "as a ((enchanted armor smith))", + "as a ((griffin rider))", + "as a ((potion master))", + "as a ((lunar diviner))", + "as a ((eldritch librarian))", + "as a ((celestial musician))", + "as a ((mystic botanist))", + "as a ((spiritual stonemason))", + "as a ((shadow puppeteer))", + "as a ((time weaver))", + "as a ((sorcerous scribe))", + "as a ((elemental geologist))", + "as a ((ethereal architect))", + "as a ((starship engineer))", + "as a ((quantum cryptographer))", + "as a ((exo-botanist))", + "as a ((alien linguist))", + "as a ((holodeck programmer))", + "as a ((cybernetic surgeon))", + "as a ((astrogation specialist))", + "as a ((zero-gravity artist))", + "as a ((stellar cartographer))", + "as a ((time-travel historian))", + "as a ((interstellar diplomat))", + "as a ((teleportation technician))", + "as a ((neural network designer))", + "as a ((bio-enhancement consultant))", + "as a ((warp drive mechanic))", + "as a ((xenobiology researcher))", + "as a ((nano-medic))", + "as a ((android ethicist))", + "as a ((galactic explorer))", + "as a ((synthetic life curator))", + "as a ((multiverse navigator))", + "as a ((quantum foam sculptor))", + "as a ((holographic performer))", + "as a ((asteroid miner))", + "as a ((interdimensional trader))", + "as a ((cultist recruiter))", + "as a ((elder sign engraver))", + "as a ((forbidden tome librarian))", + "as a ((abyssal ambassador))", + "as a ((deep one liaison))", + "as a ((madness muse))", + "as a ((eldritch etymologist))", + "as a ((non-euclidean architect))", + "as a ((miskatonic scholar))", + "as a ((R'lyeh relic researcher))", + "as a ((dreamland cartographer))", + "as a ((night-gaunt navigator))", + "as a ((shub-niggurath shepherd))", + "as a ((yog-sothoth yodeler))", + "as a ((innsmouth innkeeper))", + "as a ((cthulhu chorister))", + "as a ((dagon devotee))", + "as a ((arkham archaeologist))", + "as a ((leng plateau pilgrim))", + "as a ((whisperer-in-darkness translator))", + "as a ((azathoth astronomer))", + "as a ((nyarlathotep negotiator))", + "as a ((carcosa curator))", + "as a ((tsathoggua therapist))", + "as a ((elder thing ethnographer))", + "as a ((neon netrunner))", + "as a ((cyberdeck coder))", + "as a ((techno-shaman))", + "as a ((hologram hustler))", + "as a ((megacity mercenary))", + "as a ((virtual voodoo priest))", + "as a ((data dive drifter))", + "as a ((chrome chaser))", + "as a ((synthwave slicer))", + "as a ((replicant rehabilitator))", + "as a ((black market biomod broker))", + "as a ((augmented artisan))", + "as a ((neural network ninja))", + "as a ((quantum qubit quixote))", + "as a ((cyberspace salvager))", + "as a ((pixel punker))", + "as a ((nanotech nomad))", + "as a ((binary blade bouncer))", + "as a ((digital dystopia detective))", + "as a ((megabuilding mapper))", + "as a ((corpo-hacker confidante))", + "as a ((aero auto-rickshaw racer))", + "as a ((skyline slicer))", + "as a ((terminal trickster))", + "as a ((matrix maverick))", +] HAIRSTYLES = [ - "with ((long hair))", - "with ((very curly hair))", - "with ((curly hair))", - "with ((pixie cut hair))", - "with ((bob cut hair))", - "with ((undercut hair))", - "with ((messy hair))", - "with ((mullet hair))", - "with ((braids))", - "with ((french braids))", - "with ((cornrows hair))", - "with ((ponytail hair))", - "with ((side part hair))", - "with ((mohawk hair))", - "with ((bun hair))", - "with ((pompadour hair))", - "with ((slicked back hair))", - "with ((asymmetrical cut hair))", - "with ((multicolored rainbow hair))", - "with ((balayage hair))", - "with ((french crop hair))", - "with ((shaved hair))", - "with ((shaved sides hair))", - "with ((side swept fringe))", - "with ((long bob haircut))", - "with ((a-line bob haircut))", - "with ((layered cut haircut))", - "with ((shag cut hair))", - "with ((buzz cut hair))", - "with ((feathered cut hair))", - "with ((blunt cut hair))", - "with ((undercut hair))", - "with ((french bob haircut))", - "with ((textured bob haircut))", - "with ((slicked-back haircut))", - "with ((wedge cut haircut))", - "with ((long layers haircut))", - "with ((curly bob haircut))", - "with ((cropped cut haircut))", - "with ((faux hawk haircut))", - "with ((angled bob haircut))", - "with ((razor cut haircut))", - "with ((emo haircut))", - "with ((curtain bangs haircut))", - "with ((waterfall braid haircut))", - "with ((fox braids haircut))", - "with ((chignon cut hair))", - "with ((pigtails))", - "with ((plait hair))", - "with ((ponytail))", - "with ((ringlets hair))", - "with ((curl hair))", - "with ((double bun topknot))", - "with ((drill cut hair))", - "with ((twintails hair))", - "with ((hair set up for wedding))", - "with ((wavy hair))", - ] + "with ((long hair))", + "with ((very curly hair))", + "with ((curly hair))", + "with ((pixie cut hair))", + "with ((bob cut hair))", + "with ((undercut hair))", + "with ((messy hair))", + "with ((mullet hair))", + "with ((braids))", + "with ((french braids))", + "with ((cornrows hair))", + "with ((ponytail hair))", + "with ((side part hair))", + "with ((mohawk hair))", + "with ((bun hair))", + "with ((pompadour hair))", + "with ((slicked back hair))", + "with ((asymmetrical cut hair))", + "with ((multicolored rainbow hair))", + "with ((balayage hair))", + "with ((french crop hair))", + "with ((shaved hair))", + "with ((shaved sides hair))", + "with ((side swept fringe))", + "with ((long bob haircut))", + "with ((a-line bob haircut))", + "with ((layered cut haircut))", + "with ((shag cut hair))", + "with ((buzz cut hair))", + "with ((feathered cut hair))", + "with ((blunt cut hair))", + "with ((undercut hair))", + "with ((french bob haircut))", + "with ((textured bob haircut))", + "with ((slicked-back haircut))", + "with ((wedge cut haircut))", + "with ((long layers haircut))", + "with ((curly bob haircut))", + "with ((cropped cut haircut))", + "with ((faux hawk haircut))", + "with ((angled bob haircut))", + "with ((razor cut haircut))", + "with ((emo haircut))", + "with ((curtain bangs haircut))", + "with ((waterfall braid haircut))", + "with ((fox braids haircut))", + "with ((chignon cut hair))", + "with ((pigtails))", + "with ((plait hair))", + "with ((ponytail))", + "with ((ringlets hair))", + "with ((curl hair))", + "with ((double bun topknot))", + "with ((drill cut hair))", + "with ((twintails hair))", + "with ((hair set up for wedding))", + "with ((wavy hair))", + "with ((beach waves hair))", + "with ((fishtail braid))", + "with ((dreadlocks))", + "with ((pin curls hair))", + "with ((twisted updo))", + "with ((hime cut hair))", + "with ((pull-through braid hair))", + "with ((Afro hair))", + "with ((crown braid))", + "with ((low fade haircut))", + "with ((man bun))", + "with ((finger waves hair))", + "with ((Dutch braids))", + "with ((tousled hair))", + "with ((princess cut hair))", + "with ((micro braids hair))", + "with ((lob haircut))", + "with ((senegalese twist hair))", + "with ((victory rolls hair))", + "with ((quiff haircut))", + "with ((mermaid waves hair))", + "with ((box braids))", + "with ((faux locs hair))", + "with ((bantu knots))", + "with ((spiral curls hair))", +] ADDITIONAL_DETAILS = [ - "a purple iridescent suit", - "wearing a (necklace)", - "wearing ((earrings))", - "wearing a (bracelet)", - "wearing one or multiple (rings)", - "wearing a (brooch)", - "wearing (eyeglasses)", - "wearing (sunglasses)", - "wearing a (hat)", - "wearing a (scarf)", - "wearing a (headband)", - "wearing a (nose ring)", - "wearing a (lip ring)", - "wearing a (tongue ring)", - "wearing an (eyebrow ring)", - "wearing (face tattoos)", - "wearing a (wreath)", - "wearing a (crown)", - "wearing a (tiara)", - "wearing a (crown of thorns)", - "wearing a (crown of jewels)", - "wearing (bohemian clothes)", - "wearing (chic clothes)", - "wearing (glamorous clothes)", - "wearing (grunge clothes)", - "wearing (preppy clothes)", - "wearing (punk clothes)", - "wearing (retro clothes)", - "wearing (rockabilly clothes)", - "wearing (romantic clothes)", - "wearing (tomboy clothes)", - "wearing (urban clothes)", - "wearing (camo clothes)", - "wearing (robes)", - "wearing (excessive amount of jewellery)", - "wearing (vintage clothes)", - "wearing (western clothes)", - "wearing (minimalist clothes)", - "wearing (sportswear clothes)", - "wearing (flapper clothes)", - "wearing (pin-up clothes)", - "wearing (mid-century modern clothes)", - "wearing (art deco clothes)", - "wearing (victorian clothes)", - "wearing (edwardian clothes)", - "wearing (elizabethan clothes)", - "wearing (retro 70s clothes)", - "wearing (retro 80s clothes)", - "wearing (retro 90s clothes)", - "wearing (retro 00s clothes)", - "wearing (musical equipment)", - "wearing (leather)", - "wearing (bdsm leather)", - "wearing (shiny latex)", - "wearing (shiny latex suit)", - "wearing (silk)", - "wearing (full tweed set)", - "wearing (clothes made entirely of feathers)", - "wearing (clothes made entirely of fur)", - "wearing (clothes made entirely of leather)", - "wearing (clothes made entirely of metal)", - "wearing (clothes made entirely of plastic)", - "wearing (clothes adorned with shimmering jewels or crystals)", - "waring (clothes adorned with sequins)", - "wearing (clothes with exaggerated or extreme silhouettes)", - "wearing (clothes with exaggerated or extreme footwear)", - "wearing (clothes with exaggerated or extreme headwear)", - "wearing (clothes with exaggerated or extreme facial or body piercings or tattoos)", - "wearing (clothes with multiple layers or tiers)", - "wearing (clothes with exaggerated or extreme colors)", - "wearing (clothes with exaggerated or extreme patterns)", - "wearing (cloak)", - "wearing an astronaut armor", - "wearing a bio mechanical suit", - "wearing a bio hazard suit", - "(( working with laptop))", - "with Heat deformation", - "(((future soldier, full body armor, futuristic football, shoulder pads, guns, grenades, weapons, bullet proof vest, high tech, straps, belts, camouflage)))", - "((full body, zoomed out)) long slender legs 80mm", - "(((sci-fi, future war, cyberpunk, cyborg, future fashion, beautiful face, glowing tattoos)))", - "((angry expression, pretty face))", - "(((full body, athletic body, action pose, detailed black soldier outfit, slender long legs)))", - "playing epic electric guitar solo in front of a huge crowd", - "singing epic solo into a microphone in front of a huge crowd", - "as a ((gelatinous horror dripping alien creature))", - ] + "a purple iridescent suit", + "wearing a (necklace)", + "wearing ((earrings))", + "wearing a (bracelet)", + "wearing one or multiple (rings)", + "wearing a (brooch)", + "wearing (eyeglasses)", + "wearing (sunglasses)", + "wearing a (hat)", + "wearing a (scarf)", + "wearing a (headband)", + "wearing a (nose ring)", + "wearing a (lip ring)", + "wearing a (tongue ring)", + "wearing an (eyebrow ring)", + "wearing (face tattoos)", + "wearing a (wreath)", + "wearing a (crown)", + "wearing a (tiara)", + "wearing a (crown of thorns)", + "wearing a (crown of jewels)", + "wearing (bohemian clothes)", + "wearing (chic clothes)", + "wearing (glamorous clothes)", + "wearing (grunge clothes)", + "wearing (preppy clothes)", + "wearing (punk clothes)", + "wearing (retro clothes)", + "wearing (rockabilly clothes)", + "wearing (romantic clothes)", + "wearing (tomboy clothes)", + "wearing (urban clothes)", + "wearing (camo clothes)", + "wearing (robes)", + "wearing (excessive amount of jewellery)", + "wearing (vintage clothes)", + "wearing (western clothes)", + "wearing (minimalist clothes)", + "wearing (sportswear clothes)", + "wearing (flapper clothes)", + "wearing (pin-up clothes)", + "wearing (mid-century modern clothes)", + "wearing (art deco clothes)", + "wearing (victorian clothes)", + "wearing (edwardian clothes)", + "wearing (elizabethan clothes)", + "wearing (retro 70s clothes)", + "wearing (retro 80s clothes)", + "wearing (retro 90s clothes)", + "wearing (retro 00s clothes)", + "wearing (musical equipment)", + "wearing (leather)", + "wearing (bdsm leather)", + "wearing (shiny latex)", + "wearing (shiny latex suit)", + "wearing (silk)", + "wearing (full tweed set)", + "wearing (clothes made entirely of feathers)", + "wearing (clothes made entirely of fur)", + "wearing (clothes made entirely of leather)", + "wearing (clothes made entirely of metal)", + "wearing (clothes made entirely of plastic)", + "wearing (clothes adorned with shimmering jewels or crystals)", + "waring (clothes adorned with sequins)", + "wearing (clothes with exaggerated or extreme silhouettes)", + "wearing (clothes with exaggerated or extreme footwear)", + "wearing (clothes with exaggerated or extreme headwear)", + "wearing (clothes with exaggerated or extreme facial or body piercings or tattoos)", + "wearing (clothes with multiple layers or tiers)", + "wearing (clothes with exaggerated or extreme colors)", + "wearing (clothes with exaggerated or extreme patterns)", + "wearing (cloak)", + "wearing an astronaut armor", + "wearing a bio mechanical suit", + "wearing a bio hazard suit", + "(( working with laptop))", + "with Heat deformation", + "(((future soldier, full body armor, futuristic football, shoulder pads, guns, grenades, weapons, bullet proof vest, high tech, straps, belts, camouflage)))", + "((full body, zoomed out)) long slender legs 80mm", + "(((sci-fi, future war, cyberpunk, cyborg, future fashion, beautiful face, glowing tattoos)))", + "((angry expression, pretty face))", + "(((full body, athletic body, action pose, detailed black soldier outfit, slender long legs)))", + "playing epic electric guitar solo in front of a huge crowd", + "singing epic solo into a microphone in front of a huge crowd", + "as a ((gelatinous horror dripping alien creature))", + "in a tie or bowtie, lending a touch of formal elegance or quirky charm, knotted around the collar to elevate the outfit", + "with anklets, delicate chains or beads that gracefully encircle the ankle, adding a touch of femininity with every step", + "donning a belt, functional yet fashionable, cinching the waist or sitting low on the hips, often with a statement buckle", + "wearing gloves, either elegant satin for formal events or rugged leather for a tougher look, complementing the attire and mood", + "with a choker, snugly encircling the neck, often made of lace, velvet, or leather, exuding a mix of elegance and edge", + "in stockings or tights, sheer or opaque, enhancing the legs while adding a touch of sophistication or playful patterns", + "with a satchel or bag, a functional accessory that speaks volumes about personal style, be it a minimalist tote or an embellished clutch", + "wearing cufflinks, subtle symbols of elegance, adorning the sleeves of a formal shirt, showcasing attention to detail", + "with a pendant, a piece of jewelry that dangles gracefully from a necklace, often holding sentimental or symbolic value", + "in layered necklaces, a blend of chains of varying lengths, creating depth and showcasing multiple pendants or charms", + "sporting a watch, a timeless accessory that blends functionality with style, either minimalist or grand, reflecting personal tastes", + "wearing a veil, a delicate piece of fabric that adds mystery and allure, often seen in bridal or ceremonial attire", + "donning a cape or cloak, adding drama to the ensemble, flowing gracefully with every movement, evoking a sense of fantasy or regality", + "with a tiara or diadem, a jeweled headpiece that signifies royalty or celebration, resting gracefully atop the head", + "Adorned with a crown, symbolizing royalty and authority with gemstones and metals.", + "With a sparkling tiara, reminiscent of princesses or beauty queens.", + "With a poignant crown of thorns, symbolizing sacrifice and resilience.", + "With a jewel-encrusted crown, reflecting affluence and grandeur.", + "In bohemian attire, embodying the free spirits with patterns and fringes.", + "Dressed in chic fashion, blending comfort with high style.", + "In glamorous attire, shiny or sequined, perfect for red-carpet events.", + "Donning grunge wear, with flannels and combat boots, reflecting rebellion.", + "In preppy attire, sophisticated with collared shirts and blazers.", + "Wearing punk fashion, with studded accessories and band tees.", + "In retro attire, drawing from various iconic decades.", + "In rockabilly style, mixing rock 'n' roll with polka dots and swing dresses.", + "In romantic wear, with lace, ruffles, and pastel shades.", + "In tomboy attire, masculine pieces with a feminine flair.", + "Wearing urban fashion, blending street style with graphic tees and chunky sneakers.", + "In camo wear, military-inspired, blending in yet standing out.", + "Draped in mystic robes, evoking scholars or wizards.", + "Adorned in abundant jewelry, each piece showcasing unique style.", + "In vintage attire, echoing past eras with intricate designs.", + "In western wear, with cowboy hats and fringed jackets.", + "In minimalist fashion, elegant with clean lines and neutral tones.", + "Wearing sportswear, functional with athletic shoes.", + "In flapper style, evoking the lively 1920s jazz scene.", + "In pin-up attire, oozing sensuality with high-waists and red lipstick.", + "In mid-century modern fashion, reflecting post-war optimism.", + "In art deco style, fusing modern with lavish 20s embellishments.", + "Dressed in Victorian elegance, with corsets and intricate lacework.", + "In Edwardian attire, showcasing lighter fabrics, empire waistlines, and large hats.", + "Dressed in Elizabethan style, with ruffled collars, velvet gowns, and detailed embroidery.", + "In 70s retro, featuring psychedelic patterns, bell-bottoms, and platform shoes.", + "Wearing 80s retro, marked by neon colors, shoulder pads, and oversized tops.", + "In 90s attire, blending grunge, minimalism, and sportswear, with baggy jeans and crop tops.", + "Donning 00s style, with low-rise jeans, bedazzled tops, and chunky belts.", + "Adorned with musical accessories, like a harmonica necklace or drumstick earrings.", + "In leather, symbolizing toughness with studs or zippers.", + "In bold BDSM leather, featuring harnesses, chokers, and lace-up details.", + "In reflective latex, often seen in avant-garde fashion.", + "In a glossy latex suit, paired with high heels or boots.", + "Draped in luxurious silk, synonymous with opulence and elegance.", + "In a tweed ensemble, reflecting academia or British countryside charm.", + "Clothed in feathers, creating drama with each step.", + "In fur, a symbol of luxury and grandeur.", + "In metallic attire, with futuristic chains or mesh details.", + "In vibrant plastic wear, modern and edgy.", + "Adorned in dazzling jewels or crystals.", + "In sequined attire, perfect for parties or performances.", + "In exaggerated silhouettes, challenging fashion norms.", + "In layered clothing, adding depth and dimension.", + "In astronaut armor, representing space exploration.", + "In a bio-mechanical suit, blending organic and synthetic elements.", + "Wearing a protective biohazard suit.", + "Engaged with a laptop, reflecting a tech-savvy nature.", + "Surrounded by heat deformation or mirage effects.", + "As a futuristic soldier, equipped for dystopian warfare.", + "A translucent, amorphous alien creature, often found in horror or sci-fi.", + "Wearing a cloak, suggesting mystery, fantasy, or protection.", + "Playing a gripping electric guitar solo, immersed in the audience's energy.", + "Singing intensely, with the crowd hanging on every word.", + "A pulsating, translucent horror, invoking fear and intrigue.", + "Full-body view highlighting slender legs and distinctive footwear.", + "Futuristic, with glowing tattoos and cybernetic features.", + "Angry expression on a strikingly beautiful face.", + "In an action pose, dressed in a detailed black soldier outfit.", + "Lost in an electric guitar solo, resonating with listeners.", + "Singing powerfully, captivating the audience with deep emotion.", + "A shifting, glistening alien horror from the universe's dark corners.", + "Full body, focusing on 80mm slender legs emphasizing height.", + "Blending sci-fi, cyberpunk, and glowing tattoos with futuristic weapons.", + "Attire shimmering due to heat, creating a mirage effect.", + "A future soldier with body armor, high-tech gear, and camouflaged straps.", + "Guitar solo with a crowd backdrop, producing electrifying sounds.", + "Singing with passion, surrounded by lights and a massive audience's energy.", + "A shifting, oozing alien creature, invoking dread and curiosity.", + "Full-body focus on remarkable 80mm slender legs.", + "A future soldier with cyberpunk aesthetics and glowing tattoos.", + "Intense expression on a stunning face, showing raw emotion.", + "Athletic pose in a detailed black soldier outfit, emphasizing a fit physique.", + "Electrifying guitar solo before a massive cheering crowd.", + "Singing with raw emotion, captivating a vast audience.", + "A gelatinous, glowing alien creature; both feared and intriguing.", + "Full-body shot highlighting exaggerated 80mm slender legs.", + "Adorned in sci-fi, cyberpunk attire with glowing tattoos.", + "Heated demeanor causing mirage-like distortions around them.", + "Future soldier in body armor with high-tech gear.", + "Zoomed-out shot emphasizing 80mm long slender legs.", + "Sci-fi and cyberpunk blend with glowing tattoos.", + "Epic guitar solo captivating a vast audience.", + "Intense solo performance with a powerful voice.", + "Ever-changing gelatinous alien of horror.", + "Full-body shot, 80mm slender legs in focus.", + "Futuristic, cyberpunk with glow-emitting tattoos.", + "Heat-induced warping surroundings like a mirage.", + "Tech-equipped future soldier ready for battle.", + "Full-body view, 80mm legs as highlight.", + "Sci-fi blend with glow-in-the-dark tattoos.", + "Swift guitar solo resonating with a huge crowd.", + "Passionate vocal solo captivating listeners.", + "Dripping, amorphous alien creature.", + "Full-body stance, 80mm slender legs showcased.", + "a shimmering sequin dress", + "wearing studded (ankle boots)", + "donning a (velvet cape)", + "wearing a (choker)", + "sporting (platform shoes)", + "adorned with a (body chain)", + "wearing a (fringed jacket)", + "donning (fingerless gloves)", + "wearing (fishnet stockings)", + "draped in a (kimono)", + "wearing (combat boots)", + "adorned with a (belly chain)", + "wearing a (biker jacket)", + "donning (thigh-high boots)", + "wearing (steampunk goggles)", + "adorned with (arm cuffs)", + "wearing a (corset belt)", + "donning a (turban)", + "sporting a (feathered headdress)", + "wearing (holo sneakers)", + "adorned with (toe rings)", + "draped in a (sari)", + "wearing (futuristic visor)", + "sporting (peep-toe heels)", + "adorned with (upper arm bracelets)", + "wearing a (poncho)", + "donning (knee-high socks)", + "draped in a (toga)", + "wearing a (flapper dress)", + "sporting (winged shoes)", + "wearing a (ruffled blouse)", + "adorned with a (leg chain)", + "wearing (gladiator sandals)", + "draped in a (cloak)", + "sporting (suspenders)", + "donning a (beret)", + "wearing (cufflinks)", + "adorned with a (medallion)", + "wearing (spats)", + "sporting (elbow-length gloves)", + "donning (denim overalls)", + "wearing a (mesh top)", + "adorned with (ear cuffs)", + "draped in a (shawl)", + "wearing a (trilby hat)", + "sporting (stiletto heels)", + "wearing a (vest)", + "adorned with (hairpins)", + "wearing (espadrilles)", + "draped in a (trench coat)", +] PHOTOGRAPHY_STYLES = [ - "high fashion photography", - "avant garde photography", - "fashion photography", - "portrait photography", - "landscape photography", - "documentary photography", - "street photography", - "action photography", - "vintage photography", - ] + "high fashion photography", + "avant garde photography", + "fashion photography", + "portrait photography", + "landscape photography", + "documentary photography", + "street photography", + "action photography", + "vintage photography", +] DEVICE = [ - "Canon EOS 5D Mark IV with Canon EF 24-70mm f-2.8L II", - "Canon EOS 90D with Canon EF-S 18-135mm f-3.5-5.6 IS USM", - "Canon EOS M6 Mark II with Canon EF-M 32mm f-1.4", - "Canon EOS R with Canon RF 28-70mm f-2L", - "Canon EOS-1D X Mark III with Canon EF 50mm f-1.2L", - "Canon PowerShot G5 X Mark II with Built-in 8.8-44mm f-1.8-2.8", - "DJI Mavic Air 2 with Built-in 24mm f-2.8", - "FujiFilm X-T4 with Fujinon XF 35mm f-2 R WR", - "Fujifilm GFX 100 with GF 110mm f-2 R LM WR", - "Fujifilm X-Pro3 with Fujinon XF 56mm f-1.2 R", - "Fujifilm X-S10 with Fujinon XF 10-24mm f-4 R OIS WR", - "Fujifilm X100V with Fujinon 23mm f-2", - "GoPro HERO9 with Built-in f-2.8 Ultra-Wide", - "Hasselblad 907X with Hasselblad XCD 30mm f-3.5", - "Hasselblad X1D II with Hasselblad XCD 65mm f-2.8", - "Kodak PIXPRO AZ901 with Built-in 4.3-258mm f-2.9-6.7", - "Leica CL with Leica Summilux-TL 35mm f-1.4 ASPH", - "Leica M10 with LEICA 35mm f-2 SUMMICRON-M ASPH", - "Leica Q2 with Summilux 28mm f-1.7 ASPH", - "Leica SL2 with Leica APO-Summicron-SL 50mm f-2 ASPH", - "Nikon Coolpix P950 with Built-in 24-2000mm f-2.8-6.5", - "Nikon D780 with Nikkor 14-24mm f-2.8G", - "Nikon D850 with Nikkor 50mm f-1.8", - "Nikon Z50 with Nikon Z DX 16-50mm f-3.5-6.3", - "Nikon Z6 II with Nikon Z 24-70mm f-4 S", - "Nikon Z7 with Nikon Z 70-200mm f-2.8 VR S", - "Olympus OM-D E-M1 Mark III with M.Zuiko 12-40mm f-2.8", - "Olympus OM-D E-M5 Mark III with M.Zuiko 40-150mm f-2.8", - "Olympus PEN-F with M.Zuiko 17mm f-1.8", - "Olympus Tough TG-6 with Built-in 4.5-18mm f-2-4.9", - "Panasonic Lumix G9 with Leica DG 42.5mm f-1.2", - "Panasonic Lumix GH5 with Leica DG 25mm f-1.4", - "Panasonic Lumix S5 with Lumix S PRO 70-200mm f-2.8 O.I.S", - "Panasonic S1R with Lumix S 50mm f-1.4", - "Pentax 645Z with Pentax-D FA 645 55mm f-2.8", - "Pentax K-1 Mark II with Pentax FA 43mm f-1.9 Limited", - "Pentax KP with Pentax HD DA 20-40mm f-2.8-4", - "Ricoh GR III with GR 18.3mm f-2.8", - "Sigma fp with Sigma 45mm f-2.8 DG DN", - "Sigma sd Quattro H with Sigma 24-70mm f-2.8 DG", - "Sony A1 with Sony FE 20mm f-1.8 G", - "Sony A6400 with Sony E 35mm f-1.8 OSS", - "Sony A7C with Sony FE 28-60mm f-4-5.6", - "Sony A7R IV with Sony FE 85mm f-1.4 GM", - "Sony A9 II with Sony FE 24-70mm f-2.8 GM", - "Sony RX100 VII with Built-in 24-200mm f-2.8-4.5" + "Canon EOS 5D Mark IV with Canon EF 24-70mm f-2.8L II", + "Canon EOS 90D with Canon EF-S 18-135mm f-3.5-5.6 IS USM", + "Canon EOS M6 Mark II with Canon EF-M 32mm f-1.4", + "Canon EOS R with Canon RF 28-70mm f-2L", + "Canon EOS-1D X Mark III with Canon EF 50mm f-1.2L", + "Canon PowerShot G5 X Mark II with Built-in 8.8-44mm f-1.8-2.8", + "DJI Mavic Air 2 with Built-in 24mm f-2.8", + "FujiFilm X-T4 with Fujinon XF 35mm f-2 R WR", + "Fujifilm GFX 100 with GF 110mm f-2 R LM WR", + "Fujifilm X-Pro3 with Fujinon XF 56mm f-1.2 R", + "Fujifilm X-S10 with Fujinon XF 10-24mm f-4 R OIS WR", + "Fujifilm X100V with Fujinon 23mm f-2", + "GoPro HERO9 with Built-in f-2.8 Ultra-Wide", + "Hasselblad 907X with Hasselblad XCD 30mm f-3.5", + "Hasselblad X1D II with Hasselblad XCD 65mm f-2.8", + "Kodak PIXPRO AZ901 with Built-in 4.3-258mm f-2.9-6.7", + "Leica CL with Leica Summilux-TL 35mm f-1.4 ASPH", + "Leica M10 with LEICA 35mm f-2 SUMMICRON-M ASPH", + "Leica Q2 with Summilux 28mm f-1.7 ASPH", + "Leica SL2 with Leica APO-Summicron-SL 50mm f-2 ASPH", + "Nikon Coolpix P950 with Built-in 24-2000mm f-2.8-6.5", + "Nikon D780 with Nikkor 14-24mm f-2.8G", + "Nikon D850 with Nikkor 50mm f-1.8", + "Nikon Z50 with Nikon Z DX 16-50mm f-3.5-6.3", + "Nikon Z6 II with Nikon Z 24-70mm f-4 S", + "Nikon Z7 with Nikon Z 70-200mm f-2.8 VR S", + "Olympus OM-D E-M1 Mark III with M.Zuiko 12-40mm f-2.8", + "Olympus OM-D E-M5 Mark III with M.Zuiko 40-150mm f-2.8", + "Olympus PEN-F with M.Zuiko 17mm f-1.8", + "Olympus Tough TG-6 with Built-in 4.5-18mm f-2-4.9", + "Panasonic Lumix G9 with Leica DG 42.5mm f-1.2", + "Panasonic Lumix GH5 with Leica DG 25mm f-1.4", + "Panasonic Lumix S5 with Lumix S PRO 70-200mm f-2.8 O.I.S", + "Panasonic S1R with Lumix S 50mm f-1.4", + "Pentax 645Z with Pentax-D FA 645 55mm f-2.8", + "Pentax K-1 Mark II with Pentax FA 43mm f-1.9 Limited", + "Pentax KP with Pentax HD DA 20-40mm f-2.8-4", + "Ricoh GR III with GR 18.3mm f-2.8", + "Sigma fp with Sigma 45mm f-2.8 DG DN", + "Sigma sd Quattro H with Sigma 24-70mm f-2.8 DG", + "Sony A1 with Sony FE 20mm f-1.8 G", + "Sony A6400 with Sony E 35mm f-1.8 OSS", + "Sony A7C with Sony FE 28-60mm f-4-5.6", + "Sony A7R IV with Sony FE 85mm f-1.4 GM", + "Sony A9 II with Sony FE 24-70mm f-2.8 GM", + "Sony RX100 VII with Built-in 24-200mm f-2.8-4.5", +] - ] - - # DEVICE = [ - # "Hasselblad X1D-50c", - # "Nikon Z7II", - # "Canon EOS R3", - # "Sony A7R III", - # "Alexa 65", - # "Sony A7", - # "Fujifilm XT3", - # "Canon EOS R3", - # "(35mm Hasselblad 500C/M camera using Lomography colour 400 film at f/1.8)", - # ] +# DEVICE = [ +# "Hasselblad X1D-50c", +# "Nikon Z7II", +# "Canon EOS R3", +# "Sony A7R III", +# "Alexa 65", +# "Sony A7", +# "Fujifilm XT3", +# "Canon EOS R3", +# "(35mm Hasselblad 500C/M camera using Lomography colour 400 film at f/1.8)", +# ] PHOTOGRAPHER = [ - "Alessio Albi", - "Alvin Langdon Coburn", - "Anne Brigman", - "Ansel Adams", - "Anton Corbijn", - "Berenice Abbott", - "Bill Brandt", - "Brooke DiDonato", - "Bruce Davidson", - "Bruno Barbey", - "Chris Burkard", - "Claude Cahun", - "David Bailey", - "David Burdeny", - "Dawoud Bey", - "Diane Arbus", - "Dirk Braeckman", - "Edward Burtynsky", - "Edward S. Curtis", - "Elina Brotherus", - "Elsa Bleda", - "Erwin Blumenfeld", - "Flora Borsi", - "Gregory Colbert", - "Gregory Crewdson", - "Guy Aroch", - "Guy Bourdin", - "Hans Bellmer", - "Harry Benson", - "Harry Callahan", - "Henri Cartier-Bresson", - "Ilse Bing", - "Imogen Cunningham", - "Iwan Baan", - "James Balog", - "Jamie Baldridge", - "James Balog", - "Julia Margaret Cameron", - "Julie Blackmon", - "Karl Blossfeldt", - "Katia Chausheva", - "Keith Carter", - "Larry Burrows", - "Larry Clark", - "Laurent Baheux", - "Lewis Baltz", - "Lillian Bassman", - "Lynsey Addario", - "Margaret Bourke-White", - "Marianne Breslauer", - "Marta Bevacqua", - "Mathew Brady", - "Miki Asai", - "Miles Aldridge", - "Nick Brandt", - "Nobuyoshi Araki", - "Olive Cotton", - "Patrick Demarchelier", - "Paul Barson", - "Petra Collins", - "Petra Collins", - "Richard Avedon", - "Rineke Dijkstra", - "Robby Cavanaugh", - "Robert Adams", - "Robert Capa", - "Roger Ballen", - "Ruth Bernhard", - "Slim Aarons", - "Tami Bone", - "Tina Barney", - "Vanley Burke", - ] + "Alessio Albi", + "Alvin Langdon Coburn", + "Anne Brigman", + "Ansel Adams", + "Anton Corbijn", + "Berenice Abbott", + "Bill Brandt", + "Brooke DiDonato", + "Bruce Davidson", + "Bruno Barbey", + "Chris Burkard", + "Claude Cahun", + "David Bailey", + "David Burdeny", + "Dawoud Bey", + "Diane Arbus", + "Dirk Braeckman", + "Edward Burtynsky", + "Edward S. Curtis", + "Elina Brotherus", + "Elsa Bleda", + "Erwin Blumenfeld", + "Flora Borsi", + "Gregory Colbert", + "Gregory Crewdson", + "Guy Aroch", + "Guy Bourdin", + "Hans Bellmer", + "Harry Benson", + "Harry Callahan", + "Henri Cartier-Bresson", + "Ilse Bing", + "Imogen Cunningham", + "Iwan Baan", + "James Balog", + "Jamie Baldridge", + "James Balog", + "Julia Margaret Cameron", + "Julie Blackmon", + "Karl Blossfeldt", + "Katia Chausheva", + "Keith Carter", + "Larry Burrows", + "Larry Clark", + "Laurent Baheux", + "Lewis Baltz", + "Lillian Bassman", + "Lynsey Addario", + "Margaret Bourke-White", + "Marianne Breslauer", + "Marta Bevacqua", + "Mathew Brady", + "Miki Asai", + "Miles Aldridge", + "Nick Brandt", + "Nobuyoshi Araki", + "Olive Cotton", + "Patrick Demarchelier", + "Paul Barson", + "Petra Collins", + "Petra Collins", + "Richard Avedon", + "Rineke Dijkstra", + "Robby Cavanaugh", + "Robert Adams", + "Robert Capa", + "Roger Ballen", + "Ruth Bernhard", + "Slim Aarons", + "Tami Bone", + "Tina Barney", + "Vanley Burke", +] ARTIST = [ - "Akihito Tsukushi", - "Al Hirschfeld", - "Alan Lee", - "Albert Bierstadt", - "Albert Uderzo", - "Alberto Giacometti", - "Alberto Vargas", - "Albrecht Durer", - "Alejandro Burdisio", - "Aleksi Briclot", - "Alessio Albi", - "Alena Aenami", - "Alex Gard", - "Alex Grey", - "Alex Maleev", - "Alexander Jansson", - "Alexander Milne Calder", - "Alexandre Cabanel", - "Alexei Savrasov", - "Alexej von Jawlensky", - "Alfred Kubin", - "Alfredo Volpi", - "Alice Neel", - "Alice Rahon", - "Alphonse Mucha", - "Alyssa Monks", - "Amanda Clark", - "Amanda Sage", - "Amedeo Modigliani", - "Amelie Bernard", - "Anders Zorn", - "Andreas Achenbach", - "Andrew Wyeth", - "Andr\u00e9 Kert\u00e9sz", - "Andr\u00e9 Masson", - "Andy Fairhurst", - "Andy Singer", - "Andy Warhol", - "Anita Malfatti", - "Anna Dittmann", - "Anne Geddes", - "Anne Stokes", - "Anne-Louis Girodet", - "Annibale Carracci", - "Annie Leibovitz", - "Ansel Adams", - "Anthony van Dyck", - "Anton Fadeev", - "Anton Otto", - "Apollonia Saintclair", - "Arkhip Kuindzhi", - "Arnold B\u00f6cklin", - "Arshile Gorky", - "Art Spiegelman", - "Artemisia Gentileschi", - "Arthur Dove", - "Asaf Hanuka", - "Asher Brown Durand", - "Ashley Wood", - "Audrey Kawasaki", - "Austin Briggs", - "Balthus", - "Banksy", - "Barclay Shaw", - "Barry Blitt", - "Bastien Lecouffe Deharme", - "Beatrix Potter", - "Beauford Delaney", - "Beeple", - "Ben Shahn", - "Benoit B. Mandelbrot", - "Bernard Buffet", - "Bernd and Hilla Becher", - "Bernie Wrightson", - "Berthe Morisot", - "Bill Plympton", - "Bjarke Ingels", - "Bob Byerley", - "Bob Eggleton", - "Bob Ross", - "Boris Vallejo", - "Brandon Woelfel", - "Brian Despain", - "Brian Kesinger", - "Brothers Hildebrandt", - "Bruce Nauman", - "Bruce Pennington", - "Bruno Taut", - "Camille Claudel", - "Camille Corot", - "Camille Pissarro", - "Canaletto", - "Candido Portinari", - "Caravaggio", - "Carl Holsoe", - "Carl Larsson", - "Carne Griffiths", - "Caspar David Friedrich", - "Chaim Soutine", - "Charles Blackman", - "Charles Demuth", - "Charles E. Burchfield", - "Charles Eames", - "Charles Rennie Mackintosh", - "Chesley Bonestell", - "Chiharu Shiota", - "Childe Hassam", - "Chris Foss", - "Chris Mars", - "Chris Menges", - "Chris Moore", - "Christopher Doyle", - "Cindy Sherman", - "Clarence Holbrook Carter", - "Claude Cahun", - "Claude Lorrain", - "Claude Monet", - "Clive Barker", - "Clive Madgwick", - "Clovis Trouille", - "Clyde Caldwell", - "Coby Whitmore", - "Codex Seraphinianus", - "Coles Phillips", - "Conrad Roset", - "Craig Mullins", - "Cuno Amiet", - "Dale Chihuly", - "Damien Hirst", - "Dan Flavin", - "Dan Mumford", - "Daniel Gerhartz", - "Daniel Merriam", - "Daniel Ridgway Knight", - "Dave Gibbons", - "Dave McKean", - "David Alfaro Siqueiros", - "David B. Mattingly", - "David Burliuk", - "David Hockney", - "David Park", - "Dean Ellis", - "Dennis Stock", - "Di Cavalcanti", - "Diane Arbus", - "Diego Velazquez", - "Dion Beebe", - "Don Bluth", - "Don Maitz", - "Donato Giancola", - "Dora Maar", - "Dorothea Lange", - "Dorothea Tanning", - "Dorothy Lathrop", - "Doug Chiang", - "Dustin Nguyen", - "E.H. Shepard", - "Earl Norem", - "Ed Binkley", - "Ed Emshwiller", - "Ed Mell", - "Edgar Degas", - "Edmund Leighton", - "\u00c9douard Manet", - "Edvard Munch", - "Edward Weston", - "Edwin Austen Abbey", - "Edward Hopper", - "Egon Schiele", - "Eikoh Hosoe", - "El Greco", - "Elaine de Kooning", - "Ellen Jewett", - "Elliott Erwitt", - "Elsa Beskow", - "Emil Melmoth", - "Emil Nolde", - "Emily Carr", - "Emmanuel Lubezki", - "Enki Bilal", - "Eric Gill", - "Eric Lacombe", - "Erich Heckel", - "Erich Ludwig Kirchner", - "Ernst Fuchs", - "Ernst Haeckel", - "Esao Andrews", - "Eug\u00e8ne Delacroix", - "Eva Hesse", - "Evelyn De Morgan", - "Eyvind Earle", - "Fairfield Porter", - "Farel Dalrymple", - "Fernand L\u00e9ger", - "Fernando Botero", - "Filippo Lippi", - "Francis Bacon", - "Francis Picabia", - "Francisco Goya", - "Frank Auerbach", - "Frank Frazetta", - "Frank Lloyd Wright", - "Frank Miller", - "Frank Schoonover", - "Franklin Booth", - "Franz Kline", - "Franz Marc", - "Franz Sedlacek", - "Franz Xaver Winterhalter", - "Fred Tomaselli", - "Frederick Lord Leighton", - "Frida Kahlo", - "Friedensreich Regentag Dunkelbunt Hundertwasser", - "Frits Van den Berghe", - "F\u00e9lix Vallotton", - "Gabriel Pacheco", - "Garry Trudeau", - "Gary Larson", - "Gaston Bussiere", - "Gediminas Pranckevicius", - "Geof Darrow", - "George Cruikshank", - "George Frederic Watts", - "George Grosz", - "George Inness", - "George Luks", - "Georges Rouault", - "Georges Seurat", - "Georgia O'Keeffe", - "Gerald Brom", - "Gerhard Munthe", - "Gerhard Richter", - "Gertrude Abercrombie", - "Giacomo Balla", - "Giorgio de Chirico", - "Giuseppe Arcimboldo", - "Glenn Fabry", - "Go Nagai", - "Gottfried Helnwein", - "Graciela Iturbide", - "Grandma Moses", - "Greg Hildebrandt", - "Greg Rutkowski", - "Gregory Crewdson", - "Grzegorz Domaradzki", - "Guido Borelli da Caluso", - "Guillermo del Toro", - "Gustav Klimt", - "Gustav Vigeland", - "Gustave Caillebotte", - "Gustave Courbet", - "Gustave Dore", - "Gustave Moreau", - "H. R. Giger", - "Hal Foster", - "Hannah H\u00f6ch", - "Hans Baldung", - "Hans Bellmer", - "Harold Elliott", - "Harriet Backer", - "Harry Clarke", - "Harry Gruyaert", - "Heinrich Kley", - "Hendrik Kerstens", - "Henri Harpignies", - "Henri Matisse", - "Henri Rousseau", - "Henri de Toulouse-Lautrec", - "Henri-Edmond Cross", - "Henry Fuseli", - "Henry Ossawa Tanner", - "Herg\u00e9", - "Hieronymus Bosch", - "Hilma af Klint", - "Hirohiko Araki", - "Hiromu Arakawa", - "Hiroshi Nagai", - "Hiroshi Yoshida", - "Hokusai", - "Honor\u00e9 Daumier", - "Hope Gangloff", - "Howard Finster", - "Howard Hodgkin", - "Hubert Robert", - "Hugh Ferriss", - "Hugh Kretschmer", - "Hundertwasser", - "Ian McQue", - "Ian Miller", - "Igor Morski", - "Ilkka Uimonen", - "Ilya Repin", - "Irma Stern", - "Isaac Levitan", - "Isamu Noguchi", - "Ivan Aivazovsky", - "Ivan Albright", - "Ivan Bilibin", - "Ivan Generalic", - "Ivan Shishkin", - "J. J. Grandville", - "J.C. Leyendecker", - "J.M.W. Turner", - "Jacek Yerka", - "Jack Butler Yeats", - "Jack Davis", - "Jack Gaughan", - "Jack Kirby", - "Jackson Pollock", - "Jacob Lawrence", - "Jacob Riis", - "Jacques-Laurent Agasse", - "Jakub Rozalski", - "James Abbott McNeill Whistler", - "James C. Christensen", - "James Ensor", - "James Jean", - "James Turrell", - "Jamie Hewlett", - "Jan van Goyen", - "Jaroslaw Jasnikowski", - "Jasmine Becket-Griffith", - "Jason Edmiston", - "Jason Limon", - "Jean Arp", - "Jean Delville", - "Jean Giraud (Moebius)", - "Jean Leon Gerome", - "Jean Metzinger", - "Jean-Auguste-Dominique Ingres", - "Jean-Baptiste Carpeaux", - "Jean-Baptiste-Sim\u00e9on Chardin", - "Jean-Honore Fragonard", - "Jean-Michel Basquiat", - "Jean-Pierre Vasarely (Yvaral)", - "Jeff Easley", - "Jeff Koons", - "Jeff Lemire", - "Jeffrey Catherine Jones", - "Jeffrey Smith", - "Jeffrey T. Larson", - "Jeremy Geddes", - "Jeremy Lipking", - "Jeremy Mann", - "Jesper Ejsing", - "Jim Burns", - "Jim Fitzpatrick", - "Jim Lee", - "Jim Steranko", - "Jithesh", - "Joan Mir\u00f3", - "Joaquin Sorolla", - "Johan Christian Dahl", - "Johannes Vermeer", - "Johfra Bosschart", - "John Atkinson Grimshaw", - "John Bauer", - "John Berkey", - "John Blanche", - "John Carpenter", - "John Constable", - "John Duncan", - "John Frederick Kensett", - "John Harris", - "John Hoyland", - "John James Audubon", - "John Kenn Mortensen", - "John Kricfalusi", - "John Martin", - "John Perceval", - "John Philip Falter", - "John Romita Jr", - "John Singer Sargent", - "John Stephens", - "John William Waterhouse", - "Jonas Bendiksen", - "Josan Gonzalez", - "Joseph Cornell", - "Joseph Ducreux", - "Joseph Stella", - "Josephine Wall", - "Jules Bastien-Lepage", - "Jules Feiffer", - "Jules Pascin", - "Junji Ito", - "Justin Gerard", - "Kaethe Butcher", - "Kaja Foglio", - "Karel Thole", - "Karl Blossfeldt", - "Karl Schmidt-Rottluff", - "Karol Bak", - "Kate Greenaway", - "Kathe Kollwitz", - "Katsuhiro Otomo", - "Katsushika Hokusai", - "Kay Nielsen", - "Kay Sage", - "Kazimir Malevich", - "Kehinde Wiley", - "Kelly Freas", - "Kelly McKernan", - "Ken Sugimori", - "Kenojuak Ashevak", - "Kent Monkman", - "Kentaro Miura", - "Kilian Eng", - "Kim Jung Gi", - "Kuang Hong", - "Larry Elmore", - "Lasar Segall", - "Laurel Burch", - "Laurie Greasley", - "Laurie Lipton", - "Lawren Harris", - "Le caravaggesque", - "Lee Krasner", - "Lee Madgwick", - "Leiji Matsumoto", - "Leon Bankst", - "Leonardo da Vinci", - "Leonid Afremov", - "Liam Wong", - "Liniers", - "Lisa Frank", - "Louis Comfort Tiffany", - "Louis Wain", - "Lovis Corinth", - "Luc Schuiten", - "Lucian Freud", - "Luis Royo", - "Lyonel Feininger", - "Lyubov Popova", - "M.C. Escher", - "M.W. Kaluta", - "Mab Graves", - "Makoto Shinkai", - "Malcolm Liepke", - "Man Ray", - "Marc Chagall", - "Mark Lague", - "Marc Simonetti", - "Marco Mazzoni", - "Marek Okon", - "Margaret Boden", - "Margaret Bruce Wells", - "Margaret Brundage", - "Margaret Garland", - "Margaret Geddes", - "Margaret Graeme Niven", - "Margaret Keane", - "Margaret Macdonald Mackintosh", - "Maria Prymachenko", - "Maria Sibylla Merian", - "Marianne von Werefkin", - "Mario Testino", - "Marjorie Strider", - "Mark Brooks", - "Mark Catesby", - "Mark Rothko", - "Mark Ryden", - "Marsden Hartley", - "Martin Parr", - "Martin Johnson Heade", - "Martiros Saryan", - "Mary Blair", - "Mary Cassatt", - "Masamune Shirow", - "Masashi Kishimoto", - "Mat Collishaw", - "Mati Klarwein", - "Matt Groening", - "Matthias Grunewald", - "Matti Suuronen", - "Maurice Sendak", - "Max Beckmann", - "Max Ernst", - "Max Pechstein", - "Max Weber", - "Maxfield Parrish", - "Meret Oppenheim", - "Michael Deforge", - "Michael Whelan", - "Michelangelo", - "Mike Mignola", - "Mikhail Vrubel", - "Miles Aldridge", - "Milton Avery", - "Milton Glaser", - "Moebius (Jean Giraud)", - "Mort Drucker", - "Nan Goldin", - "Nao Emoto", - "Naoto Hattori", - "Natalia Goncharova", - "Neil Welliver", - "Nele Zirnite", - "Nell Dorr", - "Nicholas Roerich", - "Nick Knight", - "Nikos Economopoulos", - "Nobuyoshi Araki", - "Noriyoshi Ohrai", - "Norman Rockwell", - "Nychos", - "Odd Nerdrum", - "Odilon Redon", - "Oliver Jeffers", - "Oskar Kokoschka", - "Oskar Schlemmer", - "Otto Dix", - "Otto Marseus van Schrieck", - "Pablo Picasso", - "Pascal Campion", - "Patrick Henry Bruce", - "Patrick Heron", - "Patrick Nagel", - "Patrick Woodroffe", - "Paul Cezanne", - "Paul Delvaux", - "Paul Gauguin", - "Paul Gustav Fischer", - "Paul Klee", - "Paul Rand", - "Paula Modersohn-Becker", - "Pendleton Ward", - "Peter Bagge", - "Peter Elson", - "Peter Gric", - "Peter Kemp", - "Peter Max", - "Peter Paul Rubens", - "Phil Foglio", - "Philip Guston", - "Philip Pearlstein", - "Philip-Lorca diCorcia", - "Pierre Bonnard", - "Pierre-Auguste Renoir", - "Piet Mondrian", - "Pieter Claesz", - "Platon", - "Quentin Blake", - "Rachel Ignotofsky", - "Rafal Olbinski", - "Ralph McQuarrie", - "Ralph Steadman", - "Ram\u00f3n Casas", - "Randolph Caldecott", - "Raphael Lacoste", - "Raphaelite", - "Ray Caesar", - "Ray Earnes", - "Raymond Briggs", - "Raymond Swanland", - "Rebeca Saray", - "Rebecca Guay", - "Reginald Marsh", - "Remedios Varo", - "Ren\u00e9 Magritte", - "Richard Corben", - "Richard Dadd", - "Richard Diebenkorn", - "Richard Doyle", - "Richard Scarry", - "Ridley Scott", - "Rineke Dijkstra", - "Rob Gonsalves", - "Rob Liefeld", - "Robert Bechtle", - "Robert Capa", - "Robert Crumb", - "Robert Delaunay", - "Robert McCall", - "Robert McGinnis", - "Robert Motherwell", - "Robert Rauschenberg", - "Robert Williams", - "Roberto Ferri", - "Roberto Matta", - "Rockwell Kent", - "Rodney Matthews", - "Rodrigo Prieto", - "Roger Dean", - "Romare Bearden", - "Romero Britto", - "Ron Walotsky", - "Rosa Bonheur", - "Roy Lichtenstein", - "Rudolf Hausner", - "Rufino Tamayo", - "Russ Mills", - "Ruth Bernhard", - "Ryan Hewett", - "Ryo Takemasa", - "Ryohei Hase", - "Sally Mann", - "Salvador Dali", - "Sam Bosma", - "Sam Francis", - "Sam Guay", - "Sam Toft", - "Santiago Caruso", - "Satoshi Kon", - "Sebastian Kr\u00fcger", - "Sebasti\u00e3o Salgado", - "Sergio Toppi", - "Shaun Tan", - "Shepard Fairey", - "Shiki", - "Shinji Aramaki", - "Shotaro Ishinomori", - "Sidney Nolan", - "Sidney Prior Hall", - "Simon Bisley", - "Simon St\u00e5lenhag", - "Simone Martini", - "Sir James Guthrie", - "Sir Max Beerbohm", - "Sonia Delaunay", - "Stanley Donwood", - "Stefan Gesell", - "Stephanie Law", - "Stephen Gammell", - "Steve Argyle", - "Steve Dillon", - "Steve Ditko", - "Steve McCurry", - "Storm Thorgerson", - "Stuart Davis", - "Syd Mead", - "Sylvain Chomet", - "Taiyo Matsumoto", - "Takashi Murakami", - "Takato Yamamoto", - "Takehiko Inoue", - "Taro Okamoto", - "Tarsila do Amaral", - "Tatsuro Kiuchi", - "Ted Nasmith", - "Terry Oakes", - "Tex Avery", - "Theodor Seuss Geisel", - "Thomas Cole", - "Thomas Gainsborough", - "Thomas Kinkade", - "Tibor Nagy", - "Tillie Walden", - "Tim Burton", - "Tim Doyle", - "Tim Hildebrandt", - "Tim White", - "Tivadar Csontvary Kosztka", - "Todd McFarlane", - "Tom Bagshaw", - "Tom Lovell", - "Tom Thomson", - "Tom Whalen", - "Tomasz Alen Kopera", - "Tomasz Jedruszek", - "Tomek Setowski", - "Tomer Hanuka", - "Tomi Ungerer", - "Tomioka Tessai", - "Tommaso Dolabella", - "Tommaso Masaccio", - "Tommaso Redi", - "Tomokazu Matsuyama", - "Tom\u00e0s Barcel\u00f3", - "Tony DiTerlizzi", - "Tove Jansson", - "Tsutomu Nihei", - "Ub Iwerks", - "Van Herpen", - "Victo Ngai", - "Victor Brauner", - "Victor Moscoso", - "Victor Ngai", - "Victor Vasarely", - "Viktor Vasnetsov", - "Vilhelm Hammershoi", - "Vilmos Zsigmond", - "Vincent van Gogh", - "Virgil Finlay", - "Walter Crane", - "Walt Disney", - "Wassily Kandinsky", - "Wayne Barlowe", - "Weegee", - "Wes Anderson", - "Will Simpson", - "Wifredo Lam", - "William Blake", - "William Gropper", - "William Henry Hunt", - "William Hogarth", - "William Morris", - "William S Burroughs", - "William Stout", - "William-Adolphe Bouguereau", - "Winslow Homer", - "Wong Kar-Wai", - "Yaacov Agam", - "Yayoi Kusama", - "Yoshitaka Amano", - "Yousuf Karsh", - "Yuumei", - "Yves Klein", - "Yves Tanguy", - "Zack Snyder", - "Zaha Hadid", - "Zdzislaw Beksinski", - ] + "Akihito Tsukushi", + "Al Hirschfeld", + "Alan Lee", + "Albert Bierstadt", + "Albert Uderzo", + "Alberto Giacometti", + "Alberto Vargas", + "Albrecht Durer", + "Alejandro Burdisio", + "Aleksi Briclot", + "Alessio Albi", + "Alena Aenami", + "Alex Gard", + "Alex Grey", + "Alex Maleev", + "Alexander Jansson", + "Alexander Milne Calder", + "Alexandre Cabanel", + "Alexei Savrasov", + "Alexej von Jawlensky", + "Alfred Kubin", + "Alfredo Volpi", + "Alice Neel", + "Alice Rahon", + "Alphonse Mucha", + "Alyssa Monks", + "Amanda Clark", + "Amanda Sage", + "Amedeo Modigliani", + "Amelie Bernard", + "Anders Zorn", + "Andreas Achenbach", + "Andrew Wyeth", + "Andr\u00e9 Kert\u00e9sz", + "Andr\u00e9 Masson", + "Andy Fairhurst", + "Andy Singer", + "Andy Warhol", + "Anita Malfatti", + "Anna Dittmann", + "Anne Geddes", + "Anne Stokes", + "Anne-Louis Girodet", + "Annibale Carracci", + "Annie Leibovitz", + "Ansel Adams", + "Anthony van Dyck", + "Anton Fadeev", + "Anton Otto", + "Apollonia Saintclair", + "Arkhip Kuindzhi", + "Arnold B\u00f6cklin", + "Arshile Gorky", + "Art Spiegelman", + "Artemisia Gentileschi", + "Arthur Dove", + "Asaf Hanuka", + "Asher Brown Durand", + "Ashley Wood", + "Audrey Kawasaki", + "Austin Briggs", + "Balthus", + "Banksy", + "Barclay Shaw", + "Barry Blitt", + "Bastien Lecouffe Deharme", + "Beatrix Potter", + "Beauford Delaney", + "Beeple", + "Ben Shahn", + "Benoit B. Mandelbrot", + "Bernard Buffet", + "Bernd and Hilla Becher", + "Bernie Wrightson", + "Berthe Morisot", + "Bill Plympton", + "Bjarke Ingels", + "Bob Byerley", + "Bob Eggleton", + "Bob Ross", + "Boris Vallejo", + "Brandon Woelfel", + "Brian Despain", + "Brian Kesinger", + "Brothers Hildebrandt", + "Bruce Nauman", + "Bruce Pennington", + "Bruno Taut", + "Camille Claudel", + "Camille Corot", + "Camille Pissarro", + "Canaletto", + "Candido Portinari", + "Caravaggio", + "Carl Holsoe", + "Carl Larsson", + "Carne Griffiths", + "Caspar David Friedrich", + "Chaim Soutine", + "Charles Blackman", + "Charles Demuth", + "Charles E. Burchfield", + "Charles Eames", + "Charles Rennie Mackintosh", + "Chesley Bonestell", + "Chiharu Shiota", + "Childe Hassam", + "Chris Foss", + "Chris Mars", + "Chris Menges", + "Chris Moore", + "Christopher Doyle", + "Cindy Sherman", + "Clarence Holbrook Carter", + "Claude Cahun", + "Claude Lorrain", + "Claude Monet", + "Clive Barker", + "Clive Madgwick", + "Clovis Trouille", + "Clyde Caldwell", + "Coby Whitmore", + "Codex Seraphinianus", + "Coles Phillips", + "Conrad Roset", + "Craig Mullins", + "Cuno Amiet", + "Dale Chihuly", + "Damien Hirst", + "Dan Flavin", + "Dan Mumford", + "Daniel Gerhartz", + "Daniel Merriam", + "Daniel Ridgway Knight", + "Dave Gibbons", + "Dave McKean", + "David Alfaro Siqueiros", + "David B. Mattingly", + "David Burliuk", + "David Hockney", + "David Park", + "Dean Ellis", + "Dennis Stock", + "Di Cavalcanti", + "Diane Arbus", + "Diego Velazquez", + "Dion Beebe", + "Don Bluth", + "Don Maitz", + "Donato Giancola", + "Dora Maar", + "Dorothea Lange", + "Dorothea Tanning", + "Dorothy Lathrop", + "Doug Chiang", + "Dustin Nguyen", + "E.H. Shepard", + "Earl Norem", + "Ed Binkley", + "Ed Emshwiller", + "Ed Mell", + "Edgar Degas", + "Edmund Leighton", + "\u00c9douard Manet", + "Edvard Munch", + "Edward Weston", + "Edwin Austen Abbey", + "Edward Hopper", + "Egon Schiele", + "Eikoh Hosoe", + "El Greco", + "Elaine de Kooning", + "Ellen Jewett", + "Elliott Erwitt", + "Elsa Beskow", + "Emil Melmoth", + "Emil Nolde", + "Emily Carr", + "Emmanuel Lubezki", + "Enki Bilal", + "Eric Gill", + "Eric Lacombe", + "Erich Heckel", + "Erich Ludwig Kirchner", + "Ernst Fuchs", + "Ernst Haeckel", + "Esao Andrews", + "Eug\u00e8ne Delacroix", + "Eva Hesse", + "Evelyn De Morgan", + "Eyvind Earle", + "Fairfield Porter", + "Farel Dalrymple", + "Fernand L\u00e9ger", + "Fernando Botero", + "Filippo Lippi", + "Francis Bacon", + "Francis Picabia", + "Francisco Goya", + "Frank Auerbach", + "Frank Frazetta", + "Frank Lloyd Wright", + "Frank Miller", + "Frank Schoonover", + "Franklin Booth", + "Franz Kline", + "Franz Marc", + "Franz Sedlacek", + "Franz Xaver Winterhalter", + "Fred Tomaselli", + "Frederick Lord Leighton", + "Frida Kahlo", + "Friedensreich Regentag Dunkelbunt Hundertwasser", + "Frits Van den Berghe", + "F\u00e9lix Vallotton", + "Gabriel Pacheco", + "Garry Trudeau", + "Gary Larson", + "Gaston Bussiere", + "Gediminas Pranckevicius", + "Geof Darrow", + "George Cruikshank", + "George Frederic Watts", + "George Grosz", + "George Inness", + "George Luks", + "Georges Rouault", + "Georges Seurat", + "Georgia O'Keeffe", + "Gerald Brom", + "Gerhard Munthe", + "Gerhard Richter", + "Gertrude Abercrombie", + "Giacomo Balla", + "Giorgio de Chirico", + "Giuseppe Arcimboldo", + "Glenn Fabry", + "Go Nagai", + "Gottfried Helnwein", + "Graciela Iturbide", + "Grandma Moses", + "Greg Hildebrandt", + "Greg Rutkowski", + "Gregory Crewdson", + "Grzegorz Domaradzki", + "Guido Borelli da Caluso", + "Guillermo del Toro", + "Gustav Klimt", + "Gustav Vigeland", + "Gustave Caillebotte", + "Gustave Courbet", + "Gustave Dore", + "Gustave Moreau", + "H. R. Giger", + "Hal Foster", + "Hannah H\u00f6ch", + "Hans Baldung", + "Hans Bellmer", + "Harold Elliott", + "Harriet Backer", + "Harry Clarke", + "Harry Gruyaert", + "Heinrich Kley", + "Hendrik Kerstens", + "Henri Harpignies", + "Henri Matisse", + "Henri Rousseau", + "Henri de Toulouse-Lautrec", + "Henri-Edmond Cross", + "Henry Fuseli", + "Henry Ossawa Tanner", + "Herg\u00e9", + "Hieronymus Bosch", + "Hilma af Klint", + "Hirohiko Araki", + "Hiromu Arakawa", + "Hiroshi Nagai", + "Hiroshi Yoshida", + "Hokusai", + "Honor\u00e9 Daumier", + "Hope Gangloff", + "Howard Finster", + "Howard Hodgkin", + "Hubert Robert", + "Hugh Ferriss", + "Hugh Kretschmer", + "Hundertwasser", + "Ian McQue", + "Ian Miller", + "Igor Morski", + "Ilkka Uimonen", + "Ilya Repin", + "Irma Stern", + "Isaac Levitan", + "Isamu Noguchi", + "Ivan Aivazovsky", + "Ivan Albright", + "Ivan Bilibin", + "Ivan Generalic", + "Ivan Shishkin", + "J. J. Grandville", + "J.C. Leyendecker", + "J.M.W. Turner", + "Jacek Yerka", + "Jack Butler Yeats", + "Jack Davis", + "Jack Gaughan", + "Jack Kirby", + "Jackson Pollock", + "Jacob Lawrence", + "Jacob Riis", + "Jacques-Laurent Agasse", + "Jakub Rozalski", + "James Abbott McNeill Whistler", + "James C. Christensen", + "James Ensor", + "James Jean", + "James Turrell", + "Jamie Hewlett", + "Jan van Goyen", + "Jaroslaw Jasnikowski", + "Jasmine Becket-Griffith", + "Jason Edmiston", + "Jason Limon", + "Jean Arp", + "Jean Delville", + "Jean Giraud (Moebius)", + "Jean Leon Gerome", + "Jean Metzinger", + "Jean-Auguste-Dominique Ingres", + "Jean-Baptiste Carpeaux", + "Jean-Baptiste-Sim\u00e9on Chardin", + "Jean-Honore Fragonard", + "Jean-Michel Basquiat", + "Jean-Pierre Vasarely (Yvaral)", + "Jeff Easley", + "Jeff Koons", + "Jeff Lemire", + "Jeffrey Catherine Jones", + "Jeffrey Smith", + "Jeffrey T. Larson", + "Jeremy Geddes", + "Jeremy Lipking", + "Jeremy Mann", + "Jesper Ejsing", + "Jim Burns", + "Jim Fitzpatrick", + "Jim Lee", + "Jim Steranko", + "Jithesh", + "Joan Mir\u00f3", + "Joaquin Sorolla", + "Johan Christian Dahl", + "Johannes Vermeer", + "Johfra Bosschart", + "John Atkinson Grimshaw", + "John Bauer", + "John Berkey", + "John Blanche", + "John Carpenter", + "John Constable", + "John Duncan", + "John Frederick Kensett", + "John Harris", + "John Hoyland", + "John James Audubon", + "John Kenn Mortensen", + "John Kricfalusi", + "John Martin", + "John Perceval", + "John Philip Falter", + "John Romita Jr", + "John Singer Sargent", + "John Stephens", + "John William Waterhouse", + "Jonas Bendiksen", + "Josan Gonzalez", + "Joseph Cornell", + "Joseph Ducreux", + "Joseph Stella", + "Josephine Wall", + "Jules Bastien-Lepage", + "Jules Feiffer", + "Jules Pascin", + "Junji Ito", + "Justin Gerard", + "Kaethe Butcher", + "Kaja Foglio", + "Karel Thole", + "Karl Blossfeldt", + "Karl Schmidt-Rottluff", + "Karol Bak", + "Kate Greenaway", + "Kathe Kollwitz", + "Katsuhiro Otomo", + "Katsushika Hokusai", + "Kay Nielsen", + "Kay Sage", + "Kazimir Malevich", + "Kehinde Wiley", + "Kelly Freas", + "Kelly McKernan", + "Ken Sugimori", + "Kenojuak Ashevak", + "Kent Monkman", + "Kentaro Miura", + "Kilian Eng", + "Kim Jung Gi", + "Kuang Hong", + "Larry Elmore", + "Lasar Segall", + "Laurel Burch", + "Laurie Greasley", + "Laurie Lipton", + "Lawren Harris", + "Le caravaggesque", + "Lee Krasner", + "Lee Madgwick", + "Leiji Matsumoto", + "Leon Bankst", + "Leonardo da Vinci", + "Leonid Afremov", + "Liam Wong", + "Liniers", + "Lisa Frank", + "Louis Comfort Tiffany", + "Louis Wain", + "Lovis Corinth", + "Luc Schuiten", + "Lucian Freud", + "Luis Royo", + "Lyonel Feininger", + "Lyubov Popova", + "M.C. Escher", + "M.W. Kaluta", + "Mab Graves", + "Makoto Shinkai", + "Malcolm Liepke", + "Man Ray", + "Marc Chagall", + "Mark Lague", + "Marc Simonetti", + "Marco Mazzoni", + "Marek Okon", + "Margaret Boden", + "Margaret Bruce Wells", + "Margaret Brundage", + "Margaret Garland", + "Margaret Geddes", + "Margaret Graeme Niven", + "Margaret Keane", + "Margaret Macdonald Mackintosh", + "Maria Prymachenko", + "Maria Sibylla Merian", + "Marianne von Werefkin", + "Mario Testino", + "Marjorie Strider", + "Mark Brooks", + "Mark Catesby", + "Mark Rothko", + "Mark Ryden", + "Marsden Hartley", + "Martin Parr", + "Martin Johnson Heade", + "Martiros Saryan", + "Mary Blair", + "Mary Cassatt", + "Masamune Shirow", + "Masashi Kishimoto", + "Mat Collishaw", + "Mati Klarwein", + "Matt Groening", + "Matthias Grunewald", + "Matti Suuronen", + "Maurice Sendak", + "Max Beckmann", + "Max Ernst", + "Max Pechstein", + "Max Weber", + "Maxfield Parrish", + "Meret Oppenheim", + "Michael Deforge", + "Michael Whelan", + "Michelangelo", + "Mike Mignola", + "Mikhail Vrubel", + "Miles Aldridge", + "Milton Avery", + "Milton Glaser", + "Moebius (Jean Giraud)", + "Mort Drucker", + "Nan Goldin", + "Nao Emoto", + "Naoto Hattori", + "Natalia Goncharova", + "Neil Welliver", + "Nele Zirnite", + "Nell Dorr", + "Nicholas Roerich", + "Nick Knight", + "Nikos Economopoulos", + "Nobuyoshi Araki", + "Noriyoshi Ohrai", + "Norman Rockwell", + "Nychos", + "Odd Nerdrum", + "Odilon Redon", + "Oliver Jeffers", + "Oskar Kokoschka", + "Oskar Schlemmer", + "Otto Dix", + "Otto Marseus van Schrieck", + "Pablo Picasso", + "Pascal Campion", + "Patrick Henry Bruce", + "Patrick Heron", + "Patrick Nagel", + "Patrick Woodroffe", + "Paul Cezanne", + "Paul Delvaux", + "Paul Gauguin", + "Paul Gustav Fischer", + "Paul Klee", + "Paul Rand", + "Paula Modersohn-Becker", + "Pendleton Ward", + "Peter Bagge", + "Peter Elson", + "Peter Gric", + "Peter Kemp", + "Peter Max", + "Peter Paul Rubens", + "Phil Foglio", + "Philip Guston", + "Philip Pearlstein", + "Philip-Lorca diCorcia", + "Pierre Bonnard", + "Pierre-Auguste Renoir", + "Piet Mondrian", + "Pieter Claesz", + "Platon", + "Quentin Blake", + "Rachel Ignotofsky", + "Rafal Olbinski", + "Ralph McQuarrie", + "Ralph Steadman", + "Ram\u00f3n Casas", + "Randolph Caldecott", + "Raphael Lacoste", + "Raphaelite", + "Ray Caesar", + "Ray Earnes", + "Raymond Briggs", + "Raymond Swanland", + "Rebeca Saray", + "Rebecca Guay", + "Reginald Marsh", + "Remedios Varo", + "Ren\u00e9 Magritte", + "Richard Corben", + "Richard Dadd", + "Richard Diebenkorn", + "Richard Doyle", + "Richard Scarry", + "Ridley Scott", + "Rineke Dijkstra", + "Rob Gonsalves", + "Rob Liefeld", + "Robert Bechtle", + "Robert Capa", + "Robert Crumb", + "Robert Delaunay", + "Robert McCall", + "Robert McGinnis", + "Robert Motherwell", + "Robert Rauschenberg", + "Robert Williams", + "Roberto Ferri", + "Roberto Matta", + "Rockwell Kent", + "Rodney Matthews", + "Rodrigo Prieto", + "Roger Dean", + "Romare Bearden", + "Romero Britto", + "Ron Walotsky", + "Rosa Bonheur", + "Roy Lichtenstein", + "Rudolf Hausner", + "Rufino Tamayo", + "Russ Mills", + "Ruth Bernhard", + "Ryan Hewett", + "Ryo Takemasa", + "Ryohei Hase", + "Sally Mann", + "Salvador Dali", + "Sam Bosma", + "Sam Francis", + "Sam Guay", + "Sam Toft", + "Santiago Caruso", + "Satoshi Kon", + "Sebastian Kr\u00fcger", + "Sebasti\u00e3o Salgado", + "Sergio Toppi", + "Shaun Tan", + "Shepard Fairey", + "Shiki", + "Shinji Aramaki", + "Shotaro Ishinomori", + "Sidney Nolan", + "Sidney Prior Hall", + "Simon Bisley", + "Simon St\u00e5lenhag", + "Simone Martini", + "Sir James Guthrie", + "Sir Max Beerbohm", + "Sonia Delaunay", + "Stanley Donwood", + "Stefan Gesell", + "Stephanie Law", + "Stephen Gammell", + "Steve Argyle", + "Steve Dillon", + "Steve Ditko", + "Steve McCurry", + "Storm Thorgerson", + "Stuart Davis", + "Syd Mead", + "Sylvain Chomet", + "Taiyo Matsumoto", + "Takashi Murakami", + "Takato Yamamoto", + "Takehiko Inoue", + "Taro Okamoto", + "Tarsila do Amaral", + "Tatsuro Kiuchi", + "Ted Nasmith", + "Terry Oakes", + "Tex Avery", + "Theodor Seuss Geisel", + "Thomas Cole", + "Thomas Gainsborough", + "Thomas Kinkade", + "Tibor Nagy", + "Tillie Walden", + "Tim Burton", + "Tim Doyle", + "Tim Hildebrandt", + "Tim White", + "Tivadar Csontvary Kosztka", + "Todd McFarlane", + "Tom Bagshaw", + "Tom Lovell", + "Tom Thomson", + "Tom Whalen", + "Tomasz Alen Kopera", + "Tomasz Jedruszek", + "Tomek Setowski", + "Tomer Hanuka", + "Tomi Ungerer", + "Tomioka Tessai", + "Tommaso Dolabella", + "Tommaso Masaccio", + "Tommaso Redi", + "Tomokazu Matsuyama", + "Tom\u00e0s Barcel\u00f3", + "Tony DiTerlizzi", + "Tove Jansson", + "Tsutomu Nihei", + "Ub Iwerks", + "Van Herpen", + "Victo Ngai", + "Victor Brauner", + "Victor Moscoso", + "Victor Ngai", + "Victor Vasarely", + "Viktor Vasnetsov", + "Vilhelm Hammershoi", + "Vilmos Zsigmond", + "Vincent van Gogh", + "Virgil Finlay", + "Walter Crane", + "Walt Disney", + "Wassily Kandinsky", + "Wayne Barlowe", + "Weegee", + "Wes Anderson", + "Will Simpson", + "Wifredo Lam", + "William Blake", + "William Gropper", + "William Henry Hunt", + "William Hogarth", + "William Morris", + "William S Burroughs", + "William Stout", + "William-Adolphe Bouguereau", + "Winslow Homer", + "Wong Kar-Wai", + "Yaacov Agam", + "Yayoi Kusama", + "Yoshitaka Amano", + "Yousuf Karsh", + "Yuumei", + "Yves Klein", + "Yves Tanguy", + "Zack Snyder", + "Zaha Hadid", + "Zdzislaw Beksinski", +] DIGITAL_ARTFORM = [ - "Glitch Art art", - "Digital Painting art", - "Acrylic Paint art", - "Algorithmic art", - "Animation art", - "Art glass art", - "Assemblage art", - "Augmented reality art", - "Batik art", - "Beadwork art", - "Body painting art", - "Bookbinding art", - "Cast paper art", - "Ceramics art", - "Bronze art", - "Charcoal art", - "Collage art", - "Collagraphy art", - "Colored pencil art", - "Computer-generated imagery (cgi) art", - "Crochet art", - "Decoupage art", - "Digital sculpture art", - "Foam carving art", - "Found objects art", - "Fresco art", - "Glass art", - "Gouache art", - "Graffiti art", - "Ice art", - "Ink wash painting art", - "Installation art", - "Interactive media art", - "Lenticular printing art", - "Light projection art", - "Lithography art", - "Marble art", - "Metal art", - "Metalpoint art", - "Miniature painting art", - "Mixed media art", - "Monotype printing art", - "Neon art", - "Oil painting art", - "Origami art", - "Papier-mache art", - "Pastel art", - "Pen and ink art", - "Plastic arts", - "Polymer clay art", - "Printmaking art", - "Puppetry art", - "Pyrography art", - "Quilling art", - "Quilting art", - "Recycled art", - "Resin art", - "Sand art", - "Sound art", - "Silverpoint art", - "Spray paint art", - "Stone art", - "Tempera art", - "Tattoo art", - "Video art", - "Watercolor art", - "Wax art", - "Wood art", - ] + "Glitch Art art", + "Digital Painting art", + "Acrylic Paint art", + "Algorithmic art", + "Animation art", + "Art glass art", + "Assemblage art", + "Augmented reality art", + "Batik art", + "Beadwork art", + "Body painting art", + "Bookbinding art", + "Cast paper art", + "Ceramics art", + "Bronze art", + "Charcoal art", + "Collage art", + "Collagraphy art", + "Colored pencil art", + "Computer-generated imagery (cgi) art", + "Crochet art", + "Decoupage art", + "Digital sculpture art", + "Foam carving art", + "Found objects art", + "Fresco art", + "Glass art", + "Gouache art", + "Graffiti art", + "Ice art", + "Ink wash painting art", + "Installation art", + "Interactive media art", + "Lenticular printing art", + "Light projection art", + "Lithography art", + "Marble art", + "Metal art", + "Metalpoint art", + "Miniature painting art", + "Mixed media art", + "Monotype printing art", + "Neon art", + "Oil painting art", + "Origami art", + "Papier-mache art", + "Pastel art", + "Pen and ink art", + "Plastic arts", + "Polymer clay art", + "Printmaking art", + "Puppetry art", + "Pyrography art", + "Quilling art", + "Quilting art", + "Recycled art", + "Resin art", + "Sand art", + "Sound art", + "Silverpoint art", + "Spray paint art", + "Stone art", + "Tempera art", + "Tattoo art", + "Video art", + "Watercolor art", + "Wax art", + "Wood art", +] PLACE = [ - "indoor", - "outdoor", - "at night", - "in the park", - "studio", - "at a party", - "at a festival", - "at a concert", - "on persons home planet", - "magical portal with particles", - "in a neon lit city", - "in a cyberpunk city", - "in a fantasy world", - "glamour photography", - "fashion photography", - "at home", - "at work", - "at a cafe", - "at a gym", - "at a hotel", - "at a concert performance", - "at the beach", - "at a museum", - "in a hidden city deep in the rainforest", - "in a floating island in the sky", - "in an underground world beneath the earths surface ", - "in a secret garden hidden in a mysterious maze", - "in a grand castle on the top of a remote mountain", - "in a enchanted forest with talking animals and magical creatures", - "in a mystical island filled with ancient ruins and hidden treasure", - "in a faraway planet with a unique and alien landscape", - "in a hidden paradise hidden behind a waterfall", - "in a dreamlike world where anything is possible and the impossible is real", - "in a hidden oasis in the desert", - "in a secret underground city", - "in an underwater kingdom", - "in a lost temple in the jungle", - "in a castle in the clouds", - "in a hidden valley in the mountains", - "in a uturistic city on a distant planet", - "in a mystical land of eternal twilight", - "Smoke and ash in the air", - "suburban america", - "suburbs", - "slums", - "at the sea", - "at the ocean", - "at the lake", - "at the river", - "at the waterfall", - "in the labyrinth", - "in a lab" - "rendered in a 2.5D isometric perspective. Soft gradients add dimension, pastel color scheme" - ] + "indoor", + "outdoor", + "at night", + "in the park", + "studio", + "at a party", + "at a festival", + "at a concert", + "on persons home planet", + "magical portal with particles", + "in a neon lit city", + "in a cyberpunk city", + "in a fantasy world", + "glamour photography", + "fashion photography", + "at home", + "at work", + "at a cafe", + "at a gym", + "at a hotel", + "at a concert performance", + "at the beach", + "at a museum", + "in a hidden city deep in the rainforest", + "in a floating island in the sky", + "in an underground world beneath the earths surface ", + "in a secret garden hidden in a mysterious maze", + "in a grand castle on the top of a remote mountain", + "in a enchanted forest with talking animals and magical creatures", + "in a mystical island filled with ancient ruins and hidden treasure", + "in a faraway planet with a unique and alien landscape", + "in a hidden paradise hidden behind a waterfall", + "in a dreamlike world where anything is possible and the impossible is real", + "in a hidden oasis in the desert", + "in a secret underground city", + "in an underwater kingdom", + "in a lost temple in the jungle", + "in a castle in the clouds", + "in a hidden valley in the mountains", + "in a uturistic city on a distant planet", + "in a mystical land of eternal twilight", + "Smoke and ash in the air", + "suburban america", + "suburbs", + "slums", + "at the sea", + "at the ocean", + "at the lake", + "at the river", + "at the waterfall", + "in the labyrinth", + "in a lab", + "rendered in a 2.5D isometric perspective. Soft gradients add dimension, pastel color scheme", + "in an ancient enchanted forest", + "atop a floating sky island", + "inside a crystal cavern", + "beside a shimmering fairy pond", + "in the ruins of a forgotten temple", + "at the heart of a magical vortex", + "on the steps of a celestial palace", + "in the lair of a mythical beast", + "on the shores of an eldritch sea", + "within the walls of a dreamer's fortress", + "in a neon-lit back alley market", + "atop a towering megastructure", + "inside a virtual reality dive bar", + "beneath the city in the techno catacombs", + "on the bustling streets of the augmented metropolis", + "at a clandestine hacker's hideout", + "in a hover-car chase through the cityscape", + "at a black market cybernetics clinic", + "within a digital data fortress in cyberspace", + "on a rain-soaked rooftop overlooking the neon sprawl", + "aboard a sprawling interstellar spaceship", + "on a distant planet's alien landscape", + "inside a high-tech orbital space station", + "at a bustling galactic trade hub", + "within the depths of a biomechanical hive", + "on a terraformed Martian colony", + "in the heart of a quantum singularity", + "at a futuristic AI-controlled mega-city", + "within the virtual realms of a digital utopia", + "on the observation deck of a cosmic observatory", + "inside the belly of a gigantic jellyfish floating in space", + "on a floating island made entirely of candy and sweets", + "within a dimension where colors sing and sounds have taste", + "at a bazaar selling bottled dreams and captured starlight", + "on a roller coaster weaving through time and memories", + "in a library where books sprout legs and share their tales", + "on a planet where the oceans are made of liquid crystal", + "at a dance party hosted by interdimensional beings on the rings of Saturn", + "inside a giant clockwork orange (literally a clock inside an orange fruit)", + "on a beach where the sand is made of tiny glowing stars", +] LIGHTING = [ - "popping colors, popart style", - "bokeh", - "dramatic", - "golden hour", - "depth of field", - "movie still", - "colorful", - "soft lighting", - "studio lighting with strong rim light", - "ambient lighting", - "sun rays", - "cinematic lighting", - "characteristics of the light", - "volumetric lighting", - "natural point rose", - "outdoor lighting", - "soft pastel lighting colors scheme", - "sensual lighting", - "neon lights", - "baroque", - "rokoko", - "rim light, iridescent accents", - "neoclassicism", - "realism", - "fantastic colors", - "surrealism", - "futurism", - "accent lighting", - "high key lighting", - "low key lighting", - "strong backlight", - "artificial lighting", - "decorative lighting", - "recessed lighting", - "wall sconces lighting", - "laser lighting", - "multi-colored lighting", - "mood lighting", - "accent lighting", - "projection lighting", - "bioluminiscent", - "plasma", - "ice", - "water", - "rule of thirds", - "anamorphic lens flare", - "sharp focus", - "vivid colors", - "masterpiece", - "colors", - "8k", - "atmospheric", - "cinematic sensual", - "hyperrealistic", - "big depth of field", - "glow effect", - "modelshoot style", - "shallow depth of field", - "hdr", - "dynamic composition", - "broad light", - "natural lighting", - "elegant pose", - "flowing", - "film photo", - "extremely detailed", - "big depth of field", - "matte skin, pores, wrinkles", - "hyperdetailed", - "(abstract:1.3)", - "intricate and low contrast detailed", - "(composition)", - "film grain", - "(8k, RAW photo, best quality, masterpiece:1.2)", - "(realistic, photo-realistic:1.37)", - "beautiful detailed eyes, beautiful detailed lips, a captivating gaze, and an alluring expression", - "beautiful dynamic dramatic dark moody lighting", - "(detailed face:1.3)", - "multilayered realism", - "majestically strides forward toward us with abandon", - "disintegrating moon", - "extremely intricate details", - "anatomical beauty", - "high fantasy", - "detailed skin pores", - "flat color scheme", - "80s music clip background", - "Use a backlighting effect to add depth to the image. impressionistic painting style, john singer sarget, blue pallette", - "(natural skin texture, hyperrealism, soft light, sharp:1.2)", - "(cinematic, teal and orange:0.85)", - "(intricate skin detail:1.3), (wrinkles:1.2),(skin blemishes:1.1),(skin pores:1.1),(detailed face:1.3), (lips slightly parted:1.0)", - "(muted colors, dim colors, soothing tones:1.3), low saturation, (hyperdetailed:1.2)", - "(noir:0.4), (intricate details:1.12), hdr, (intricate details, hyperdetailed:1.15)", - "(neutral colors:1.2), art, (hdr:1.5), (muted colors:1.1), (pastel:0.2), hyperdetailed", - "dramatic lighting", - "((landscape view)), 4k unity, (best illumination)", - "dynamic angle", - "detailed freckles skin", - "movie grain", - "epic composition", - "Tarot Card style", - "(solo focus, one frame)", - "(masterpiece, best quality, ultra-detailed, highres)", - "biopunk", - "dramatic Pull from the ghost of a virtual memory", - "gritty industrial", - "(soothing tones, insane details, intricate details, hyperdetailed,photorealistic,dim subdued lighting)", - ] + "popping colors, popart style", + "bokeh", + "dramatic", + "golden hour", + "depth of field", + "movie still", + "colorful", + "soft lighting", + "studio lighting with strong rim light", + "ambient lighting", + "sun rays", + "cinematic lighting", + "characteristics of the light", + "volumetric lighting", + "natural point rose", + "outdoor lighting", + "soft pastel lighting colors scheme", + "sensual lighting", + "neon lights", + "baroque", + "rokoko", + "rim light, iridescent accents", + "neoclassicism", + "realism", + "fantastic colors", + "surrealism", + "futurism", + "accent lighting", + "high key lighting", + "low key lighting", + "strong backlight", + "artificial lighting", + "decorative lighting", + "recessed lighting", + "wall sconces lighting", + "laser lighting", + "multi-colored lighting", + "mood lighting", + "accent lighting", + "projection lighting", + "bioluminiscent", + "plasma", + "ice", + "water", + "rule of thirds", + "anamorphic lens flare", + "sharp focus", + "vivid colors", + "masterpiece", + "colors", + "8k", + "atmospheric", + "cinematic sensual", + "hyperrealistic", + "big depth of field", + "glow effect", + "modelshoot style", + "shallow depth of field", + "hdr", + "dynamic composition", + "broad light", + "natural lighting", + "elegant pose", + "flowing", + "film photo", + "extremely detailed", + "big depth of field", + "matte skin, pores, wrinkles", + "hyperdetailed", + "(abstract:1.3)", + "intricate and low contrast detailed", + "(composition)", + "film grain", + "(8k, RAW photo, best quality, masterpiece:1.2)", + "(realistic, photo-realistic:1.37)", + "beautiful detailed eyes, beautiful detailed lips, a captivating gaze, and an alluring expression", + "beautiful dynamic dramatic dark moody lighting", + "(detailed face:1.3)", + "multilayered realism", + "majestically strides forward toward us with abandon", + "disintegrating moon", + "extremely intricate details", + "anatomical beauty", + "high fantasy", + "detailed skin pores", + "flat color scheme", + "80s music clip background", + "Use a backlighting effect to add depth to the image. impressionistic painting style, john singer sarget, blue pallette", + "(natural skin texture, hyperrealism, soft light, sharp:1.2)", + "(cinematic, teal and orange:0.85)", + "(intricate skin detail:1.3), (wrinkles:1.2),(skin blemishes:1.1),(skin pores:1.1),(detailed face:1.3), (lips slightly parted:1.0)", + "(muted colors, dim colors, soothing tones:1.3), low saturation, (hyperdetailed:1.2)", + "(noir:0.4), (intricate details:1.12), hdr, (intricate details, hyperdetailed:1.15)", + "(neutral colors:1.2), art, (hdr:1.5), (muted colors:1.1), (pastel:0.2), hyperdetailed", + "dramatic lighting", + "((landscape view)), 4k unity, (best illumination)", + "dynamic angle", + "detailed freckles skin", + "movie grain", + "epic composition", + "Tarot Card style", + "(solo focus, one frame)", + "(masterpiece, best quality, ultra-detailed, highres)", + "biopunk", + "dramatic Pull from the ghost of a virtual memory", + "gritty industrial", + "triadic color palette", + "Triadic", + "Monochromatic", + "Analogous", + "Complementary", + "Split-Complementary", + "Double Complementary (Tetradic)", + "Square", + "Rectangular (Tetradic)", + "Neutral", + "Pastel", + "Warm", + "Cool", + "Earth Tone", + "Jewel Tone", + "Muted", + "High Contrast", +] # class CommaSeparatedList: # RETURN_TYPES = ("STRING",) @@ -1414,14 +1765,14 @@ LIGHTING = [ # "csl": ("STRING", {}), # }, # } - + # def generate_string( # self, # csl, -# ): +# ): # print(csl) # return tuple(csl.split(",")) -# class CSVPromptGenerator: +# class CSVPromptGenerator: # RETURN_TYPES = ("STRING",) # FUNCTION = "generate_prompt" # CATEGORY = "PromptGenerator" @@ -1514,19 +1865,26 @@ LIGHTING = [ # components.append(f"by {artist_choice}") # prompt = " ".join(components) -# prompt = re.sub(' +', ' ', prompt) +# prompt = re.sub(' +', ' ', prompt) # print(f"AUTOPROMPT: {prompt}") # return (prompt,) - + + class PromptGenerator: - RETURN_TYPES = ("STRING","INT",) - RETURN_NAMES = ("prompt","seed",) + RETURN_TYPES = ( + "STRING", + "INT", + ) + RETURN_NAMES = ( + "prompt", + "seed", + ) FUNCTION = "generate_prompt" CATEGORY = "PromptGenerator" def __init__(self, seed=None): self.rng = random.Random(seed) - + @classmethod def IS_CHANGED(cls): return float("NaN") @@ -1536,11 +1894,13 @@ class PromptGenerator: return { "required": { "seed": ( - "INT", {"default": 0, "min": 0, "max": 1125899906842624}, + "INT", + {"default": 0, "min": 0, "max": 1125899906842624}, ), + "custom": ("STRING", {}), "subject": ("STRING", {}), "artform": ( - ["disabled"] + ["random"] + ARTFORM, + ["disabled"] + ["random"] + ARTFORM, {"default": "random"}, ), "photo_type": ( @@ -1582,91 +1942,113 @@ class PromptGenerator: }, } - def split_and_choose(self, input_str): - choices = [choice.strip() for choice in input_str.split(',')] + choices = [choice.strip() for choice in input_str.split(",")] return self.rng.choices(choices, k=1)[0] def get_choice(self, input_str, default_choices): - if input_str.lower() == 'disabled': + if input_str.lower() == "disabled": return "" - elif ',' in input_str: + elif "," in input_str: return self.split_and_choose(input_str) - elif input_str.lower() == 'random': + elif input_str.lower() == "random": return self.rng.choices(default_choices, k=1)[0] else: return input_str def generate_prompt(self, **kwargs): - seed = kwargs.get('seed', 0) + seed = kwargs.get("seed", 0) if seed is not None: self.rng = random.Random(seed) components = [] is_photographer = kwargs.get("artform", "").lower() == "photography" or ( - kwargs.get("artform", "").lower() == "random" and self.rng.choice([True, False]) + kwargs.get("artform", "").lower() == "random" + and self.rng.choice([True, False]) ) - - if is_photographer: - photo_type_choice = self.get_choice(kwargs.get('photo_type', ''), PHOTO_TYPE) - if photo_type_choice: - components.append(f"{photo_type_choice} of ") + custom = kwargs.get("custom", "") + subject = kwargs.get("subject", "") + default_tags = kwargs.get( + "default_tags", "random" + ) # default to "random" if not specified + if custom: + components.append(custom) + if not subject: + if default_tags == "random": + selected_subject = self.get_choice( + kwargs.get("default_tags", ""), DEFAULT_TAGS + ) + components.append(selected_subject) + elif default_tags == "disabled": + pass + else: + components.append(default_tags) else: - digital_artform_choice = self.get_choice(kwargs.get('digital_artform', ''), DIGITAL_ARTFORM) - if digital_artform_choice: - components.append(f"{digital_artform_choice} of ") + components.append(subject) - lighting = kwargs.get('lighting', "").lower() + params = [ + ("roles", ROLES), + ("hairstyles", HAIRSTYLES), + ("additional_details", ADDITIONAL_DETAILS), + ("place", PLACE), + ] + for param in params: + components.append(self.get_choice(kwargs.get(param[0], ""), param[1])) + for i in reversed(range(len(components))): + if components[i] in PLACE: + components[i] += "," + break + lighting = kwargs.get("lighting", "").lower() if lighting == "random": - selected_lighting = ", ".join(self.rng.sample(LIGHTING, self.rng.randint(2, 5))) # assuming LIGHTING is a predefined list + selected_lighting = ", ".join( + self.rng.sample(LIGHTING, self.rng.randint(2, 5)) + ) components.append(selected_lighting) elif lighting == "disabled": pass else: components.append(lighting) - - subject = kwargs.get('subject', '') - default_tags = kwargs.get('default_tags', 'random') # default to "random" if not specified - - if not subject: - if default_tags == "random": - selected_subject = self.get_choice(kwargs.get('default_tags', ''), DEFAULT_TAGS) - components.append(selected_subject) - elif default_tags == "disabled": - pass - else: - components.append(default_tags) - else: - components.append(subject) - - - params = [ - ('roles', ROLES), - ('hairstyles', HAIRSTYLES), - ('additional_details', ADDITIONAL_DETAILS), - ('place', PLACE) - ] - components.extend([self.get_choice(kwargs.get(param[0], ''), param[1]) for param in params]) - if is_photographer: + photo_type_choice = self.get_choice( + kwargs.get("photo_type", ""), PHOTO_TYPE + ) + random_type = random.choice(PHOTO_TYPE) + random_type_float = round(random.uniform(1, 2), 1) + formatted_type_value = f"({random_type}:{random_type_float})" + + random_framing = random.choice(PHOTO_FRAMING) + random_framing_float = round(random.uniform(1, 2), 1) + formatted_framing_value = f"({random_framing}:{random_framing_float})" + + components.append(f"{formatted_type_value} {formatted_framing_value} ") + if photo_type_choice: + components.append(f"{photo_type_choice}, BREAK ") params = [ - ('photography_styles', PHOTOGRAPHY_STYLES), - ('device', DEVICE), - ('photographer', PHOTOGRAPHER) + ("photography_styles", PHOTOGRAPHY_STYLES), + ("device", DEVICE), + ("photographer", PHOTOGRAPHER), ] - components.extend([ - self.get_choice(kwargs.get(param[0], ''), param[1]) for param in params - ]) + components.extend( + [ + self.get_choice(kwargs.get(param[0], ""), param[1]) + for param in params + ] + ) components[-2] = f"shot on {components[-2]}" components[-1] = f"photo by {components[-1]}" else: + digital_artform_choice = self.get_choice( + kwargs.get("digital_artform", ""), DIGITAL_ARTFORM + ) + if digital_artform_choice: + components.append(f"{digital_artform_choice}") components.append(f"by {self.get_choice(kwargs.get('artist', ''), ARTIST)}") prompt = " ".join(components) - prompt = re.sub(' +', ' ', prompt) - print(f'PromptGenerator Seed : {seed}') + prompt = re.sub(" +", " ", prompt) + print(f"PromptGenerator Seed : {seed}") print(f"PromptGenerator String: {prompt}") - return (prompt.replace("of as", "of"),seed) - + return (prompt.replace("of as", "of"), seed) + NODE_CLASS_MAPPINGS = { "PromptGenerator": PromptGenerator, @@ -1677,5 +2059,5 @@ NODE_CLASS_MAPPINGS = { # Human readable names for the nodes NODE_DISPLAY_NAME_MAPPINGS = { "PromptGenerator": "SDXL Auto Prompter", - "CSL": "Comma Separated List" + "CSL": "Comma Separated List", }