diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index e83e59f..522bb8b 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -113,6 +113,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all chairlist = csv_to_list("chairs", antilist) cardnamelist = csv_to_list("card_names", antilist) coveringlist = csv_to_list("coverings", antilist) + outfitdescriptorlist = csv_to_list("outfitdescriptors",antilist) humanlist = fictionallist + nonfictionallist + humanoidlist objecttotallist = objectlist + buildinglist + vehiclelist + foodlist + spacelist + floralist + containerlist @@ -1957,6 +1958,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(unique_dist(insanitylevel)): # sometimes, its just nice to have descriptor and a normal "outfit". We use mini outfits for this! completeprompt = completeprompt.replace("-outfit-", "-minioutfit-",1) + if(rare_dist(insanitylevel)): # Use base outfit descriptor, until we are not. + completeprompt = completeprompt.replace("-outfitdescriptor-", "-descriptor-",1) @@ -2047,9 +2050,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-covering-" in completeprompt or "-heshe-" in completeprompt or "-hisher-" in completeprompt or - "-himher-" in completeprompt): - allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-addontolocationinside-", "-addontolocation-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-animalsuffixaddition-", "-chair-", "-cardname-", "-covering-", "-heshe-", "-hisher-", "-himher-"] - allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, addontolocationinsidelist, addontolocationlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, animalsuffixadditionlist, chairlist, cardnamelist, coveringlist, heshelist, hisherlist, himherlist] + "-himher-" in completeprompt or + "-outfitdescriptor-" in completeprompt): + allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-addontolocationinside-", "-addontolocation-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-animalsuffixaddition-", "-chair-", "-cardname-", "-covering-", "-heshe-", "-hisher-", "-himher-", "-outfitdescriptor-"] + allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, addontolocationinsidelist, addontolocationlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, animalsuffixadditionlist, chairlist, cardnamelist, coveringlist, heshelist, hisherlist, himherlist, outfitdescriptorlist] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] @@ -2201,6 +2205,7 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender chairlist = csv_to_list("chairs", antilist) cardnamelist = csv_to_list("card_names", antilist) coveringlist = csv_to_list("coverings", antilist) + outfitdescriptorlist = csv_to_list("outfitdescriptors",antilist) humanlist = fictionallist + nonfictionallist + humanoidlist + malefemalelist + manwomanlist + manwomanrelationlist objecttotallist = objectlist + buildinglist + vehiclelist + foodlist + spacelist + floralist + containerlist @@ -2371,6 +2376,9 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender if lowercase_combination in [x.lower() for x in descriptorlist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -descriptor- ") + if lowercase_combination in [x.lower() for x in descriptorlist] and chance_roll(insanitylevel, "rare"): + prompt = prompt.replace(combination," -outfitdescriptor- ") + if lowercase_combination in [x.lower() for x in directionlist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -direction- ") @@ -2577,9 +2585,10 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender "-pattern-" in completeprompt or "-chair-" in completeprompt or "-cardname-" in completeprompt or - "-covering-" in completeprompt): - allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-"] - allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, chairlist, cardnamelist, coveringlist] + "-covering-" in completeprompt or + "-outfitdescriptor-" in completeprompt): + allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-", "-outfitdescriptor-"] + allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, chairlist, cardnamelist, coveringlist, outfitdescriptorlist] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] @@ -2640,7 +2649,7 @@ def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehy replacementvalue = random.choice(listname) listname.remove(replacementvalue) if(wildcard == "-artist-"): - replacementvalue = "art by " + replacementvalue + replacementvalue = "OR(;art by; designed by; stylized by;common) " + replacementvalue else: replacementvalue = "" diff --git a/csvfiles/descriptors.csv b/csvfiles/descriptors.csv index bb1ba3b..122e69b 100644 --- a/csvfiles/descriptors.csv +++ b/csvfiles/descriptors.csv @@ -279,6 +279,7 @@ Handsome Happy Harsh Hateful +Haunted Heartless Heartwarming Heavenly diff --git a/csvfiles/jobs.csv b/csvfiles/jobs.csv index 800d8bd..b59335a 100644 --- a/csvfiles/jobs.csv +++ b/csvfiles/jobs.csv @@ -369,4 +369,5 @@ Idol Nerd Geek Muse -Ballerina \ No newline at end of file +Ballerina +Fighting game character \ No newline at end of file diff --git a/csvfiles/outfitdescriptors.csv b/csvfiles/outfitdescriptors.csv new file mode 100644 index 0000000..51f710b --- /dev/null +++ b/csvfiles/outfitdescriptors.csv @@ -0,0 +1,186 @@ +1600'S +1700'S +1800'S +1900'S +1920'S +1940'S +1950'S +1950S Suburbia +1960'S +1970'S +1980'S +1990'S +2000'S +Abstract +Absurd +Acclaimed +Adorable +Aesthetic +Aesthetically Pleasing +Alien +Alluring +Ancient +Angelic +Angular +Anime +Apocalyptic +Appealing +Arcane +Artistic +Astonishing +Asymmetrical +Attractive +Authentic +Avant-Garde +Average +Award-Winning +Awe-Inspiring +Awful +Baroque +Basic +Beautiful +Bewitching +Bioluminescent +Biomechanical +Biomorphic +Biophilic +Biopunk +Bizarre +Boring +Breathtaking +Bright +Captivating +Cartoony +Celestial +Charming +Chic +Classic +Colorful +Comely +Comfortable +Contemporary +Controversial +Cool +Cozy +Creative +Creepy +Crude +Cute +Cyberpunk +Cyborg +Daring +Decorative +Delicate +Detailed +Dieselpunk +Dirty +Divine +Drab +Dreamlike +Dreamy +Dull +Dynamic +Eclectic +Elegant +Enchanting +Enticing +Ethereal +Evocative +Exceptional +Exotic +Exquisite +Extraordinary +Fairy-Tale +Fantastical +Fashionable +Festive +Flirty +Flowery +Fluffy +Frilled +Funky +Fur-Trimmed +Geeky +Ghostly +Glam +Glamorous +Glittering +Glowing +Good +Gorgeous +Graceful +Grand +Great +Groovy +Handsome +Hideous +Historical +Holy +Hyper-Creative +Hyperdetailed +Illuminating +Imaginative +Impressive +Incredibly Detailed +Inspirational +Intricate +Kawaii +Layered +Light +Lovely +Luminescent +Luminous +Magical +Magnificent +Majestic +Metallic +Middle Aged +Minimalist +Mysterious +Mystical +Mythical +Nerdy +Noble +Otherworldly +Oversized +Playful +Pretty +Psychadelic +Radiant +Refined +Retrofuturistic +Revealing +Rich +Ridiculous +Robotic +Romantic +Ruined +Rustic +Satin +Saturated +Seductive +Sensual +Sexy +Shabby +Shabby Chic +Shiny +Silky +Simple +Sleek +Smart +Smooth +Snug +Soft +Stunning +Supersized +Surreal +Trendy +Tropical +Ugly +Unattractive +Unconventional +Velvet +Vibrant +Vintage +Vulgar +Worn-Out \ No newline at end of file diff --git a/csvfiles/special_lists/buildoutfit.csv b/csvfiles/special_lists/buildoutfit.csv index 3dc63c2..be9a076 100644 --- a/csvfiles/special_lists/buildoutfit.csv +++ b/csvfiles/special_lists/buildoutfit.csv @@ -1,9 +1,9 @@ -, OR(wearing;dressed in;in;normal) OR(;-descriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- -, OR(wearing;dressed in;in;normal) OR(;-descriptor-;normal) OR(;-descriptor-;uncommon) OR(;-color-;uncommon) -outfit- +, OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- +, OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- , OR(wearing;dressed in;in;normal) OR(-job-;-rpgclass-;-season-;-animal--style) OR(-minioutfit-;-outfit-;rare) -, OR(wearing;dressed in;in;normal) OR(;-descriptor-;uncommon) OR(-minioutfit-;-outfit-;rare) OR(;designed by -brand-;uncommon) +, OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;uncommon) OR(-minioutfit-;-outfit-;rare) OR(;designed by -brand-;uncommon) , wearing OR(-material-;-color-) -, OR(wearing;dressed in;in;normal) OR(;-descriptor-;-material-;-color-;uncommon) OR(-outfit-;-minioutfit-;rare) with OR(-pattern-;-outfitprinttotal-;-material-;uncommon) -print- -. -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- -descriptor-;rare) -outfit-. OR(-hisher-;The;normal) -sameoutfit- is OR(-descriptor-;-color-) OR( OR(and has;. It has) OR(-pattern-;-outfitprinttotal-;-material-;uncommon) -print- on it.; and is OR(made of;detailed with bits of) -material-;rare) OR(;.It looks -descriptor- on -himher-.;unique) -. -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- traditional;rare) -culture- -outfit-. OR(; OR(-hisher-;The;normal) -sameoutfit- is OR(-descriptor-;-color-).;normal) OR(;.It looks -descriptor- on -himher-.;unique) -. -heshe- is OR(wearing a;dressed in a) OR(;-descriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- that was OR(designed;made;inspired) by -brand-. It is OR(-descriptor-;-color-;normal) OR(;and OR(-descriptor-;-color-;normal);normal) OR(;. The -sameoutfit- looks -descriptor- on -himher-.;unique) \ No newline at end of file +, OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;-material-;-color-;uncommon) OR(-outfit-;-minioutfit-;rare) with OR(-pattern-;-outfitprinttotal-;-material-;uncommon) -print- +. -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- -outfitdescriptor-;rare) -outfit-. OR(-hisher-;The;normal) -sameoutfit- is OR(-outfitdescriptor-;-color-) OR( OR(and has;. It has) OR(-pattern-;-outfitprinttotal-;-material-;uncommon) -print- on it.; and is OR(made of;detailed with bits of) -material-;rare) OR(;.It looks -outfitdescriptor- on -himher-.;unique) +. -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- traditional;rare) -culture- -outfit-. OR(; OR(-hisher-;The;normal) -sameoutfit- is OR(-outfitdescriptor-;-color-).;normal) OR(;.It looks -outfitdescriptor- on -himher-.;unique) +. -heshe- is OR(wearing a;dressed in a) OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- that was OR(designed;made;inspired) by -brand-. It is OR(-outfitdescriptor-;-color-;normal) OR(;and OR(-outfitdescriptor-;-color-;normal);normal) OR(;. The -sameoutfit- looks -outfitdescriptor- on -himher-.;unique) \ No newline at end of file diff --git a/prompttester.py b/prompttester.py index 91dabd8..5ce3703 100644 --- a/prompttester.py +++ b/prompttester.py @@ -52,5 +52,5 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im print("All done!") generateprompts(10,9,"humanoid","all","all",False,"","","PREFIXPROMPT" - ,"SUFFIXPROMPT . -heshe- is OR(wearing a;dressed in a) OR(;-descriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- that was OR(designed;made) by -brand-. It is OR(-descriptor-;-color-;normal) OR(;and OR(-descriptor-;-color-;normal);normal). OR(;The -sameoutfit- looks -descriptor- on -himher-.;unique)" + ,"SUFFIXPROMPT , OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit-" ,"",1,"","",True,"",100, "all", "all", "all", "all", False, True) \ No newline at end of file