From 24b86d26dc025c70b722c8dfd42c24570db7d24f Mon Sep 17 00:00:00 2001 From: AIrjen Date: Tue, 27 Jun 2023 21:30:04 +0200 Subject: [PATCH 1/4] putting last bits to wildcards --- build_dynamic_prompt.py | 87 ++++++++++++--------- csvfiles/buildings.csv | 3 +- csvfiles/colorscheme.csv | 5 +- csvfiles/descriptors.csv | 4 + csvfiles/musicgenres.csv | 25 ++++++ csvfiles/special_lists/overalladditions.csv | 4 +- csvfiles/vomit.csv | 2 + 7 files changed, 88 insertions(+), 42 deletions(-) create mode 100644 csvfiles/musicgenres.csv diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index baa0a77..20afb58 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -79,6 +79,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all spacelist = csv_to_list("space", antilist) poemlinelist = csv_to_list("poemlines", antilist) songlinelist = csv_to_list("songlines", antilist) + musicgenrelist = csv_to_list("musicgenres", antilist) humanlist = fictionallist + nonfictionallist + humanoidlist objecttotallist = objectlist + buildinglist + vehiclelist + foodlist + spacelist @@ -138,8 +139,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all hybridhumanlist = [] humanoidsubjectchooserlist = [] eventsubjectchooserlist = [] - addontolocationinside = [] - addontolocation = [] + addontolocationinsidelist = [] + addontolocationlist = [] generatevehicle = bool(vehiclelist) generateobject = bool(objectlist) @@ -152,7 +153,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(generatevehicle): objectwildcardlist.append("-vehicle-") hybridlist.append("-vehicle-") - addontolocation.append(vehiclelist) + addontolocationlist.append("-vehicle-") if(generateobject): objectwildcardlist.append("-object-") @@ -165,12 +166,13 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(generatespace): objectwildcardlist.append("-space-") hybridlist.append("-space-") + addontolocationlist.append("-space-") if(generatebuilding): objectwildcardlist.append("-building-") hybridlist.append("-building-") - addontolocation.append(buildinglist) - addontolocationinside.append(buildinglist) + addontolocationlist.append("-building-") + addontolocationinsidelist.append("-building-") if(generateobject): mainchooserlist.append("object") @@ -218,8 +220,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(generatelandscape): mainchooserlist.append("landscape") - addontolocation.append(locationlist) - addontolocationinside.append(locationlist) + addontolocationlist.append("-location-") + addontolocationinsidelist.append("-location-") generateevent = bool(eventlist) generateconcepts = bool(conceptprefixlist) + bool(conceptsuffixlist) @@ -892,16 +894,16 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # Common to have 1 description, uncommon to have 2 if(common_dist(insanitylevel) and generatedescriptors == True): - completeprompt += random.choice(descriptorlist) + " " + completeprompt += "-descriptor- " if(uncommon_dist(insanitylevel) and generatedescriptors == True): - completeprompt += random.choice(descriptorlist) + " " + completeprompt += "-descriptor- " if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generatebodytype == True): - completeprompt += random.choice(bodytypelist) + " " + completeprompt += "-bodytype- " if(subjectchooser in ["object","animal as human,","human", "job", "fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generatedescriptors == True): - completeprompt += random.choice(culturelist) + " " + completeprompt += "-culture- " if(mainchooser == "object"): objectwildcardlist = ["-object-", "-building-","-vehicle-","-food-", "-space-"] # using wildcards for replacements @@ -949,9 +951,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(unique_dist(insanitylevel) and generateanimaladdition == True): animaladdedsomething = 1 - completeprompt += random.choice(animaladditionlist) + " -animal- " + completeprompt += "-animaladdition- -animal- " if(animaladdedsomething != 1): - completeprompt += random.choice(animallist) + " " + completeprompt += "-animal- " if(hybridorswap == "hybrid"): if(uncommon_dist(insanitylevel)): @@ -973,11 +975,11 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(givensubject==""): if(subjectchooser == "human"): - completeprompt += random.choice(manwomanlist) + " " + completeprompt += "-manwoman- " if(subjectchooser == "job"): - completeprompt += random.choice(malefemalelist) + " " - completeprompt += random.choice(joblist) + " " + completeprompt += "-malefemale- " + completeprompt += "-job- " if(subjectchooser == "fictional"): if rare_dist(insanitylevel): @@ -985,7 +987,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all hybridorswap = random.choice(hybridorswaplist) completeprompt += "[" - completeprompt += random.choice(fictionallist) + " " + completeprompt += "-fictional- " if(hybridorswap == "hybrid"): completeprompt += "|" + random.choice(hybridhumanlist) + " ] " @@ -999,7 +1001,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all hybridorswap = random.choice(hybridorswaplist) completeprompt += "[" - completeprompt += random.choice(nonfictionallist) + " " + completeprompt += "-nonfictional- " if(hybridorswap == "hybrid"): completeprompt += "|" + random.choice(hybridhumanlist) + "] " @@ -1013,7 +1015,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all hybridorswap = random.choice(hybridorswaplist) completeprompt += "[" - completeprompt += random.choice(humanoidlist) + " " + completeprompt += "-humanoid- " if(hybridorswap == "hybrid"): completeprompt += "|" + random.choice(hybridhumanlist) + "] " @@ -1037,7 +1039,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all hybridorswap = random.choice(hybridorswaplist) completeprompt += "[" - completeprompt += random.choice(locationlist) + " " + completeprompt += "-location- " if(hybridorswap == "hybrid"): completeprompt += "|" + "-location-" + "] " @@ -1051,19 +1053,17 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # shots from inside can create cool effects in landscapes if(unique_dist(insanitylevel)): insideshot = 1 - completeprompt += " from inside of a " - #addontolocationinside = [locationlist,buildinglist] - completeprompt += random.choice(random.choice(addontolocationinside)) + " " + completeprompt += " from inside of a -addontolocationinside- " if(normal_dist(insanitylevel) and insideshot == 0): completeprompt += " and " if(rare_dist(insanitylevel)): - completeprompt += random.choice(descriptorlist) + " " + completeprompt += "-descriptor- " if(rare_dist(insanitylevel)): - completeprompt += random.choice(culturelist) + " " + completeprompt += "-culture- " #addontolocation = [locationlist,buildinglist, vehiclelist] - completeprompt += random.choice(random.choice(addontolocation)) + " " + completeprompt += "-addontolocation- " if(mainchooser == "concept"): @@ -1087,19 +1087,19 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # object additions for i in range(2): if(mainchooser == "object" and uncommon_dist(insanitylevel) and generateobjectaddition == True): - completeprompt += ", " + random.choice(objectadditionslist) + ", " + completeprompt += ", -objectaddition- , " # riding an animal, holding an object or driving a vehicle, rare if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid"] and rare_dist(insanitylevel) and generatehumanaddition == True): humanspecial = 1 - completeprompt += random.choice(humanadditionlist) + " " + completeprompt += "-humanaddition- " completeprompt += ", " # unique additions for all types: if(extraordinary_dist(insanitylevel) and generateoveralladdition == True): - completeprompt += random.choice(overalladditionlist) + ", " + completeprompt += "-overalladdition- " @@ -1172,23 +1172,23 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all completeprompt += "-timeperiod-, " if(mainchooser not in ["landscape"] and rare_dist(insanitylevel) and generatefocus == True): - completeprompt += random.choice(focuslist) + ", " + completeprompt += "-focus- " # others if(normal_dist(insanitylevel) and generatedirection == True): - completeprompt += random.choice(directionlist) + ", " + completeprompt += "-direction-, " if(normal_dist(insanitylevel) and generatemood == True): - completeprompt += random.choice(moodlist) + ", " + completeprompt += "-mood-, " # add in some more mini vomits if(unique_dist(insanitylevel) and generateminivomit == True): completeprompt += " -minivomit-, " if(normal_dist(insanitylevel) and generateartmovement == True): - completeprompt += random.choice(artmovementlist) + ", " + completeprompt += "-artmovement-, " if(normal_dist(insanitylevel) and generatelighting == True): completeprompt += "-lighting-, " @@ -1212,13 +1212,13 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # vomit some cool/wierd things into the prompt if(uncommon_dist(insanitylevel) and generatevomit == True): - completeprompt += random.choice(vomitlist) + ", " + completeprompt += "-vomit-, " if(uncommon_dist(insanitylevel)): - completeprompt += random.choice(vomitlist) + ", " + completeprompt += "-vomit-, " #adding a great work of art, like starry night has cool effects. But this should happen only very rarely. if(novel_dist(insanitylevel) and generategreatwork == True): - completeprompt += " in the style of " + random.choice(greatworklist) + ", " + completeprompt += " in the style of -greatwork-, " #adding a poemline. But this should happen only very rarely. if(novel_dist(insanitylevel) and generatepoemline == True): @@ -1536,9 +1536,18 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-artistphotography-" in completeprompt or "-emoji-" in completeprompt or "-timeperiod-" in completeprompt or - "-shotsize-" 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-"] - 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] + "-shotsize-" in completeprompt or + "-musicgenre-" in completeprompt or + "-animaladdition-" in completeprompt or + "-addontolocationinside-" in completeprompt or + "-addontolocation-" in completeprompt or + "-objectaddition-" in completeprompt or + "-humanaddition-" in completeprompt or + "-overalladdition-" in completeprompt or + "-focus-" in completeprompt or + "-direction-" 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-"] + 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] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist] diff --git a/csvfiles/buildings.csv b/csvfiles/buildings.csv index 7b463ce..75aed76 100644 --- a/csvfiles/buildings.csv +++ b/csvfiles/buildings.csv @@ -184,4 +184,5 @@ food stand ice cream stand cafeteria tavern -supermarket \ No newline at end of file +supermarket +Aquarium tunnel \ No newline at end of file diff --git a/csvfiles/colorscheme.csv b/csvfiles/colorscheme.csv index d938ae7..3d71a5e 100644 --- a/csvfiles/colorscheme.csv +++ b/csvfiles/colorscheme.csv @@ -61,4 +61,7 @@ psychedelic colors anaglyph effect anaglyph filter triadic colors -complementary colors \ No newline at end of file +complementary colors +two colors +three colors +four colors \ No newline at end of file diff --git a/csvfiles/descriptors.csv b/csvfiles/descriptors.csv index 53891cf..0716806 100644 --- a/csvfiles/descriptors.csv +++ b/csvfiles/descriptors.csv @@ -243,6 +243,7 @@ Fruit-Flavored Frustrated Functional Funny +Funky Fur-Trimmed Furious Futuristic @@ -282,6 +283,7 @@ Heartwarming Heavenly Hesitant Hideous +Historical Holistic Holy Homey @@ -544,6 +546,7 @@ Talented Tangible Tasteful Tasteless +Techno Tedious Tempting Tender @@ -592,6 +595,7 @@ Vengeful Verdant Vibrant Vile +Vintage Violent Visionary Visual diff --git a/csvfiles/musicgenres.csv b/csvfiles/musicgenres.csv new file mode 100644 index 0000000..6202545 --- /dev/null +++ b/csvfiles/musicgenres.csv @@ -0,0 +1,25 @@ +pop +dubstep +trap +heavy metal +hiphop +grunge +country +jazz +folk +punk rock +reggae +classical +rock and roll +easy listening +synthwave +opera +ambient +videogame music +death metal +swing +funk +dance +techno +modern +R&B \ No newline at end of file diff --git a/csvfiles/special_lists/overalladditions.csv b/csvfiles/special_lists/overalladditions.csv index f77fe8a..e08f1fc 100644 --- a/csvfiles/special_lists/overalladditions.csv +++ b/csvfiles/special_lists/overalladditions.csv @@ -37,4 +37,6 @@ earthly, natural, flowers and plants, -colorscheme- plants space, -space-, stars and moons, dark with bright -color- spots plain, mundane, boring, muted colors war, a battle with lasers going on in the distance -clean, soap bubbles, iridescent \ No newline at end of file +clean, soap bubbles, iridescent +-color- light shining from within +and the genre is -musicgenre- \ No newline at end of file diff --git a/csvfiles/vomit.csv b/csvfiles/vomit.csv index 876fcd7..0711798 100644 --- a/csvfiles/vomit.csv +++ b/csvfiles/vomit.csv @@ -78,6 +78,7 @@ National Geographic opulent otherworldly overlapping compositions +overly complex style Paint splotches Plain white background poster art @@ -90,6 +91,7 @@ rpg concept art Rule of Thirds sfumato silhouette +Simplified style Spirals stylized sunbeam From f04298fd3792f144c70ed27aaa89886babba570e Mon Sep 17 00:00:00 2001 From: AIrjen Date: Wed, 28 Jun 2023 22:09:16 +0200 Subject: [PATCH 2/4] Removing values from list on generation of wildcards --- build_dynamic_prompt.py | 44 +++++++++++++++++++++++++++++-------- csvfiles/concept_prefix.csv | 3 ++- csvfiles/musicgenres.csv | 16 +++++++++++++- prompttester.py | 2 +- 4 files changed, 53 insertions(+), 12 deletions(-) diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 20afb58..1cbbb23 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -768,6 +768,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(onlyartists == True and artistmode == "enhancing"): artistmode = "normal" + # if there are not enough artists in the list, then just go normal + if(len(artistlist) < 3): + artistmode = "normal" if(onlyartists == True and step == end): step = step - 1 @@ -1172,7 +1175,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all completeprompt += "-timeperiod-, " if(mainchooser not in ["landscape"] and rare_dist(insanitylevel) and generatefocus == True): - completeprompt += "-focus- " + completeprompt += "-focus-, " @@ -1201,7 +1204,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all completeprompt += random.choice(photoadditionlist) + ", " if(isphoto == 1 and generatecamera == True): - completeprompt += random.choice(cameralist) + ", " + completeprompt += "-camera-, " if(normal_dist(insanitylevel) or isphoto == 1): if(generatelens == True): @@ -1366,9 +1369,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # custom style list if(uncommon_dist(insanitylevel) and generatestyle == True): - completeprompt += random.choice(stylestiloralist) + ", " + completeprompt += "-styletilora-, " if(uncommon_dist(insanitylevel)): - completeprompt += random.choice(stylestiloralist) + ", " + completeprompt += "-styletilora-, " # custom suffix list @@ -1407,6 +1410,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all artistmode = artistmodeslist[modeselector] if artistmode in ["hybrid","switching"] and end - step == 1: artistmode = "normal" + # if there are not enough artists in the list, then just go normal + if(len(artistlist) < 3): + artistmode = "normal" if artistmode in ["hybrid", "stopping", "adding","switching"]: completeprompt += " [" @@ -1473,7 +1479,7 @@ 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) - completeprompt = completeprompt.replace("-artist-", "art by -artist-") + # lol, this needs a rewrite :D @@ -1545,18 +1551,21 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-humanaddition-" in completeprompt or "-overalladdition-" in completeprompt or "-focus-" in completeprompt or - "-direction-" 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-"] - 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] + "-direction-" in completeprompt or + "-styletilora-" 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-"] + 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] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist] + # keywordsinstring = any(word.lower() in givensubject.lower() for word in keywordslist) for wildcard in allwildcardslistnohybrid: attachedlist = allwildcardslistnohybridlists[allwildcardslistnohybrid.index(wildcard)] completeprompt = replacewildcard(completeprompt, insanitylevel, wildcard, attachedlist,False) + for wildcard in allwildcardslistwithhybrid: attachedlist = allwildcardslistwithhybridlists[allwildcardslistwithhybrid.index(wildcard)] @@ -1580,6 +1589,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # function def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehybridorswap): + if(len(listname) == 0): # handling empty lists completeprompt = completeprompt.replace(wildcard, "",1) @@ -1598,7 +1608,18 @@ def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehy completeprompt = completeprompt.replace(wildcard, hybridorswapreplacementvalue,1) - completeprompt = completeprompt.replace(wildcard, random.choice(listname),1) + #if list is not empty + if(bool(listname)): + replacementvalue = random.choice(listname) + listname.remove(replacementvalue) + if(wildcard == "-artist-"): + replacementvalue = "art by " + replacementvalue + + else: + replacementvalue = "" + + completeprompt = completeprompt.replace(wildcard, replacementvalue,1) + return completeprompt @@ -1615,6 +1636,9 @@ def cleanup(completeprompt): # Move the extracted matches to the end of completeprompt completeprompt += " " + " ".join(matches) + # sometimes if there are not enough artist, we get left we things formed as (:1.2) + completeprompt = re.sub('\(\:\d+\.\d+\)', '', completeprompt) + # all cleanup steps moved here completeprompt = re.sub('\[ ', '[', completeprompt) completeprompt = re.sub('\[,', '[', completeprompt) @@ -1652,6 +1676,8 @@ def cleanup(completeprompt): completeprompt = re.sub('(? Date: Fri, 30 Jun 2023 11:33:31 +0200 Subject: [PATCH 3/4] First workaround fix for upscalers loading --- build_dynamic_prompt.py | 14 +++++++--- csvfiles/special_lists/humanadditions.csv | 3 ++- model_lists.py | 32 +++++++++++++++++++++-- 3 files changed, 42 insertions(+), 7 deletions(-) diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 1cbbb23..1ba16fe 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -1596,15 +1596,21 @@ def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehy else: while wildcard in completeprompt: - if(unique_dist(insanitylevel) and activatehybridorswap == True): + if(unique_dist(insanitylevel) and activatehybridorswap == True and len(listname)>2): hybridorswaplist = ["hybrid", "swap"] hybridorswap = random.choice(hybridorswaplist) - hybridorswapreplacementvalue = "[" + random.choice(listname) + replacementvalue = random.choice(listname) + listname.remove(replacementvalue) + hybridorswapreplacementvalue = "[" + replacementvalue if(hybridorswap == "hybrid"): - hybridorswapreplacementvalue += "|" + random.choice(listname) + "] " + replacementvalue = random.choice(listname) + listname.remove(replacementvalue) + hybridorswapreplacementvalue += "|" + replacementvalue + "] " if(hybridorswap == "swap"): - hybridorswapreplacementvalue += ":" + random.choice(listname) + ":" + str(random.randint(1,20)) + "] " + replacementvalue = random.choice(listname) + listname.remove(replacementvalue) + hybridorswapreplacementvalue += ":" + replacementvalue + ":" + str(random.randint(1,20)) + "] " completeprompt = completeprompt.replace(wildcard, hybridorswapreplacementvalue,1) diff --git a/csvfiles/special_lists/humanadditions.csv b/csvfiles/special_lists/humanadditions.csv index 687ede2..38f41e3 100644 --- a/csvfiles/special_lists/humanadditions.csv +++ b/csvfiles/special_lists/humanadditions.csv @@ -12,9 +12,10 @@ cosplaying as -fictional- with -color- skin with -material- skin feeling -mood- +expression is -mood- bathing in a river -pose- under a waterfall -torn -minioutfit- +, torn -minioutfit- wearing -elaborateoutfit- -animal- hybrid as -culture- -rpgclass- diff --git a/model_lists.py b/model_lists.py index 2266f5e..811d449 100644 --- a/model_lists.py +++ b/model_lists.py @@ -1,8 +1,8 @@ import modules.scripts as scripts import os from modules import modelloader, paths, shared, sd_models -from modules.paths import models_path - +from modules.paths import models_path, script_path +import importlib def get_models(): modellist = sd_models.checkpoint_tiles() @@ -13,8 +13,24 @@ def get_upscalers(): latentlist=["Latent","Latent (antialiased)","Latent (bicubic)","Latent (bicubic antialiased)","Latent (nearest)","Latent (nearest-exact)","Lanczos","Nearest"] upscalerlistfromwWebUI = [x.name for x in shared.sd_upscalers] + # From 1.4 onwards, the shared.sd_upscalers isn't available on startup. Run load_upscalers first + if(bool(upscalerlistfromwWebUI) == False): + modelloader.cleanup_models() + modelloader.load_upscalers() + upscalerlistfromwWebUI = [x.name for x in shared.sd_upscalers] + + # deduplicate the list + upscalerlistfromwWebUI = list(dict.fromkeys(upscalerlistfromwWebUI)) + + if("None" in upscalerlistfromwWebUI): + upscalerlistfromwWebUI.remove("None") + upscalerlist = latentlist + upscalerlistfromwWebUI + + # Just to be sure, deduplicate again + upscalerlist = list(dict.fromkeys(upscalerlist)) + return upscalerlist def get_samplers(): @@ -25,8 +41,19 @@ def get_samplers(): def get_upscalers_for_img2img(): upscalerlistfromwWebUI = [x.name for x in shared.sd_upscalers] + + # From 1.4 onwards, the shared.sd_upscalers isn't available on startup. Run load_upscalers first + if(bool(upscalerlistfromwWebUI) == False): + modelloader.cleanup_models() + modelloader.load_upscalers() + upscalerlistfromwWebUI = [x.name for x in shared.sd_upscalers] + + # deduplicate the list + upscalerlistfromwWebUI = list(dict.fromkeys(upscalerlistfromwWebUI)) + if("None" in upscalerlistfromwWebUI): upscalerlistfromwWebUI.remove("None") + return upscalerlistfromwWebUI def get_samplers_for_img2img(): @@ -34,3 +61,4 @@ def get_samplers_for_img2img(): samplerlist = ["Euler a", "Euler", "LMS","Heun","DPM2","DPM2 a","DPM++ 2S a","DPM++ 2M","DPM++ SDE","DPM fast","DPM adaptive","LMS Karras","DPM2 Karras","DPM2 a Karras","DPM++ 2S a Karras","DPM++ 2M Karras","DPM++ SDE Karras"] samplerlist += ["DDIM"] #UniPC and PLMS dont support upscaling apparently return samplerlist + From 7b20540e26ce9cdadf4d9c9ea8ec6546e4b39327 Mon Sep 17 00:00:00 2001 From: AIrjen Date: Fri, 30 Jun 2023 11:53:22 +0200 Subject: [PATCH 4/4] added some additional fun lists --- build_dynamic_prompt.py | 41 ++++++++++++++------- csvfiles/containers.csv | 26 +++++++++++++ csvfiles/manwoman.csv | 14 +------ csvfiles/manwomanrelations.csv | 16 ++++++++ csvfiles/special_lists/humanadditions.csv | 7 ++-- csvfiles/special_lists/overalladditions.csv | 4 +- csvfiles/waterlocations.csv | 27 ++++++++++++++ prompttester.py | 2 +- 8 files changed, 105 insertions(+), 32 deletions(-) create mode 100644 csvfiles/containers.csv create mode 100644 csvfiles/manwomanrelations.csv create mode 100644 csvfiles/waterlocations.csv diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 1ba16fe..fc82160 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -80,6 +80,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all poemlinelist = csv_to_list("poemlines", antilist) songlinelist = csv_to_list("songlines", antilist) musicgenrelist = csv_to_list("musicgenres", antilist) + manwomanrelationlist = csv_to_list("manwomanrelations", antilist) + waterlocationlist = csv_to_list("waterlocations", antilist) + containerlist = csv_to_list("containers", antilist) humanlist = fictionallist + nonfictionallist + humanoidlist objecttotallist = objectlist + buildinglist + vehiclelist + foodlist + spacelist @@ -181,8 +184,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all generatenonfictionalcharacter = bool(nonfictionallist) generatehumanoids = bool(humanoidlist) generatemanwoman = bool(manwomanlist) + generatemanwomanrelation = bool(manwomanrelationlist) generatejob = bool(joblist) - generatehumanoid = generatefictionalcharacter + generatenonfictionalcharacter + generatehumanoids + generatemanwoman + generatejob + generatehumanoid = generatefictionalcharacter + generatenonfictionalcharacter + generatehumanoids + generatemanwoman + generatejob + generatemanwomanrelation if(generatefictionalcharacter): @@ -203,6 +207,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(generatemanwoman): humanoidsubjectchooserlist.append("human") + if(generatemanwomanrelation): + humanoidsubjectchooserlist.append("manwomanrelation") + if(generatejob): humanoidsubjectchooserlist.append("job") @@ -590,7 +597,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all else: subjectchooser = "animal as human" if(mainchooser == "humanoid"): - #humanoidsubjectchooserlist = ["human", "job", "fictional", "non fictional", "humanoid"] + #humanoidsubjectchooserlist = ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation"] subjectchooser = random.choice(humanoidsubjectchooserlist) if(mainchooser == "landscape"): subjectchooser = "landscape" @@ -902,10 +909,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(uncommon_dist(insanitylevel) and generatedescriptors == True): completeprompt += "-descriptor- " - if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generatebodytype == True): + if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation"] and normal_dist(insanitylevel) and generatebodytype == True): completeprompt += "-bodytype- " - if(subjectchooser in ["object","animal as human,","human", "job", "fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generatedescriptors == True): + if(subjectchooser in ["object","animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation"] and normal_dist(insanitylevel) and generatedescriptors == True): completeprompt += "-culture- " if(mainchooser == "object"): @@ -979,6 +986,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(subjectchooser == "human"): completeprompt += "-manwoman- " + + if(subjectchooser == "manwomanrelation"): + completeprompt += "-manwomanrelation- " if(subjectchooser == "job"): completeprompt += "-malefemale- " @@ -1094,7 +1104,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # riding an animal, holding an object or driving a vehicle, rare - if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid"] and rare_dist(insanitylevel) and generatehumanaddition == True): + if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation"] and rare_dist(insanitylevel) and generatehumanaddition == True): humanspecial = 1 completeprompt += "-humanaddition- " @@ -1110,7 +1120,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # SD understands emoji's. Can be used to manipulate facial expressions. # emoji, legendary - if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid"] and legendary_dist(insanitylevel) and generateemoji== True): + if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation"] and legendary_dist(insanitylevel) and generateemoji== True): completeprompt += "-emoji-, " @@ -1121,7 +1131,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # Job # either go job or activity, not both - if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and humanspecial != 1 and generatesubject == True): + if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid", "manwomanrelation"] and normal_dist(insanitylevel) and humanspecial != 1 and generatesubject == True): joboractivitylist = [joblist,humanactivitylist] completeprompt += random.choice(random.choice(joboractivitylist)) + ", " @@ -1141,16 +1151,16 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all completeprompt += " -minivomit-, " # outfit builder - if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generateoutfit == True and humanspecial != 1): + if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid", "manwomanrelation"] and normal_dist(insanitylevel) and generateoutfit == True and humanspecial != 1): completeprompt += ", wearing " + random.choice(buildoutfitlist) + ", " - if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid"] and uncommon_dist(insanitylevel) and humanspecial != 1 and generatepose == True): + if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid", "manwomanrelation"] and uncommon_dist(insanitylevel) and humanspecial != 1 and generatepose == True): completeprompt += random.choice(poselist) + ", " - if(subjectchooser in ["human","job","fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generatehairstyle == True): + if(subjectchooser in ["human","job","fictional", "non fictional", "humanoid", "manwomanrelation"] and normal_dist(insanitylevel) and generatehairstyle == True): completeprompt += random.choice(buildhairlist) + ", " - if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid"] and normal_dist(insanitylevel) and generateaccessorie == True and generateaccessories == True): + if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation"] and normal_dist(insanitylevel) and generateaccessorie == True and generateaccessories == True): completeprompt += random.choice(buildaccessorielist) + ", " if(legendary_dist(insanitylevel) and subjectchooser not in ["landscape", "concept"] and generateinsideshot == True): @@ -1552,9 +1562,12 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-overalladdition-" in completeprompt or "-focus-" in completeprompt or "-direction-" in completeprompt or - "-styletilora-" 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-"] - 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] + "-styletilora-" in completeprompt or + "-manwomanrelation-" in completeprompt or + "-waterlocation-" in completeprompt or + "-container-" 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-"] + 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] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist] diff --git a/csvfiles/containers.csv b/csvfiles/containers.csv new file mode 100644 index 0000000..d203f90 --- /dev/null +++ b/csvfiles/containers.csv @@ -0,0 +1,26 @@ +Bottle +Lamp +Jar +Vase +Pitcher +Decanter +Carafe +Flask +Tumbler +Cup +Wine glass +Champagne flute +Shot glass +Martini glass +Highball glass +Snifter +Juice glass +Mason jar +Perfume bottle +Oil bottle +Apothecary jar +Terrarium +Fishbowl +Paperweight +Glass canister +Machine \ No newline at end of file diff --git a/csvfiles/manwoman.csv b/csvfiles/manwoman.csv index e335c53..4bf9f4a 100644 --- a/csvfiles/manwoman.csv +++ b/csvfiles/manwoman.csv @@ -1,14 +1,2 @@ Man -Woman -Boy -Girl -Mother -Father -Grandma -Grandpa -Aunt -Uncle -Sister -Brother -Sibling -Parent \ No newline at end of file +Woman \ No newline at end of file diff --git a/csvfiles/manwomanrelations.csv b/csvfiles/manwomanrelations.csv new file mode 100644 index 0000000..168b78b --- /dev/null +++ b/csvfiles/manwomanrelations.csv @@ -0,0 +1,16 @@ +Boy +Girl +Mother +Father +Grandma +Grandpa +Aunt +Uncle +Sister +Brother +Sibling +Parent +Wife +Husband +Girlfriend +Boyfriend \ No newline at end of file diff --git a/csvfiles/special_lists/humanadditions.csv b/csvfiles/special_lists/humanadditions.csv index 38f41e3..bb30852 100644 --- a/csvfiles/special_lists/humanadditions.csv +++ b/csvfiles/special_lists/humanadditions.csv @@ -13,10 +13,11 @@ with -color- skin with -material- skin feeling -mood- expression is -mood- -bathing in a river --pose- under a waterfall +bathing in a -waterlocation- +-pose- under a -waterlocation- , torn -minioutfit- wearing -elaborateoutfit- -animal- hybrid as -culture- -rpgclass- -sitting in a -descriptor- chair \ No newline at end of file +sitting in a -descriptor- chair +inside a -container- \ No newline at end of file diff --git a/csvfiles/special_lists/overalladditions.csv b/csvfiles/special_lists/overalladditions.csv index e08f1fc..305a5d6 100644 --- a/csvfiles/special_lists/overalladditions.csv +++ b/csvfiles/special_lists/overalladditions.csv @@ -39,4 +39,6 @@ plain, mundane, boring, muted colors war, a battle with lasers going on in the distance clean, soap bubbles, iridescent -color- light shining from within -and the genre is -musicgenre- \ No newline at end of file +and the genre is -musicgenre- +displayed in a rainbow pattern +inside a -container- \ No newline at end of file diff --git a/csvfiles/waterlocations.csv b/csvfiles/waterlocations.csv new file mode 100644 index 0000000..bf43b4c --- /dev/null +++ b/csvfiles/waterlocations.csv @@ -0,0 +1,27 @@ +River +Pond +Lake +Waterfall +Ocean +Sea +Beach +Bay +Estuary +Lagoon +Fjord +Canal +Reservoir +Marsh +Wetland +Hot Spring +Water Park +Swimming Pool +Aquarium +Waterfront +Waterway +Delta +Glacier +Underwater Cave +Onsen +Bath +Shower \ No newline at end of file diff --git a/prompttester.py b/prompttester.py index 5e4bdf7..9b55c30 100644 --- a/prompttester.py +++ b/prompttester.py @@ -46,4 +46,4 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im print("") print("All done!") -generateprompts(10,9,"humanoid","all","all",False,"","","PREFIXPROMPT" ,"SUFFIXPROMPT","",1,"","",True,"",100) \ No newline at end of file +generateprompts(10,10,"humanoid","all","all",False,"","","PREFIXPROMPT" ,"SUFFIXPROMPT","",1,"","",True,"",100) \ No newline at end of file