diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 42b6edc..77de064 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -184,7 +184,16 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all artists = artiststyleselector elif(artists == "all"): artiststyleselectormode = "custom" - artists = "popular" + # go popular! Or even worse, we go full greg mode! + if(common_dist(max(3,insanitylevel))): + artists = "popular" + # only on lower instanity levels anyway + elif(insanitylevel < 6): + artists = "greg mode" + else: + artists = "popular" + + else: artiststyleselectormode = "custom" @@ -205,6 +214,7 @@ 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") + gregmodelist = csv_to_list("gregmode", antilist) # add any other custom lists @@ -1321,90 +1331,95 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all artistsplacement = random.choice(artistlocations) if(artists != "none" and artistsplacement == "front" and generateartist == True): - # take 1-3 artists, weighted to 1-2 - step = random.randint(0, 1) - minstep = step - end = random.randint(1, insanitylevel3) + if(artists == "greg mode"): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " -gregmode- " + else: + + # take 1-3 artists, weighted to 1-2 + step = random.randint(0, 1) + minstep = step + end = random.randint(1, insanitylevel3) - # determine artist mode: - # normal - # hybrid | - # switching A:B:X - # adding at step x a:X - # stopping at step x ::X - # enhancing from step x + # determine artist mode: + # normal + # hybrid | + # switching A:B:X + # adding at step x a:X + # stopping at step x ::X + # enhancing from step x - modeselector = random.randint(0,10) - if modeselector < 5 and end - step >= 2: - artistmodeslist = ["hybrid", "stopping", "adding", "switching", "enhancing"] - artistmode = artistmodeslist[modeselector] - if(advancedprompting == False): + modeselector = random.randint(0,10) + if modeselector < 5 and end - step >= 2: + artistmodeslist = ["hybrid", "stopping", "adding", "switching", "enhancing"] + artistmode = artistmodeslist[modeselector] + if(advancedprompting == False): + artistmode = "normal" + if (artistmode in ["hybrid","switching"] and end - step == 1): + artistmode = "normal" + + if(onlyartists == True and artistmode == "enhancing"): artistmode = "normal" - if (artistmode in ["hybrid","switching"] and end - step == 1): + # if there are not enough artists in the list, then just go normal + if(len(artistlist) < 3): artistmode = "normal" - - 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 + if(onlyartists == True and step == end): + step = step - 1 - if artistmode in ["hybrid", "stopping", "adding","switching"]: - completeprompt += " [" - - while step < end: - if(normal_dist(insanitylevel)): - isweighted = 1 - - if isweighted == 1: - completeprompt += " (" + if artistmode in ["hybrid", "stopping", "adding","switching"]: + completeprompt += " [" + + while step < end: + if(normal_dist(insanitylevel)): + isweighted = 1 + + if isweighted == 1: + completeprompt += " (" - #completeprompt = add_from_csv(completeprompt, "artists", 0, "art by ","") - if(step == minstep): - # sometimes do this - if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 1) == 0): - if(artiststyleselectormode == "normal"): - completeprompt += artiststyleselector + " art " - else: - completeprompt += "-artiststyle- art " - artistbylist = ["art by", "designed by", "stylized by", "by"] - else: - artistbylist = [""] - completeprompt += random.choice(artistbylist) + " -artist-" - - if isweighted == 1: - completeprompt += ":" + str(1 + (random.randint(-3,3)/10)) + ")" - - if artistmode in ["hybrid"] and not end - step == 1: - completeprompt += "|" - if artistmode in ["switching"] and not end - step == 1: - completeprompt += ":" - - if artistmode not in ["hybrid", "switching"]and not end - step > 1: - completeprompt += "," - elif artistmode not in ["hybrid", "switching"]and not end - step == 1: - completeprompt += " and " - - isweighted = 0 - - step = step + 1 + #completeprompt = add_from_csv(completeprompt, "artists", 0, "art by ","") + if(step == minstep): + # sometimes do this + if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 1) == 0): + if(artiststyleselectormode == "normal"): + completeprompt += artiststyleselector + " art " + else: + completeprompt += "-artiststyle- art " + artistbylist = ["art by", "designed by", "stylized by", "by"] + else: + artistbylist = [""] + completeprompt += random.choice(artistbylist) + " -artist-" + + if isweighted == 1: + completeprompt += ":" + str(1 + (random.randint(-3,3)/10)) + ")" + + if artistmode in ["hybrid"] and not end - step == 1: + completeprompt += "|" + if artistmode in ["switching"] and not end - step == 1: + completeprompt += ":" + + if artistmode not in ["hybrid", "switching"]and not end - step > 1: + completeprompt += "," + elif artistmode not in ["hybrid", "switching"]and not end - step == 1: + completeprompt += " and " + + isweighted = 0 + + step = step + 1 - if artistmode in ["stopping"]: - completeprompt += "::" - completeprompt += str(random.randint(1,19)) - - if artistmode in ["switching","adding"]: - completeprompt += ":" + str(random.randint(1,18)) - if artistmode in ["hybrid", "stopping","adding", "switching"]: - completeprompt += "] " + if artistmode in ["stopping"]: + completeprompt += "::" + completeprompt += str(random.randint(1,19)) + + if artistmode in ["switching","adding"]: + completeprompt += ":" + str(random.randint(1,18)) + if artistmode in ["hybrid", "stopping","adding", "switching"]: + completeprompt += "] " if(onlyartists == True): @@ -1974,88 +1989,92 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(artists != "none" and artistsplacement == "middle" and generateartist == True): completeprompt += ", " - - # sometimes do this as well, but now in the front of the artists - if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 2) == 0): - completeprompt += "-artiststyle- art, " + if(artists == "greg mode"): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " -gregmode- " + else: + + # sometimes do this as well, but now in the front of the artists + if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 2) == 0): + completeprompt += "-artiststyle- art, " - # take 1-3 artists, weighted to 1-2 - step = random.randint(0, 1) - minstep = step - end = random.randint(1, insanitylevel3) + # take 1-3 artists, weighted to 1-2 + step = random.randint(0, 1) + minstep = step + end = random.randint(1, insanitylevel3) - # determine artist mode: - # normal - # hybrid | - # switching A:B:X - # adding at step x a:X - # stopping at step x ::X + # determine artist mode: + # normal + # hybrid | + # switching A:B:X + # adding at step x a:X + # stopping at step x ::X - - modeselector = random.randint(0,10) - if modeselector < 4 and end - step >= 2: - artistmodeslist = ["hybrid", "stopping", "adding", "switching"] - artistmode = artistmodeslist[modeselector] - if(advancedprompting == False): + + modeselector = random.randint(0,10) + if modeselector < 4 and end - step >= 2: + artistmodeslist = ["hybrid", "stopping", "adding", "switching"] + artistmode = artistmodeslist[modeselector] + if(advancedprompting == False): + artistmode = "normal" + 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","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 += " [" - while step < end: - if(normal_dist(insanitylevel)): - isweighted = 1 - - if isweighted == 1: - completeprompt += " (" + if artistmode in ["hybrid", "stopping", "adding","switching"]: + completeprompt += " [" + + while step < end: + if(normal_dist(insanitylevel)): + isweighted = 1 + + if isweighted == 1: + completeprompt += " (" - #completeprompt = add_from_csv(completeprompt, "artists", 0, "art by ","") - if(step == minstep): - # sometimes do this - if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 1) == 0): - if(artiststyleselectormode == "normal"): - completeprompt += artiststyleselector + " art " - else: - completeprompt += "-artiststyle- art " - artistbylist = ["art by", "designed by", "stylized by", "by"] - else: - artistbylist = [""] - completeprompt += random.choice(artistbylist) + " -artist-" + #completeprompt = add_from_csv(completeprompt, "artists", 0, "art by ","") + if(step == minstep): + # sometimes do this + if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 1) == 0): + if(artiststyleselectormode == "normal"): + completeprompt += artiststyleselector + " art " + else: + completeprompt += "-artiststyle- art " + artistbylist = ["art by", "designed by", "stylized by", "by"] + else: + artistbylist = [""] + completeprompt += random.choice(artistbylist) + " -artist-" + + if isweighted == 1: + completeprompt += ":" + str(1 + (random.randint(-3,3)/10)) + ")" + + if artistmode in ["hybrid"] and not end - step == 1: + completeprompt += "|" + if artistmode in ["switching"] and not end - step == 1: + completeprompt += ":" - if isweighted == 1: - completeprompt += ":" + str(1 + (random.randint(-3,3)/10)) + ")" - - if artistmode in ["hybrid"] and not end - step == 1: - completeprompt += "|" - if artistmode in ["switching"] and not end - step == 1: - completeprompt += ":" - - if artistmode not in ["hybrid", "switching"]and not end - step == 1: - completeprompt += "," - - isweighted = 0 - - step = step + 1 + if artistmode not in ["hybrid", "switching"]and not end - step == 1: + completeprompt += "," + + isweighted = 0 + + step = step + 1 - if artistmode in ["stopping"]: - completeprompt += "::" - completeprompt += str(random.randint(1,19)) - - if artistmode in ["switching","adding"]: - completeprompt += ":" + str(random.randint(1,18)) - if artistmode in ["hybrid", "stopping","adding", "switching"]: - completeprompt += "] " - - completeprompt += ", " - # end of the artist stuff + if artistmode in ["stopping"]: + completeprompt += "::" + completeprompt += str(random.randint(1,19)) + + if artistmode in ["switching","adding"]: + completeprompt += ":" + str(random.randint(1,18)) + if artistmode in ["hybrid", "stopping","adding", "switching"]: + completeprompt += "] " + + completeprompt += ", " + # end of the artist stuff # others if(chance_roll(insanitylevel, directionchance) and generatedirection == True): @@ -2277,81 +2296,85 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all if(artists != "none" and artistsplacement == "back" and generateartist == True): completeprompt += ", " - # take 1-3 artists, weighted to 1-2 - step = random.randint(0, 1) - minstep = step - end = random.randint(1, insanitylevel3) + if(artists == "greg mode"): + artistbylist = ["art by", "designed by", "stylized by", "by"] + completeprompt += random.choice(artistbylist) + " -gregmode- " + else: + # take 1-3 artists, weighted to 1-2 + step = random.randint(0, 1) + minstep = step + end = random.randint(1, insanitylevel3) - # determine artist mode: - # normal - # hybrid | - # switching A:B:X - # adding at step x a:X - # stopping at step x ::X + # determine artist mode: + # normal + # hybrid | + # switching A:B:X + # adding at step x a:X + # stopping at step x ::X - - modeselector = random.randint(0,10) - if modeselector < 4 and end - step >= 2: - artistmodeslist = ["hybrid", "stopping", "adding", "switching"] - artistmode = artistmodeslist[modeselector] - if(advancedprompting == False): + + modeselector = random.randint(0,10) + if modeselector < 4 and end - step >= 2: + artistmodeslist = ["hybrid", "stopping", "adding", "switching"] + artistmode = artistmodeslist[modeselector] + if(advancedprompting == False): + artistmode = "normal" + 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","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 += " [" - while step < end: - if(normal_dist(insanitylevel)): - isweighted = 1 - - if isweighted == 1: - completeprompt += " (" + if artistmode in ["hybrid", "stopping", "adding","switching"]: + completeprompt += " [" + + while step < end: + if(normal_dist(insanitylevel)): + isweighted = 1 + + if isweighted == 1: + completeprompt += " (" - #completeprompt = add_from_csv(completeprompt, "artists", 0, "art by ","") - if(step == minstep): - # sometimes do this - if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 1) == 0): - if(artiststyleselectormode == "normal"): - completeprompt += artiststyleselector + " art " - else: - completeprompt += "-artiststyle- art " - artistbylist = ["art by", "designed by", "stylized by", "by"] - else: - artistbylist = [""] - completeprompt += random.choice(artistbylist) + " -artist-" + #completeprompt = add_from_csv(completeprompt, "artists", 0, "art by ","") + if(step == minstep): + # sometimes do this + if(giventypeofimage=="" and imagetype == "all" and random.randint(0, 1) == 0): + if(artiststyleselectormode == "normal"): + completeprompt += artiststyleselector + " art " + else: + completeprompt += "-artiststyle- art " + artistbylist = ["art by", "designed by", "stylized by", "by"] + else: + artistbylist = [""] + completeprompt += random.choice(artistbylist) + " -artist-" + + if isweighted == 1: + completeprompt += ":" + str(1 + (random.randint(-3,3)/10)) + ")" + + if artistmode in ["hybrid"] and not end - step == 1: + completeprompt += "|" + if artistmode in ["switching"] and not end - step == 1: + completeprompt += ":" - if isweighted == 1: - completeprompt += ":" + str(1 + (random.randint(-3,3)/10)) + ")" - - if artistmode in ["hybrid"] and not end - step == 1: - completeprompt += "|" - if artistmode in ["switching"] and not end - step == 1: - completeprompt += ":" - - if artistmode not in ["hybrid", "switching"]and not end - step == 1: - completeprompt += "," - - isweighted = 0 - - step = step + 1 + if artistmode not in ["hybrid", "switching"]and not end - step == 1: + completeprompt += "," + + isweighted = 0 + + step = step + 1 - if artistmode in ["stopping"]: - completeprompt += "::" - completeprompt += str(random.randint(1,19)) - - if artistmode in ["switching","adding"]: - completeprompt += ":" + str(random.randint(1,18)) - if artistmode in ["hybrid", "stopping","adding", "switching"]: - completeprompt += "] " - # end of the artist stuff + if artistmode in ["stopping"]: + completeprompt += "::" + completeprompt += str(random.randint(1,19)) + + if artistmode in ["switching","adding"]: + completeprompt += ":" + str(random.randint(1,18)) + if artistmode in ["hybrid", "stopping","adding", "switching"]: + completeprompt += "] " + # end of the artist stuff @@ -2612,9 +2635,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-oppositenonfictional-" in completeprompt or "-photoaddition-" in completeprompt or "-age-" in completeprompt or - "-agecalculator-" 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-"] - 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] + "-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] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] @@ -2805,7 +2829,7 @@ 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") - + gregmodelist = csv_to_list("gregmode", antilist) # add any other custom lists stylestiloralist = csv_to_list("styles_ti_lora",antilist,"./userfiles/") @@ -2964,6 +2988,9 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender if lowercase_combination in [x.lower() for x in agecalculatorlist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -agecalculator- ") + if lowercase_combination in [x.lower() for x in gregmodelist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -gregmode- ") + #if lowercase_combination in [x.lower() for x in conceptprefixlist] and chance_roll(insanitylevel, "uncommon"): # prompt = prompt.replace(combination," -conceptprefix- ") @@ -3225,10 +3252,11 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender "-materialcombination-" in completeprompt or "-photoaddition-" in completeprompt or "-age-" in completeprompt or - "-agecalculator-" in completeprompt + "-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-", "-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-"] - 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] + 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] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] diff --git a/csvfiles/artistcombinations.csv b/csvfiles/artistcombinations.csv deleted file mode 100644 index 1783a87..0000000 --- a/csvfiles/artistcombinations.csv +++ /dev/null @@ -1 +0,0 @@ -Krenz Cushart and Aplhonse Mucha;humanoid \ No newline at end of file diff --git a/csvfiles/artists_and_category.csv b/csvfiles/artists_and_category.csv index 0914362..aa497fa 100644 --- a/csvfiles/artists_and_category.csv +++ b/csvfiles/artists_and_category.csv @@ -188,7 +188,7 @@ Alison Bechdel,"comics, cartoon",0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0 Jasmine Becket-Griffith,"fantasy, portrait, whimsical, vibrant",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1 Max Beckmann,"high contrast, expressionism",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Vanessa Beecroft,"nudity, character, portrait, photography",0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Beeple,digital,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +Beeple,digital,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Zdzisław Beksiński,"surrealism, dark, horror,",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 Julie Bell,"fantasy, nature, dragons",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Vanessa Bell,"fauvism, portrait",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/csvfiles/flora.csv b/csvfiles/flora.csv index 9eccaed..477a10a 100644 --- a/csvfiles/flora.csv +++ b/csvfiles/flora.csv @@ -97,6 +97,8 @@ Poinsettia Pond water lilies Poplar Poppies +Pots with plants +Pots with flowers Red oak Redwood tree River stone diff --git a/csvfiles/gregmode.csv b/csvfiles/gregmode.csv new file mode 100644 index 0000000..1bc3847 --- /dev/null +++ b/csvfiles/gregmode.csv @@ -0,0 +1,100 @@ +Krenz Cushart and Aplhonse Mucha +Ross Tran, Antonio J. Manzanedo, Tom Bagshaw +Magali Villeneuve, eve ventrue, anna dittmann, mandy disher, tom bagshaw +Magali Villeneuve, Bayard Wu +WLOP and Artgerm +Guy Denning, Russ Mills, Daniel F Gerhartz +Jeremy Mann, Miles Johnston, Alasdair McLellan, Daniel Merriam, Peter Gric, Dariusz Klimcza +Dan Mumford and Artgerm +Artgerm and Rubens +Artgerm and Tim Burton +Artgerm and Bayard Whu +luis royo, jim lee and boris vallejo +tom bagshaw, donato giancola, greg manchess, karol bak and peter mohrbacher +Joseph Christian Leyendecker, WLOP, Boris Vallejo +Ed Blinkey, Atey Ghailan, Jeremy Mann, Greg Manchess, Antonio Moro +artgerm, ruan jia and greg rutkowski +Alexandr Averin and greg rutkowski +john william waterhouse, charlie bowater, agnes cecile, Mucha and Gabriel Ferrier +greg rutkowski, gil elvgren and ilya kuvshinov +ayami kojima, greg hildebrandt and mark ryden +John Constable, Ed Blinkey, Atey Ghailan, Jeremy Mann and Greg Manchess, Antonio Moro +artgerm, greg rutkowski and alphonse mucha, loish and wlop +alphonse mucha, greg hildebrandt and mark brooks +raphael, caravaggio, greg rutkowski, beeple, beksinski +Waterhouse, John Constable, Ed Blinkey, Atey Ghailan, Studio Ghibli, Jeremy Mann, Greg Manchess, Antonio Moro and makoto shinkai +artgerm, greg rutkowski and rachel m silva +rhads, ferdinand knab, makoto shinkai and lois van baarle, ilya kuvshinov, rossdraws, tom bagshaw +Atey Ghailan, Loish and Bryan Lee O'Malley +artgerm, loish and WLOP +alphonse mucha, loish and wlop +Atey Ghailan, Loish, Bryan Lee O'Malley, Cliff Chiang and Greg Rutkowski +Artgerm, WLOP, Ilya Kuvshinov, RHADS, Loish and Rossdraws +thomas kindkade, alphonse mucha, loish and norman rockwell J. +greg rutkowski, thomas kindkade, alphonse mucha, loish and norman Rockwell +Ruan Jia, Artgerm, Range Murata, WLOP, CLAMP and Loish +greg rutkowski, loish, rhads, ferdinand knab, makoto shinkai, lois van baarle, ilya kuvshinov, rossdraws, tom bagshaw and alphonse mucha +Greg Rutkowski and Alphonse Mucha +ilya kuvshinov and Yanjun Cheng +artgerm, jesper ejsing, rhads, makoto shinkai, lois van baarle, rossdraws, ilya kuvshinov and gustav klimt +ilya kuvshinov and gustav klimt +greg rutkowski and gil elvgren +wlop, ilya kuvshinov, greg rutkowski and alphonse mucha +Ilya Kuvshinov, Tom Bagshaw and WLOP +ilya kuvshinov, giuseppe dangelico pino, michael garmash, rob rey and disney +karol bak, james jean and tom bagshaw +Ross Tran, Antonio J. Manzanedo, Tom Bagshaw and mandy disher +Ross Tran and Lois van Baarle +loish, ross tran, artgerm, james jean and charlie bowater +ivan talavera, artgerm, loish, rossdraws and Yang J +ross tran, ilya kuvshinov and alena aenami +Ross tran, Russell Dongjun Lu, Yanjun Cheng, Li Song, Chen Jiru, Qu Leilei and Cui Zizhong +WLOP, Ross Tran and edgar maxence +james jean, wlop, ross tran, michael whelan, alena aenami and android jones +moebius, dan mumford, alphonse mucha, Hokusai and James Gurney +john william waterhouse, charlie bowater, agnes cecile, Mucha and Gabriel Ferrier +greg rutkowski and alphonse mucha +thomas kindkade, alphonse mucha, loish, peter chung and norman rockwell +Harry Clarke, Eugène Grasset and Alphonse Mucha +Alphonse mucha and tim okamura +gaston bussiere and alphonse mucha +artgerm, greg rutkowski and alphonse mucha +artgerm, loish and wlop +wlop, james jean and andrei riabovitchev +laurie greasley, beeple, jeremiah ketner, alena aenami and android jones +ross tran, wlop, yuri shwedoff, tom bagshaw, craig mullins +Artgerm, James jean, Brian froud and Ross Tran +makoto shinkai, artgerm, wlop, rossdraws, james jean, andrei riabovitchev, marc simonetti and krenz cushart +beksinski, james jean, loish, artgerm, rutkowsk, moebius, francis bacon and gustav klimt +Makoto Shinkai and Studio Ghibli +Carne Griffiths, Conrad Roset and Makoto Shinkai +Makoto Shinkai, Moyoco Anno and Studio Ghibli +Emil Melmoth, Marc simonetti and Makoto Shinkai +Ilya Kuvshinov and Makoto Shinkai +conrad roset and greg rutkowski +Carne Griffiths and Conrad Roset +conrad roset, greg rutkowski and makoto shinkai +greg rutkowski, artgerm, ross tran, conrad roset and takato yomamoto +Anna Dittmann and Conrad Roset +Brandon Woelfel, Klaus Wittmann and by Bastien Lecouffe-Deharme +Brandon Woelfel and Beeple +Brandon Woelfel and Josan Gonzalez +alessio albi, peter sculthorpe and brandon woelfel +gil elvgen, greg manchess and mucha +greg manchess, huang guangjian, gil elvgren and Chuah Thean Teng +greg manchess, gil elvgren, sachin teng, greg rutkowski and ilya kuvshinov +greg manchess, huang guangjian, greg rutkowski and jesper ejsing +Ed Blinkey, Atey Ghailan, Studio Ghibli, by Jeremy Mann, Greg Manchess and Antonio Moro +raphael, caravaggio, greg rutkowski, beeple, beksinski and giger +Greg Rutkowski, Artgerm, WLOP, Alphonse, Beeple and Caravaggio +beeple, noah bradley, cyril roland and ross tran +Lois van Baarle, beeple and jeremiah ketner +artgerm, julie bell, beeple +Dan Mumford and beeple +Dan Mumford and Artgerm +Dan Mumford, Artgerm, Greg Rutkowski and Andy Warhol +dan mumford and marc simonetti +Android Jones, Ismail Inceoglu,Jean Baptiste mongue,James Jean,Erin Hanson and Dan Mumford +Marek Okon and dan mumford +Thomas Kinkade, Artgerm and Dan Mumford +Clive Barker, Dan Mumford, Butcher Billy and Russ Mills \ No newline at end of file diff --git a/csvfiles/jobs.csv b/csvfiles/jobs.csv index 8735d5a..d8b3d1f 100644 --- a/csvfiles/jobs.csv +++ b/csvfiles/jobs.csv @@ -227,6 +227,7 @@ Highway Patrol Officer;both Hippie;both Hipster;both Historian;both +Hillbilly;both Hooded figure;both Humanitarian;both hunk;male diff --git a/csvfiles/special_lists/buildoutfit.csv b/csvfiles/special_lists/buildoutfit.csv index c296d01..b9a88df 100644 --- a/csvfiles/special_lists/buildoutfit.csv +++ b/csvfiles/special_lists/buildoutfit.csv @@ -9,4 +9,5 @@ , -heshe- is OR(wearing;dressed in) OR(;-hisher-;-hisher- traditional;rare) -culture- -outfit-, OR(; OR(-hisher-;The;normal) -sameoutfit- is OR(-outfitdescriptor-;-color-),;normal) OR(;, It looks OR(;very;rare) -outfitdescriptor- on -himher-,;unique) , -heshe- is OR(wearing a;dressed in a) OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- that was OR(designed;made;inspired;forged) by -brand-, It is OR(;very;rare) OR(-outfitdescriptor-;-color-;normal) OR(;and OR(-outfitdescriptor-;-color-;normal);normal) OR(;, The -sameoutfit- looks OR(;very;rare) -outfitdescriptor- on -himher-,;unique) , OR(wearing;dressed in;in;normal) OR(;a very;rare) OR(;-outfitdescriptor-;normal) OR(-minioutfit-;-outfit-;uncommon), OR(-hisher-;The;normal) -sameoutfit- -outfitvomit- -, -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- -outfitdescriptor-;rare) -outfit-, OR(-hisher-;The;normal) -sameoutfit- is tailored by -fashiondesigner- OR(; and -fashiondesigner-;uncommon) \ No newline at end of file +, -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- -outfitdescriptor-;rare) -outfit-, OR(-hisher-;The;normal) -sameoutfit- is tailored by -fashiondesigner- OR(; and -fashiondesigner-;uncommon) +, -heshe- is OR(wearing a;dressed in) OR(;-hisher-;-hisher- -outfitdescriptor-;rare) -artmovement- fashion style -outfit \ No newline at end of file diff --git a/prompttester.py b/prompttester.py index d2cd853..87859a8 100644 --- a/prompttester.py +++ b/prompttester.py @@ -72,7 +72,7 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im print("All done!") generateprompts(10,5 - ,"animal" # subject + ,"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,"","","PREFIXPROMPT" @@ -85,8 +85,8 @@ generateprompts(10,5 , "all" # object types , "all" # humanoid types -- all,generic humans,generic human relations, multiple humans, celebrities e.a.,fictional,humanoids, based on job or title,based on first name , "all" # concept types - , True # prompt switching - , False # Turn off emojis + , False # prompt switching + , True # Turn off emojis , 0 # seed , "" #outfit override ) \ No newline at end of file