Merge pull request #63 from AIrjen/minor_updates_and_wildcards

Minor updates and wildcards
This commit is contained in:
AIrjen
2023-06-30 11:55:36 +02:00
committed by GitHub
15 changed files with 278 additions and 83 deletions
+113 -59
View File
@@ -79,6 +79,10 @@ 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)
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
@@ -138,8 +142,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 +156,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 +169,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")
@@ -179,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):
@@ -201,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")
@@ -218,8 +227,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)
@@ -588,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"
@@ -766,6 +775,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
@@ -892,16 +904,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) + " "
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):
completeprompt += random.choice(culturelist) + " "
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"):
objectwildcardlist = ["-object-", "-building-","-vehicle-","-food-", "-space-"] # using wildcards for replacements
@@ -949,9 +961,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 +985,14 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(givensubject==""):
if(subjectchooser == "human"):
completeprompt += random.choice(manwomanlist) + " "
completeprompt += "-manwoman- "
if(subjectchooser == "manwomanrelation"):
completeprompt += "-manwomanrelation- "
if(subjectchooser == "job"):
completeprompt += random.choice(malefemalelist) + " "
completeprompt += random.choice(joblist) + " "
completeprompt += "-malefemale- "
completeprompt += "-job- "
if(subjectchooser == "fictional"):
if rare_dist(insanitylevel):
@@ -985,7 +1000,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 +1014,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 +1028,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 +1052,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 +1066,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 +1100,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):
if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation"] 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- "
@@ -1107,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-, "
@@ -1118,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)) + ", "
@@ -1138,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):
@@ -1172,23 +1185,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-, "
@@ -1201,7 +1214,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):
@@ -1212,13 +1225,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):
@@ -1366,9 +1379,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 +1420,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 +1489,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
@@ -1536,18 +1552,33 @@ 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 or
"-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]
# 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)]
@@ -1571,25 +1602,43 @@ 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)
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)
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
@@ -1606,6 +1655,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)
@@ -1643,6 +1695,8 @@ def cleanup(completeprompt):
completeprompt = re.sub('(?<!\()\s?\(', ' (', completeprompt)
completeprompt = re.sub('\)(?![\s)])', ') ', completeprompt)
completeprompt = completeprompt.strip(", ")
return completeprompt
+2 -1
View File
@@ -184,4 +184,5 @@ food stand
ice cream stand
cafeteria
tavern
supermarket
supermarket
Aquarium tunnel
1 Architecture
184 ice cream stand
185 cafeteria
186 tavern
187 supermarket
188 Aquarium tunnel
+4 -1
View File
@@ -61,4 +61,7 @@ psychedelic colors
anaglyph effect
anaglyph filter
triadic colors
complementary colors
complementary colors
two colors
three colors
four colors
1 Agfacolor
61 anaglyph effect
62 anaglyph filter
63 triadic colors
64 complementary colors
65 two colors
66 three colors
67 four colors
+2 -1
View File
@@ -127,4 +127,5 @@ Dread
Element
Magic
Underworld
Bird
Bird
-musicgenre--wizards
1 Ocean
127 Element
128 Magic
129 Underworld
130 Bird
131 -musicgenre--wizards
+26
View File
@@ -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
1 Bottle
2 Lamp
3 Jar
4 Vase
5 Pitcher
6 Decanter
7 Carafe
8 Flask
9 Tumbler
10 Cup
11 Wine glass
12 Champagne flute
13 Shot glass
14 Martini glass
15 Highball glass
16 Snifter
17 Juice glass
18 Mason jar
19 Perfume bottle
20 Oil bottle
21 Apothecary jar
22 Terrarium
23 Fishbowl
24 Paperweight
25 Glass canister
26 Machine
+4
View File
@@ -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
1 -space-
243 Frustrated
244 Functional
245 Funny
246 Funky
247 Fur-Trimmed
248 Furious
249 Futuristic
283 Heavenly
284 Hesitant
285 Hideous
286 Historical
287 Holistic
288 Holy
289 Homey
546 Tangible
547 Tasteful
548 Tasteless
549 Techno
550 Tedious
551 Tempting
552 Tender
595 Verdant
596 Vibrant
597 Vile
598 Vintage
599 Violent
600 Visionary
601 Visual
+1 -13
View File
@@ -1,14 +1,2 @@
Man
Woman
Boy
Girl
Mother
Father
Grandma
Grandpa
Aunt
Uncle
Sister
Brother
Sibling
Parent
Woman
1 Man
2 Woman
Boy
Girl
Mother
Father
Grandma
Grandpa
Aunt
Uncle
Sister
Brother
Sibling
Parent
+16
View File
@@ -0,0 +1,16 @@
Boy
Girl
Mother
Father
Grandma
Grandpa
Aunt
Uncle
Sister
Brother
Sibling
Parent
Wife
Husband
Girlfriend
Boyfriend
1 Boy
2 Girl
3 Mother
4 Father
5 Grandma
6 Grandpa
7 Aunt
8 Uncle
9 Sister
10 Brother
11 Sibling
12 Parent
13 Wife
14 Husband
15 Girlfriend
16 Boyfriend
+39
View File
@@ -0,0 +1,39 @@
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
disco
glitch
EDM
happy hardcore
gospel
Lo-Fi
Hi-Fi
New Age
Rock
hard rock
indie rock
psychedelic rock
progressive
trance
1 pop
2 dubstep
3 trap
4 heavy metal
5 hiphop
6 grunge
7 country
8 jazz
9 folk
10 punk rock
11 reggae
12 classical
13 rock and roll
14 easy listening
15 synthwave
16 opera
17 ambient
18 videogame music
19 death metal
20 swing
21 funk
22 dance
23 techno
24 modern
25 R&B
26 disco
27 glitch
28 EDM
29 happy hardcore
30 gospel
31 Lo-Fi
32 Hi-Fi
33 New Age
34 Rock
35 hard rock
36 indie rock
37 psychedelic rock
38 progressive
39 trance
+6 -4
View File
@@ -12,10 +12,12 @@ cosplaying as -fictional-
with -color- skin
with -material- skin
feeling -mood-
bathing in a river
-pose- under a waterfall
torn -minioutfit-
expression is -mood-
bathing in a -waterlocation-
-pose- under a -waterlocation-
, torn -minioutfit-
wearing -elaborateoutfit-
-animal- hybrid
as -culture- -rpgclass-
sitting in a -descriptor- chair
sitting in a -descriptor- chair
inside a -container-
1 riding a -animal-
12 with -color- skin
13 with -material- skin
14 feeling -mood-
15 bathing in a river expression is -mood-
16 -pose- under a waterfall bathing in a -waterlocation-
17 torn -minioutfit- -pose- under a -waterlocation-
18
19 wearing -elaborateoutfit-
20 -animal- hybrid
21 as -culture- -rpgclass-
22 sitting in a -descriptor- chair
23 inside a -container-
+5 -1
View File
@@ -37,4 +37,8 @@ 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
clean, soap bubbles, iridescent
-color- light shining from within
and the genre is -musicgenre-
displayed in a rainbow pattern
inside a -container-
1 floating in space
37 space
38 plain
39 war
40 clean
41 -color- light shining from within
42 and the genre is -musicgenre-
43 displayed in a rainbow pattern
44 inside a -container-
+2
View File
@@ -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
1 (-color- and -color-:0.7)
78 opulent
79 otherworldly
80 overlapping compositions
81 overly complex style
82 Paint splotches
83 Plain white background
84 poster art
91 Rule of Thirds
92 sfumato
93 silhouette
94 Simplified style
95 Spirals
96 stylized
97 sunbeam
+27
View File
@@ -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
1 River
2 Pond
3 Lake
4 Waterfall
5 Ocean
6 Sea
7 Beach
8 Bay
9 Estuary
10 Lagoon
11 Fjord
12 Canal
13 Reservoir
14 Marsh
15 Wetland
16 Hot Spring
17 Water Park
18 Swimming Pool
19 Aquarium
20 Waterfront
21 Waterway
22 Delta
23 Glacier
24 Underwater Cave
25 Onsen
26 Bath
27 Shower
+30 -2
View File
@@ -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
+1 -1
View File
@@ -46,4 +46,4 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im
print("")
print("All done!")
generateprompts(10,9,"humanoid","all","only templates mode",False,"","","PREFIXPROMPT" ,"SUFFIXPROMPT","",1,"","",True,"",100)
generateprompts(10,10,"humanoid","all","all",False,"","","PREFIXPROMPT" ,"SUFFIXPROMPT","",1,"","",True,"",100)