diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 801cd5e..3d78c7e 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -23,7 +23,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(advancedprompting != False and random.randint(0,max(0, insanitylevel - 2)) <= 0): advancedprompting == False - + originalartistchoice = artists + doartistnormal = True # load the config file config = load_config_csv() @@ -175,6 +176,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # lets maybe go wild "sometimes", based on insanitylevel if(artists == "all" and rare_dist(insanitylevel)): artists = "all (wild)" + originalartistchoice = artists artisttypes = ["popular", "3D", "abstract", "angular", "anime" ,"architecture", "art nouveau", "art deco", "baroque", "bauhaus", "cartoon", "character", "children's illustration", "cityscape", "cinema", "clean", "cloudscape", "collage", "colorful", "comics", "cubism", "dark", "detailed", "digital", "expressionism", "fantasy", "fashion", "fauvism", "figurativism", "graffiti", "graphic design", "high contrast", "horror", "impressionism", "installation", "landscape", "light", "line drawing", "low contrast", "luminism", "magical realism", "manga", "melanin", "messy", "monochromatic", "nature", "photography", "pop art", "portrait", "primitivism", "psychedelic", "realism", "renaissance", "romanticism", "scene", "sci-fi", "sculpture", "seascape", "space", "stained glass", "still life", "storybook realism", "street art", "streetscape", "surrealism", "symbolism", "textile", "ukiyo-e", "vibrant", "watercolor", "whimsical"] artiststyleselector = "" @@ -214,6 +216,13 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all popularartistlist = artist_category_csv_to_list("artists_and_category","popular") romanticismartistlist = artist_category_csv_to_list("artists_and_category","romanticism") photographyartistlist = artist_category_csv_to_list("artists_and_category","photography") + portraitartistlist = artist_category_csv_to_list("artists_and_category","portrait") + characterartistlist = artist_category_csv_to_list("artists_and_category","character") + landscapeartistlist = artist_category_csv_to_list("artists_and_category","landscape") + scifiartistlist = artist_category_csv_to_list("artists_and_category","sci-fi") + designgraphicartistlist = artist_category_csv_to_list("artists_and_category","graphic design") + digitalartistlist = artist_category_csv_to_list("artists_and_category","digital") + architectartistlist = artist_category_csv_to_list("artists_and_category","architecture") gregmodelist = csv_to_list("gregmode", antilist) @@ -1342,10 +1351,30 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all artistsplacement = random.choice(artistlocations) if(artists != "none" and artistsplacement == "front" and generateartist == True): + doartistnormal = True if(artists == "greg mode"): artistbylist = ["art by", "designed by", "stylized by", "by"] - completeprompt += random.choice(artistbylist) + " -gregmode- " - else: + completeprompt += random.choice(artistbylist) + " -gregmode-, " + doartistnormal = False + # in case we have ALL, we can also do a specific artist mode per chosen subject. sometimes + elif(originalartistchoice == "all" and random.randint(0,3) == 0): + if(mainchooser in ["humanoid", "animal"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-portraitartist-;-characterartist-), OR(-portraitartist-;-characterartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + elif(mainchooser in ["landscape"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-landscapeartist-;-digitalartist-), OR(-landscapeartist-;-designgraphicartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + elif(subjectchooser in ["building"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-landscapeartist-;-architectartist-), OR(-landscapeartist-;-architectartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + + if(doartistnormal): # take 1-3 artists, weighted to 1-2 step = random.randint(0, 1) @@ -1767,8 +1796,11 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all completeprompt += " " else: - if(subjectchooser == "manwomanmultiple" and subtypehumanoid != "multiple humans"): - completeprompt += " " + givensubject + " and a -manwomanmultiple- " + if(subjectchooser == "manwomanmultiple" and subtypehumanoid != "multiple humans" and givensubject not in ["1girl", "1boy", "solo"]): + if(random.randint(0,1) == 1): + completeprompt += " " + givensubject + " and a -manwomanmultiple- " + else: + completeprompt += " a OR(group;couple;crowd;bunch) of " + givensubject + " " else: completeprompt += " " + givensubject + " " @@ -1956,11 +1988,11 @@ 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, outfitchance) and generateoutfit == True and humanspecial != 1): completeprompt += " " + random.choice(buildoutfitlist) + ", " if(extraordinary_dist(insanitylevel)): - completeprompt += " -outfitvomit-" + completeprompt += " -outfitvomit-, " elif(overrideoutfit != "" and imagetype != "only templates mode"): completeprompt += " " + random.choice(buildoutfitlist) + ", " if(extraordinary_dist(insanitylevel)): - completeprompt += " -outfitvomit-" + completeprompt += " -outfitvomit-, " @@ -2004,10 +2036,30 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(artists != "none" and artistsplacement == "middle" and generateartist == True): completeprompt += ", " + doartistnormal = True if(artists == "greg mode"): artistbylist = ["art by", "designed by", "stylized by", "by"] - completeprompt += random.choice(artistbylist) + " -gregmode- " - else: + completeprompt += random.choice(artistbylist) + " -gregmode-, " + doartistnormal = False + + # in case we have ALL, we can also do a specific artist mode per chosen subject. sometimes + elif(originalartistchoice == "all" and random.randint(0,3) == 0): + if(mainchooser in ["humanoid", "animal"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-portraitartist-;-characterartist-), OR(-portraitartist-;-characterartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + elif(mainchooser in ["landscape"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-landscapeartist-;-digitalartist-), OR(-landscapeartist-;-designgraphicartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + elif(subjectchooser in ["building"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-landscapeartist-;-architectartist-), OR(-landscapeartist-;-architectartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + if(doartistnormal): # sometimes do this as well, but now in the front of the artists if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 2) == 0): @@ -2311,10 +2363,30 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(artists != "none" and artistsplacement == "back" and generateartist == True): completeprompt += ", " + doartistnormal = True if(artists == "greg mode"): artistbylist = ["art by", "designed by", "stylized by", "by"] - completeprompt += random.choice(artistbylist) + " -gregmode- " - else: + completeprompt += random.choice(artistbylist) + " -gregmode- ," + doartistnormal = False + + # in case we have ALL, we can also do a specific artist mode per chosen subject. sometimes + elif(originalartistchoice == "all" and random.randint(0,3) == 0): + if(mainchooser in ["humanoid", "animal"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-portraitartist-;-characterartist-), OR(-portraitartist-;-characterartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + elif(mainchooser in ["landscape"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-landscapeartist-;-digitalartist-), OR(-landscapeartist-;-designgraphicartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + elif(subjectchooser in ["building"]): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " OR(-landscapeartist-;-architectartist-), OR(-landscapeartist-;-architectartist-) OR(;and OR(-artistfantasy-;-scifiartist-;-artistphotography-;-digitalartist-;-designgraphicartist-);uncommon), " + doartistnormal = False + + if(doartistnormal): # take 1-3 artists, weighted to 1-2 step = random.randint(0, 1) minstep = step @@ -2655,9 +2727,18 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-photoaddition-" in completeprompt or "-age-" in completeprompt or "-agecalculator-" in completeprompt or - "-gregmode-" 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-","-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-addontolocationinside-", "-addontolocation-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-animalsuffixaddition-", "-chair-", "-cardname-", "-covering-", "-heshe-", "-hisher-", "-himher-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-buildfacepart-", "-outfitvomit-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-", "-humanvomit-", "-eyecolor-", "-fashiondesigner-", "-colorcombination-", "-materialcombination-", "-oppositefictional-", "-oppositenonfictional-", "-photoaddition-", "-age-", "-agecalculator-", "-gregmode-"] - 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] + "-gregmode-" in completeprompt or + "-portraitartist-" in completeprompt or + "-characterartist-" in completeprompt or + "-landscapeartist-" in completeprompt or + "-scifiartist-" in completeprompt or + "-designgraphicartist-" in completeprompt or + "-digitalartist-" in completeprompt or + "-architectartist-" 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-","-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-addontolocationinside-", "-addontolocation-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-animalsuffixaddition-", "-chair-", "-cardname-", "-covering-", "-heshe-", "-hisher-", "-himher-", "-outfitdescriptor-", "-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-", "-designgraphicartist-", "-digitalartist-", "-architectartist-"] + 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, designgraphicartistlist, digitalartistlist, architectartistlist] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] @@ -2848,6 +2929,13 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender popularartistlist = artist_category_csv_to_list("artists_and_category","popular") romanticismartistlist = artist_category_csv_to_list("artists_and_category","romanticism") photographyartistlist = artist_category_csv_to_list("artists_and_category","photography") + portraitartistlist = artist_category_csv_to_list("artists_and_category","portrait") + characterartistlist = artist_category_csv_to_list("artists_and_category","character") + landscapeartistlist = artist_category_csv_to_list("artists_and_category","landscape") + scifiartistlist = artist_category_csv_to_list("artists_and_category","sci-fi") + designgraphicartistlist = artist_category_csv_to_list("artists_and_category","graphic design") + digitalartistlist = artist_category_csv_to_list("artists_and_category","digital") + architectartistlist = artist_category_csv_to_list("artists_and_category","architecture") gregmodelist = csv_to_list("gregmode", antilist) # add any other custom lists @@ -3156,6 +3244,19 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender prompt = prompt.replace(combination," -artistromanticism- ") if lowercase_combination in [x.lower() for x in photographyartistlist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -artistphotography- ") + if lowercase_combination in [x.lower() for x in portraitartistlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -portraitartist- ") + if lowercase_combination in [x.lower() for x in characterartistlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -characterartist- ") + if lowercase_combination in [x.lower() for x in landscapeartistlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -landscapeartist- ") + if lowercase_combination in [x.lower() for x in scifiartistlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -scifiartist- ") + if lowercase_combination in [x.lower() for x in designgraphicartistlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -designgraphicartist- ") + if lowercase_combination in [x.lower() for x in architectartistlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -architectartist- ") + if lowercase_combination in [x.lower() for x in stylestiloralist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -styletilora- ") @@ -3272,10 +3373,19 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender "-photoaddition-" in completeprompt or "-age-" in completeprompt or "-agecalculator-" in completeprompt or - "-gregmode-" in completeprompt + "-gregmode-" in completeprompt or + "-portraitartist-" in completeprompt or + "-characterartist-" in completeprompt or + "-landscapeartist-" in completeprompt or + "-scifiartist-" in completeprompt or + "-designgraphicartist-" in completeprompt or + "-digitalartist-" in completeprompt or + "-architectartist-" 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-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-", "-humanvomit-", "-eyecolor-", "-fashiondesigner-", "-colorcombination-", "-materialcombination-", "-photoaddition-", "-age-", "agecalculator-", "-gregmode-"] - 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] + 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-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-", "-humanvomit-", "-eyecolor-", "-fashiondesigner-", "-colorcombination-", "-materialcombination-", "-photoaddition-", "-age-", "agecalculator-", "-gregmode-" + ,"-portraitartist-", "-characterartist-" , "-landscapeartist-", "-scifiartist-", "-designgraphicartist-", "-digitalartist-", "-architectartist-"] + 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, designgraphicartistlist, digitalartistlist, architectartistlist] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] diff --git a/csvfiles/accessories.csv b/csvfiles/accessories.csv index 98a952b..8b90ee1 100644 --- a/csvfiles/accessories.csv +++ b/csvfiles/accessories.csv @@ -87,7 +87,6 @@ Necklace?both Bracelet?both Ring?both Rings?both -Lapel Pin?both Body Chain?both Brooch?both Anklet?both diff --git a/csvfiles/brands.csv b/csvfiles/brands.csv index 5292210..270e5dc 100644 --- a/csvfiles/brands.csv +++ b/csvfiles/brands.csv @@ -24,7 +24,7 @@ Harry Potter James Bond The Lord of the Rings Jurassic Park -Fast and Furious +Blade runner The Avengers The Hunger Games Pirates of the Caribbean diff --git a/csvfiles/directions.csv b/csvfiles/directions.csv index 4c2a0f9..a27437a 100644 --- a/csvfiles/directions.csv +++ b/csvfiles/directions.csv @@ -1,19 +1,26 @@ Cel shaded Cel shading +Classical +Contemporary Detailed illustration +Dynamic Graphic novel Illustration Masterpiece +Magic Realism Realistic Rough sketch Screen print Simple illustration +Simple and clean Sketch Sketched Ultra Detailed Ultra Real Ultrarealistic Visual novel +Vivid +Maximalist Movie still Anime screencap Overdetailed art diff --git a/csvfiles/directions_light.csv b/csvfiles/directions_light.csv index 6f25b3b..0e638c4 100644 --- a/csvfiles/directions_light.csv +++ b/csvfiles/directions_light.csv @@ -1,9 +1,11 @@ Detailed illustration Masterpiece Realistic +Simple and Clean Ultra Detailed Ultra Real Ultrarealistic +Vivid Movie still Anime screencap detailed, masterpiece \ No newline at end of file diff --git a/csvfiles/directions_medium.csv b/csvfiles/directions_medium.csv index e5e41e2..e028429 100644 --- a/csvfiles/directions_medium.csv +++ b/csvfiles/directions_medium.csv @@ -1,8 +1,10 @@ Detailed illustration Illustration Masterpiece +Magic Realism Realistic Simple illustration +Simple and clean Ultra Detailed Ultra Real Ultrarealistic @@ -10,6 +12,7 @@ Visual novel Movie still Anime screencap Overdetailed art +Vivid ultrafine detailed Fine art detailed, masterpiece \ No newline at end of file diff --git a/csvfiles/manwomanmultiples.csv b/csvfiles/manwomanmultiples.csv index ae6f2dc..b6596ab 100644 --- a/csvfiles/manwomanmultiples.csv +++ b/csvfiles/manwomanmultiples.csv @@ -2,13 +2,15 @@ manwomanmultiple?gender Twins?genderless Couple?genderless Triplets?genderless -OR(Husband;Wife) and OR(Husband;Wife)?genderless +Husband and OR(Husband;Wife)?male +Wife and OR(Husband;Wife)?female a OR(group;couple;crowd;bunch) of OR(friends;people)?genderless OR(2;3;4;5) OR(women;girls)?female OR(2;3;4;5) OR(men;guys)?male -OR(Mother;Father;Grandma;Grandpa) and OR(Daughter;Son)?genderless +OR(Father;Grandpa) and OR(Daughter;Son)?male +OR(Mother;Grandma) and OR(Daughter;Son)?female a OR(group;couple;crowd;bunch) of OR(women;girls)?female a OR(group;couple;crowd;bunch) of OR(men;guys)?male -a OR(group;couple;crowd;bunch) of OR(-fictional-;-nonfictional-;-humanoid-)s?genderless +a OR(group;couple;crowd;bunch;hundreds) of OR(-fictional-;-nonfictional-;-humanoid-)s?genderless Family?genderless -human- and -human-?genderless \ No newline at end of file diff --git a/csvfiles/moods.csv b/csvfiles/moods.csv index d3fddde..5ea090d 100644 --- a/csvfiles/moods.csv +++ b/csvfiles/moods.csv @@ -5,6 +5,7 @@ Confused Cosy Cozy Dark +Dark and Gritty Depressing Disgusting Embarrassing @@ -23,6 +24,7 @@ Hopeless Horror Joyful Light +Light and Bright Lonely Lustful Manic diff --git a/csvfiles/special_lists/animaladditions.csv b/csvfiles/special_lists/animaladditions.csv index 937f271..8905198 100644 --- a/csvfiles/special_lists/animaladditions.csv +++ b/csvfiles/special_lists/animaladditions.csv @@ -4,4 +4,5 @@ giant monster head of a hybrid -anthropomorphic \ No newline at end of file +anthropomorphic +pokemon style \ No newline at end of file diff --git a/csvfiles/special_lists/buildoutfit.csv b/csvfiles/special_lists/buildoutfit.csv index b9a88df..bbe7e0e 100644 --- a/csvfiles/special_lists/buildoutfit.csv +++ b/csvfiles/special_lists/buildoutfit.csv @@ -1,5 +1,5 @@ -, OR(wearing;dressed in;in;normal) OR(;a very;rare) OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- -, OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- +, OR(wearing;dressed in;in;normal) OR(;a very;rare) OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- OR(;from the OR(-age-;the -agecalculator-);rare) +, OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- OR(;from the OR(-age-;the -agecalculator-);rare) , OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- OR(; and OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit-;rare) , OR(wearing;dressed in;in;normal) OR(-job-;-rpgclass-;-season-;-animal--style) OR(-minioutfit-;-outfit-;rare) , OR(wearing;dressed in;in;normal) OR(;-outfitdescriptor-;uncommon) OR(-minioutfit-;-outfit-;rare) OR(;OR(designed;made;inspired;forged) by OR(-brand-;-fashiondesigner-);uncommon) diff --git a/csvfiles/special_lists/humanadditions.csv b/csvfiles/special_lists/humanadditions.csv index 494fbca..35ab67d 100644 --- a/csvfiles/special_lists/humanadditions.csv +++ b/csvfiles/special_lists/humanadditions.csv @@ -6,7 +6,6 @@ OR(;, -heshe- is;rare) eating -food- OR(;, -heshe- is;rare) OR(and;holding hands with) -human- OR(;, -heshe- is;rare) cosplaying as -fictional- OR(with;, -heshe- is;rare) OR(-color-;-material-) skin -OR(, -heshe- is;feeling;expression is) -mood- OR(;, -heshe- is;rare) -miniactivity- OR(in;at) a OR(-location-;-building-;-waterlocation-) OR(;, -heshe- is;rare) wearing -elaborateoutfit- - OR(-animal-;-humanoid-) OR(;hybrid;normal) diff --git a/csvfiles/special_lists/objectadditions.csv b/csvfiles/special_lists/objectadditions.csv index 0ed6242..c083474 100644 --- a/csvfiles/special_lists/objectadditions.csv +++ b/csvfiles/special_lists/objectadditions.csv @@ -1,6 +1,7 @@ OR(;, -heshe- is;uncommon) made from OR(-material-;-space-;-flora-) OR(;, -heshe- is;uncommon) OR(detailed;engraved;rare) with OR(-material-;-color-;-outfitdescriptor-;-pattern-) OR(; and -color-; and -outfitdescriptor-;rare) OR(patterns;details) -OR(;, -heshe- is;uncommon) OR(intricate details;smooth;sleek) +OR(;, -heshe- is;uncommon) OR(smooth;sleek) +OR(;, -heshe- is;uncommon) OR(intricate;ornate;-basicbitchdescriptor-) details OR(;, -heshe- is;uncommon) OR(designed;made;inspired;forged) by -brand- OR(;, -heshe- is;uncommon) anthropomorphic OR(;with a face;normal) OR(;, -heshe- is;uncommon) with OR(-pattern-;-color-;-descriptor-;rare) -print- diff --git a/prompttester.py b/prompttester.py index 3d316af..bda03f5 100644 --- a/prompttester.py +++ b/prompttester.py @@ -72,8 +72,8 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im print("") print("All done!") -generateprompts(10,5 - ,"" # subject +generateprompts(25,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" , False # only artists