work work work work

This commit is contained in:
AIrjen
2024-05-30 21:04:01 +02:00
parent b2c9d70278
commit 6cfd39e515
7 changed files with 194 additions and 56 deletions
+173 -50
View File
@@ -66,7 +66,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# api support tricks for OBP presets
OBP_preset = ""
if(OBP_preset != ""):
if(OBP_preset != "" and OBP_preset != 'Custom...'):
selected_opb_preset = OBPresets.get_obp_preset(OBP_preset)
insanitylevel = selected_opb_preset["insanitylevel"]
forcesubject = selected_opb_preset["subject"]
@@ -92,6 +92,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
doartistnormal = True
outfitmode = 0
animalashuman = False
partlystylemode = False
# load the config file
config = load_config_csv()
@@ -428,6 +430,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# subjects
mainchooserlist = []
objectwildcardlist = []
locationwildcardlist = []
animalwildcardlist = []
hybridlist = []
hybridhumanlist = []
humanoidsubjectchooserlist = []
@@ -443,8 +447,17 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
generatebuilding = True
generatespace = True
generateflora = True
generateoccult = True
generateconcept = True
generateanimal = True
generatebird = True
generatecat = True
generatedog = True
generateinsect = True
generatepokemon = True
generatemanwoman = True
generatemanwomanrelation = True
generatemanwomanmultiple = True
@@ -454,6 +467,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
generatejob = True
generatefirstnames = True
generatelandscape = True
generatelocation = True
generatelocationfantasy = True
generatelocationscifi = True
generatelocationvideogame = True
@@ -561,6 +575,16 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# animals
if item[0] == 'subject_animal' and item[1] != 'on':
generateanimal = False
if item[0] == 'subject_bird' and item[1] != 'on':
generatebird = False
if item[0] == 'subject_cat' and item[1] != 'on':
generatecat = False
if item[0] == 'subject_dog' and item[1] != 'on':
generatedog = False
if item[0] == 'subject_insect' and item[1] != 'on':
generateinsect = False
if item[0] == 'subject_pokemon' and item[1] != 'on':
generatepokemon = False
# humanoids
if item[0] == 'subject_manwoman' and item[1] != 'on':
generatemanwoman = False
@@ -579,8 +603,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if item[0] == 'subject_firstnames' and item[1] != 'on':
generatefirstnames = False
# landscape
if item[0] == 'subject_landscape' and item[1] != 'on':
generatelandscape = False
if item[0] == 'subject_location' and item[1] != 'on':
generatelocation = False
if item[0] == 'subject_location_fantasy' and item[1] != 'on':
generatelocationfantasy = False
if item[0] == 'subject_location_scifi' and item[1] != 'on':
@@ -795,6 +819,45 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(generateobject):
mainchooserlist.append("object")
if(generatelandscape):
mainchooserlist.append("landscape")
if(generatelocationfantasy):
locationwildcardlist.append("-locationfantasy-")
if(generatelocationscifi):
locationwildcardlist.append("-locationscifi-")
if(generatelocationvideogame):
locationwildcardlist.append("-locationvideogame-")
if(generatelocationbiome):
locationwildcardlist.append("-locationbiome-")
if(generatelocationcity):
locationwildcardlist.append("-locationcity-")
if(generatelocation):
locationwildcardlist.append("-location-")
if(generateanimal):
animalwildcardlist.append("-animal-")
if(generatebird):
animalwildcardlist.append("-bird-")
if(generatecat):
animalwildcardlist.append("-cat-")
if(generatedog):
animalwildcardlist.append("-dog-")
if(generateinsect):
animalwildcardlist.append("-insect-")
if(generatepokemon):
animalwildcardlist.append("-pokemon-")
generatefictionalcharacter = bool(fictionallist) and generatefictionalcharacter
generatenonfictionalcharacter = bool(nonfictionallist) and generatenonfictionalcharacter
generatehumanoids = bool(humanoidlist) and generatehumanoids
@@ -841,18 +904,37 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
generateanimal = bool(animallist) and generateanimal
generatebird = bool(birdlist) and generatebird
generatecat = bool(catlist) and generatecat
generatedog = bool(doglist) and generatedog
generateinsect = bool(insectlist) and generateinsect
generatepokemon = bool(pokemonlist) and generatepokemon
generateanimaltotal = generateanimal or generatebird or generatecat or generatedog or generateinsect or generatepokemon
if(generateanimal):
mainchooserlist.append("animal")
hybridlist.append("-animal-")
if(generatebird):
hybridlist.append("-bird-")
if(generatecat):
hybridlist.append("-cat-")
if(generatedog):
hybridlist.append("-dog-")
if(generateinsect):
hybridlist.append("-insect-")
if(generatepokemon):
hybridlist.append("-pokemon-")
generatelandscape = bool(locationlist) and generatelandscape
if(generateanimaltotal):
mainchooserlist.append("animal")
generatelocation = bool(locationlist) and generatelocation
generatelocationfantasy = bool(locationfantasylist) and generatelocationfantasy
generatelocationscifi = bool(locationscifilist) and generatelocationscifi
generatelocationvideogame = bool(locationvideogamelist) and generatelocationvideogame
generatelocationbiome = bool(locationbiomelist) and generatelocationbiome
generatelocationcity = bool(locationcitylist) and generatelocationcity
generatelandscape = generatelandscape or generatelocationfantasy or generatelocationscifi or generatelocationvideogame or generatelocationbiome or generatelocationcity
generatelandscape = generatelocation or generatelocationfantasy or generatelocationscifi or generatelocationvideogame or generatelocationbiome or generatelocationcity
if(generatelandscape):
mainchooserlist.append("landscape")
@@ -861,7 +943,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
addontolocationinsidelist.append("-location-")
addontolocationinsidelist.append("-background-")
locationsubjectchooserlist.append("landscape")
if(generatelocation):
locationsubjectchooserlist.append("location")
if(generatelocationfantasy):
locationsubjectchooserlist.append("fantasy location")
if(generatelocationscifi):
@@ -1319,12 +1403,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# 0 object, 1 animal, 2 animal as human, 3 ManWoman, 4 Job, 5 fictional, 6 non fictional, 7 humanoid, 8 landscape, 9 event
if(mainchooser == "object"):
subjectchooser = "object"
if(mainchooser == "animal"):
if(mainchooser == "animal" and random.randint(0,5) == 5):
# sometimes interpret the animal as a human
if(random.randint(0,5) < 5):
subjectchooser = "animal"
else:
subjectchooser = "animal as human"
animalashuman = True
if(mainchooser == "humanoid"):
#humanoidsubjectchooserlist = ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "firstname"]
# Lets put generic humans as a more 'normal' value. Manwoman relation as the least picked.
@@ -1916,7 +1997,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# outfitmode = 2 IS NORMAL
if(overrideoutfit!=""):
outfitmode = 2
if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"] and chance_roll(insanitylevel, outfitchance) and generateoutfit == True and humanspecial != 1):
if(animalashuman or subjectchooser in ["human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"] and chance_roll(insanitylevel, outfitchance) and generateoutfit == True and humanspecial != 1):
if(random.randint(0,10)==0):
outfitmode = 1
else:
@@ -1933,7 +2014,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += " " + givensubjectpromptlist[0] + " "
# Once in a very rare while, we get a ... full of ...s
if(novel_dist(insanitylevel) and subjectchooser in ["animal", "animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","firstname"]):
if(novel_dist(insanitylevel) and (animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","firstname"])):
buildingfullmode = True
insideshot = 1
heshelist = ["they"]
@@ -1947,7 +2028,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(descriptorsintheback < 2):
# Common to have 1 description, uncommon to have 2
if(chance_roll(insanitylevel, subjectdescriptor1chance) and generatedescriptors == True):
if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]):
completeprompt += "-humandescriptor- "
elif(mainchooser == "landscape"):
completeprompt += "-locationdescriptor- "
@@ -1957,7 +2038,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += "-descriptor- "
if(chance_roll(insanitylevel, subjectdescriptor2chance) and generatedescriptors == True):
if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]):
completeprompt += "-humandescriptor- "
elif(mainchooser == "landscape"):
completeprompt += "-locationdescriptor- "
@@ -1974,10 +2055,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"] and extraordinary_dist(insanitylevel)):
completeprompt += str(random.randint(20,99)) + " OR(y.o.;year old) "
if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"] and chance_roll(insanitylevel, subjectbodytypechance) and generatebodytype == True):
if((animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]) and chance_roll(insanitylevel, subjectbodytypechance) and generatebodytype == True):
completeprompt += "-bodytype- "
if(subjectchooser in ["object","animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"] and chance_roll(insanitylevel, subjectculturechance) and generatedescriptors == True):
if((animalashuman or subjectchooser in ["object","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]) and chance_roll(insanitylevel, subjectculturechance) and generatedescriptors == True):
completeprompt += "-culture- "
if(mainchooser == "object"):
@@ -2043,6 +2124,22 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# if we have a given subject, we should skip making an actual subject
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
if(subjectchooser=="animal"):
animalwildcardlist = ["-animal-"]
elif(subjectchooser=="bird"):
animalwildcardlist = ["-bird-"]
elif(subjectchooser=="cat"):
animalwildcardlist = ["-cat-"]
elif(subjectchooser=="dog"):
animalwildcardlist = ["-dog-"]
elif(subjectchooser=="insect"):
animalwildcardlist = ["-insect-"]
elif(subjectchooser=="pokemon"):
animalwildcardlist = ["-pokemon-"]
chosenanimalwildcard = random.choice(animalwildcardlist)
if(rare_dist(insanitylevel) and advancedprompting == True):
hybridorswaplist = ["hybrid", "swap"]
hybridorswap = random.choice(hybridorswaplist)
@@ -2050,9 +2147,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(unique_dist(insanitylevel) and generateanimaladdition == True):
animaladdedsomething = 1
completeprompt += "-animaladdition- -animal- "
completeprompt += "-animaladdition- " + chosenanimalwildcard + " "
if(animaladdedsomething != 1):
completeprompt += "-animal- "
completeprompt += chosenanimalwildcard + " "
@@ -2060,12 +2157,12 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(uncommon_dist(insanitylevel)):
completeprompt += "|" + random.choice(hybridlist) + "] "
else:
completeprompt += "| -animal- ] "
completeprompt += "| " + chosenanimalwildcard + " ] "
if(hybridorswap == "swap"):
if(uncommon_dist(insanitylevel)):
completeprompt += ":" + random.choice(hybridlist) + ":" + str(random.randint(1,5)) + "] "
else:
completeprompt += ":-animal-:" + str(random.randint(1,5)) + "] "
completeprompt += ":" + chosenanimalwildcard + ":" + str(random.randint(1,5)) + "] "
else:
completeprompt += " " + givensubject + " "
@@ -2073,7 +2170,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# move job or activity logic here. We want to place it at 2 different places maybe
if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"] and chance_roll(insanitylevel, joboractivitychance) and humanspecial != 1 and generatesubject == True):
if((animalashuman or subjectchooser in ["human","fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]) and chance_roll(insanitylevel, joboractivitychance) and humanspecial != 1 and generatesubject == True):
genjoboractivity = True
genjoboractivitylocationslist = ["front","middle", "middle","back","back", "back"]
genjoboractivitylocation = random.choice(genjoboractivitylocationslist)
@@ -2193,7 +2290,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += " -animalsuffixaddition- "
if(subjectchooser == "landscape"):
if(mainchooser == "landscape"):
# first add a wildcard that can be used to create prompt strenght
completeprompt += " -objectstrengthstart-"
@@ -2204,24 +2301,28 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
hybridorswap = random.choice(hybridorswaplist)
completeprompt += "["
if(subjectchooser=="landscape"):
completeprompt += "-location- "
if(subjectchooser=="location"):
locationwildcardlist = ["-location-"]
elif(subjectchooser=="fantasy location"):
completeprompt += "-locationfantasy- "
locationwildcardlist = ["-locationfantasy-"]
elif(subjectchooser=="videogame location"):
completeprompt += "-locationvideogame- "
locationwildcardlist = ["-locationvideogame-"]
elif(subjectchooser=="sci-fi location"):
completeprompt += "-locationscifi- "
locationwildcardlist = ["-locationscifi-"]
elif(subjectchooser=="biome"):
completeprompt += "-locationbiome- "
locationwildcardlist = ["-locationbiome-"]
elif(subjectchooser=="city"):
completeprompt += "-locationcity- "
locationwildcardlist = ["-locationcity-"]
chosenlocationwildcard = random.choice(locationwildcardlist)
completeprompt += chosenlocationwildcard + " "
if(hybridorswap == "hybrid"):
completeprompt += "|" + "-location-" + "] "
completeprompt += "|" + chosenlocationwildcard + "] "
if(hybridorswap == "swap"):
completeprompt += ":" + "-location-" + ":" + str(random.randint(1,5)) + "] "
completeprompt += ":" + chosenlocationwildcard + ":" + str(random.randint(1,5)) + "] "
else:
completeprompt += " " + givensubject + " "
@@ -2322,7 +2423,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(descriptorsintheback == 2):
# Common to have 1 description, uncommon to have 2
if(chance_roll(insanitylevel, subjectdescriptor1chance) and generatedescriptors == True):
if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"]):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"]):
if(less_verbose):
completeprompt += ", -humandescriptor- "
elif(random.randint(0,3) > 0):
@@ -2348,7 +2449,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += ", OR(;-heshe- is;normal) OR(;very;rare) -descriptor- "
if(chance_roll(insanitylevel, subjectdescriptor2chance) and generatedescriptors == True):
if(subjectchooser in ["animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"]):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"]):
if(less_verbose):
completeprompt += ", -humandescriptor- "
else:
@@ -2381,7 +2482,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", "manwomanrelation","manwomanmultiple","firstname"] and chance_roll(insanitylevel, humanadditionchance) and generatehumanaddition == True):
if((animalashuman or subjectchooser in ["human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"]) and chance_roll(insanitylevel, humanadditionchance) and generatehumanaddition == True):
humanspecial = 1
completeprompt += "-humanaddition- "
@@ -2397,11 +2498,11 @@ 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", "manwomanrelation","manwomanmultiple","firstname"] and chance_roll(insanitylevel, emojichance) and generateemoji== True):
if((animalashuman or subjectchooser in ["human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"]) and chance_roll(insanitylevel, emojichance) and generateemoji== True):
completeprompt += "-emoji-, "
# human expressions
if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"] and chance_roll(insanitylevel, humanexpressionchance) and generatehumanexpression== True):
if((animalashuman or subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"]) and chance_roll(insanitylevel, humanexpressionchance) and generatehumanexpression== True):
completeprompt += "-humanexpression-, "
@@ -2419,9 +2520,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += "OR(,; as a;rare) -job-, "
# if(subjectchooser in ["animal as human","human","job", "fictional", "non fictional", "humanoid"] and legendary_dist(insanitylevel)):
# skintypelist = ["-color-", "-material-"]
# completeprompt += ", with " + random.choice(skintypelist) + " skin, "
# add face builder sometimes on generic humans
if(subjectchooser in ["human", "humanoid", "manwomanrelation","firstname"] and chance_roll(insanitylevel, buildfacechance) and generateface== True):
@@ -2440,7 +2539,7 @@ 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", "manwomanrelation","manwomanmultiple", "firstname"] and chance_roll(insanitylevel, outfitchance) and generateoutfit == True and humanspecial != 1):
if(outfitmode == 2):
completeprompt += " " + random.choice(buildoutfitlist) + ", "
if(extraordinary_dist(insanitylevel)):
@@ -2452,7 +2551,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(subjectchooser in ["animal as human","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"] and chance_roll(insanitylevel, posechance) and humanspecial != 1 and generatepose == True):
if((animalashuman or subjectchooser in ["human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"]) and chance_roll(insanitylevel, posechance) and humanspecial != 1 and generatepose == True):
completeprompt += random.choice(poselist) + ", "
if(subjectchooser in ["human","job","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"] and chance_roll(insanitylevel, hairchance) and generatehairstyle == True):
@@ -2460,7 +2559,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(unique_dist(insanitylevel)):
completeprompt += " -hairvomit-, "
if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"] and chance_roll(insanitylevel, accessorychance) and generateaccessorie == True and generateaccessories == True):
if((animalashuman or subjectchooser in ["human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"]) and chance_roll(insanitylevel, accessorychance) and generateaccessorie == True and generateaccessories == True):
completeprompt += random.choice(buildaccessorielist) + ", "
if(chance_roll(insanitylevel, humanoidinsideshotchance) and subjectchooser not in ["landscape", "concept"] and generateinsideshot == True):
@@ -3335,13 +3434,19 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
"-locationscifi-" in completeprompt or
"-locationvideogame-" in completeprompt or
"-locationbiome-" in completeprompt or
"-locationcity-" in completeprompt):
"-locationcity-" in completeprompt or
"-bird-" in completeprompt or
"-cat-" in completeprompt or
"-dog-" in completeprompt or
"-insect-" in completeprompt or
"-pokemon-" in completeprompt or
"-pokemontype-" 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-","-outfitfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-fantasyartist-", "-popularartist-", "-romanticismartist-", "-photographyartist-", "-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-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-buildfacepart-", "-outfitvomit-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-", "-humanvomit-", "-eyecolor-", "-fashiondesigner-", "-colorcombination-", "-materialcombination-", "-oppositefictional-", "-oppositenonfictional-", "-photoaddition-", "-age-", "-agecalculator-", "-gregmode-"
,"-portraitartist-", "-characterartist-" , "-landscapeartist-", "-scifiartist-", "-graphicdesignartist-", "-digitalartist-", "-architectartist-", "-cinemaartist-", "-setting-", "-charactertype-", "-objectstohold-", "-episodetitle-", "-token-", "-allstylessuffix-", "-fluff-", "-event-", "-background-"
, "-occult-", "-locationfantasy-", "-locationscifi-", "-locationvideogame-", "-locationbiome-", "-locationcity-"]
, "-occult-", "-locationfantasy-", "-locationscifi-", "-locationvideogame-", "-locationbiome-", "-locationcity-", "-bird-", "-cat-", "-dog-", "-insect-", "-pokemon-", "-pokemontype-"]
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, customoutfitslist, 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, hairdescriptorlist, hairvomitlist, humandescriptorlist, manwomanmultiplelist, facepartlist, buildfacepartlist, outfitvomitlist, locationdescriptorlist, basicbitchdescriptorlist, animaldescriptorlist, humanexpressionlist, humanvomitlist, eyecolorlist, fashiondesignerlist, colorcombinationlist, materialcombinationlist, oppositefictionallist, oppositenonfictionallist, photoadditionlist, agelist, agecalculatorlist, gregmodelist
, portraitartistlist, characterartistlist, landscapeartistlist, scifiartistlist, graphicdesignartistlist, digitalartistlist, architectartistlist, cinemaartistlist, settinglist, charactertypelist, objectstoholdlist, episodetitlelist, tokenlist, allstylessuffixlist, flufferlist, eventlist, backgroundlist
, occultlist, locationfantasylist, locationscifilist, locationvideogamelist, locationbiomelist, locationcitylist]
, occultlist, locationfantasylist, locationscifilist, locationvideogamelist, locationbiomelist, locationcitylist, birdlist, catlist, doglist, insectlist, pokemonlist, pokemontypelist]
allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-", "-element-"]
allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist, elementlist]
@@ -3832,7 +3937,19 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender
if lowercase_combination in [x.lower() for x in locationcitylist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -locationcity- ")
if lowercase_combination in [x.lower() for x in birdlist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -bird- ")
if lowercase_combination in [x.lower() for x in catlist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -cat- ")
if lowercase_combination in [x.lower() for x in doglist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -dog- ")
if lowercase_combination in [x.lower() for x in insectlist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -insect- ")
if lowercase_combination in [x.lower() for x in pokemonlist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -pokemon- ")
if lowercase_combination in [x.lower() for x in pokemontypelist] and chance_roll(insanitylevel, "uncommon"):
prompt = prompt.replace(combination," -pokemontype- ")
#if lowercase_combination in [x.lower() for x in conceptprefixlist] and chance_roll(insanitylevel, "uncommon"):
# prompt = prompt.replace(combination," -conceptprefix- ")
@@ -4150,14 +4267,20 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender
"-locationscifi-" in completeprompt or
"-locationvideogame-" in completeprompt or
"-locationbiome-" in completeprompt or
"-locationcity-" in completeprompt
"-locationcity-" in completeprompt or
"-bird-" in completeprompt or
"-cat-" in completeprompt or
"-dog-" in completeprompt or
"-insect-" in completeprompt or
"-pokemon-" in completeprompt or
"-pokemontype-" 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-", "-outfitfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-fantasyartist-", "-popularartist-", "-romanticismartist-", "-photographyartist-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-", "-humanvomit-", "-eyecolor-", "-fashiondesigner-", "-colorcombination-", "-materialcombination-", "-photoaddition-", "-age-", "-agecalculator-", "-gregmode-"
,"-portraitartist-", "-characterartist-" , "-landscapeartist-", "-scifiartist-", "-graphicdesignartist-", "-digitalartist-", "-architectartist-", "-cinemaartist-", "-setting-", "-charactertype-", "-objectstohold-", "-episodetitle-", "-allstylessuffix-", "-fluff-", "-event-", "-background-"
, "-occult-"]
, "-occult-", "-locationfantasy-", "-locationscifi-", "-locationvideogame-", "-locationbiome-", "-locationcity-", "-bird-", "-cat-", "-dog-", "-insect-", "-pokemon-", "-pokemontype-"]
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, customoutfitslist, 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, hairdescriptorlist, hairvomitlist, humandescriptorlist, manwomanmultiplelist, facepartlist, locationdescriptorlist, basicbitchdescriptorlist, animaldescriptorlist, humanexpressionlist, humanvomitlist, eyecolorlist, fashiondesignerlist, colorcombinationlist, materialcombinationlist, photoadditionlist, agelist, agecalculatorlist, gregmodelist
, portraitartistlist, characterartistlist, landscapeartistlist, scifiartistlist, graphicdesignartistlist, digitalartistlist, architectartistlist, cinemaartistlist, settinglist, charactertypelist, objectstoholdlist, episodetitlelist, allstylessuffixlist, flufferlist, eventlist, backgroundlist
, occultlist, locationfantasylist, locationscifilist, locationvideogamelist, locationbiomelist, locationcitylist]
, occultlist, locationfantasylist, locationscifilist, locationvideogamelist, locationbiomelist, locationcitylist, birdlist, catlist, doglist, insectlist, pokemonlist, pokemontypelist]
allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-", "-element-"]
allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist, elementlist]
+4 -1
View File
@@ -129,4 +129,7 @@ Passion
Bliss
Awe
Delight
Seasons
Seasons
Demons
Angels
a -pokemontype- type
1 Infinity
129 Bliss
130 Awe
131 Delight
132 Seasons
133 Demons
134 Angels
135 a -pokemontype- type
+6 -1
View File
@@ -14,6 +14,11 @@ subject_flora;on
subject_occult;on
# animals;
subject_animal;on
subject_bird;on
subject_cat;on
subject_dog;on
subject_insect;on
subject_pokemon;on
# humanoids;
subject_manwoman;on
subject_manwomanrelation;on
@@ -24,7 +29,7 @@ subject_humanoid;on
subject_job;on
subject_firstnames;on
# landscape;
subject_landscape;on
subject_location;on
subject_location_fantasy;on
subject_location_scifi;on
subject_location_videogame;on
1 #this file controls the generation process
14 subject_occult on
15 # animals
16 subject_animal on
17 subject_bird on
18 subject_cat on
19 subject_dog on
20 subject_insect on
21 subject_pokemon on
22 # humanoids
23 subject_manwoman on
24 subject_manwomanrelation on
29 subject_job on
30 subject_firstnames on
31 # landscape
32 subject_landscape subject_location on
33 subject_location_fantasy on
34 subject_location_scifi on
35 subject_location_videogame on
+3 -1
View File
@@ -6,6 +6,7 @@
-element- god;male
-element- goddess;female
-musicgenre-mancer;both
-pokemontype- type;both
Abbot;both
Abjurer;both
Acrobat;both
@@ -136,8 +137,9 @@ Death knight;both
Death knight;both
Deep-Sea Diver;both
Defender;both
Demon hunter;both
Demon Hunter;both
Demon Queen;female
Demon King;male
Designer;both
Detective;both
Diplomat;both
1 -charactertype- character both
6 -element- god male
7 -element- goddess female
8 -musicgenre-mancer both
9 -pokemontype- type both
10 Abbot both
11 Abjurer both
12 Acrobat both
137 Death knight both
138 Deep-Sea Diver both
139 Defender both
Demon hunter both
140 Demon Hunter both
141 Demon Queen female
142 Demon King male
143 Designer both
144 Detective both
145 Diplomat both
+5 -1
View File
@@ -30,10 +30,14 @@ Rune stones
Runestone
Scrying bowl
Shamanic drum
Skeleton
Skull
Skulls
Spellbook
Summoning Circle
Talisman
Tarot cards
Voodoo doll
Wand
Witch's hat
Witch's hat
Wizard hat
1 Alchemy symbols
30 Runestone
31 Scrying bowl
32 Shamanic drum
33 Skeleton
34 Skull
35 Skulls
36 Spellbook
37 Summoning Circle
38 Talisman
39 Tarot cards
40 Voodoo doll
41 Wand
42 Witch's hat
43 Wizard hat
@@ -7,4 +7,5 @@ with OR(-color-;-material-;unique) details
with OR(-material-;-descriptor-;-color-) -minioutfit-
with -descriptor- parts
-miniactivity- at a OR(-location-;-building-)
looking like a -objecttotal-
looking like a -objecttotal-
imagined as a -pokemontype- pokemon
1 with OR(-material-;-descriptor-) OR(wings; tail; ears)
7 with OR(-material-;-descriptor-;-color-) -minioutfit-
8 with -descriptor- parts
9 -miniactivity- at a OR(-location-;-building-)
10 looking like a -objecttotal-
11 imagined as a -pokemontype- pokemon
+1 -1
View File
@@ -109,7 +109,7 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im
print("All done!")
if __name__ == "__main__":
generateprompts(10,3
generateprompts(10,5
,"all" # subject
,"all" # artists
,"all" # image type "only other types", "only templates mode", "art blaster mode", "quality vomit mode", "color cannon mode", "unique art mode", "massive madness mode", "photo fantasy mode", "subject only mode", "fixed styles mode", "dynamic templates mode", "artify mode"