diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 21e50e5..07bed5d 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -2127,8 +2127,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # either go job or activity, not both if(genjoboractivity and genjoboractivitylocation=="back"): - joboractivitylist = [joblist,humanactivitylist] - completeprompt += ", " + random.choice(random.choice(joboractivitylist)) + ", " + if(random.randint(0,1)==0): + completeprompt += ", " + random.choice(humanactivitylist)+ ", " + else: + completeprompt += "OR(,; as a;rare) -job-, " # if(subjectchooser in ["animal as human","human","job", "fictional", "non fictional", "humanoid"] and legendary_dist(insanitylevel)): @@ -3005,8 +3007,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # prompt enhancer! if(templatemode == False and specialmode == False): # how insane do we want it? - print(insanitylevel) - amountofwords = max(0, -8 + random.randint(0,10),6 - insanitylevel) + + maxamountofwords = max(0, -1 + random.randint(0,4),6 - insanitylevel) + amountofwords = random.randint(0,maxamountofwords) if(amountofwords > 0): enhance_positive_words = enhance_positive(completeprompt, amountofwords) @@ -3959,8 +3962,10 @@ def enhance_positive(positive_prompt = "", amountofwords = 3): wordsfound += 1 combiwords2 = set(combiset.split(', ')) - for combiword2 in combiwords2: - newwordlist.append(combiword2) + # remove and only take one + combiwords2 = [word for word in combiwords2 if word not in allwords] + #for combiword2 in combiwords2: + newwordlist.append(random.choice(combiwords2)) @@ -3971,7 +3976,7 @@ def enhance_positive(positive_prompt = "", amountofwords = 3): for i in range(0,amountofwords): if(len(newwordlist) > 0): addwords += ", " + newwordlist.pop(random.randrange(len(newwordlist))) - #print(addwords) + print(addwords) return addwords @@ -4073,6 +4078,8 @@ def cleanup(completeprompt, advancedprompting, insanitylevel = 5): completeprompt = re.sub('- shaped', '-shaped', completeprompt) completeprompt = re.sub('echa- ', 'echa-', completeprompt) completeprompt = re.sub('style -', 'style-', completeprompt) + completeprompt = re.sub(', as a', ' as a', completeprompt) + #small fix for multisubject thing completeprompt = re.sub('a 2', '2', completeprompt) diff --git a/csvfiles/fictional characters.csv b/csvfiles/fictional characters.csv index a2cce75..2351a61 100644 --- a/csvfiles/fictional characters.csv +++ b/csvfiles/fictional characters.csv @@ -576,4 +576,11 @@ Daisy Duke;female Deadpool;male Doctor Evil;male Edward Cullen;male -Jessica Rabbit;female \ No newline at end of file +Jessica Rabbit;female +Spider-Gwen;female +Gwen Stacy;female +Super Saiyen;genderless +Mona Lisa;female +Hello Kitty;female +Peter Rabbit;male +Minion;genderless \ No newline at end of file diff --git a/csvfiles/minioutfits.csv b/csvfiles/minioutfits.csv index 228c612..a459b96 100644 --- a/csvfiles/minioutfits.csv +++ b/csvfiles/minioutfits.csv @@ -1,7 +1,7 @@ OR(;elegant;casual;uncommon) outfit?both OR(;-materialcombination-;uncommon) clothes OR(;tailored by -fashiondesigner-;uncommon)?both OR(;heavy;medium;light;battle;iron;steel;-materialcombination-;plate;-age-;-charactertype-;uncommon) armor?both -OR(;A-line;maxi;formal;Halter;Midi;mini;Off-the-shoulder;Peplum;Ruffled;Sheath;Strapless;wedding;gala;uncommon) dress?female +OR(;A-line;maxi;formal;Halter;Midi;mini;Off-the-shoulder;Peplum;Ruffled;Sheath;Strapless;wedding;gala;uncommon) dress OR(;with a OR(asymetrical;bateau;grecian;collar;cowl;halter;illusion;jewel;keyhole;off-the-shoulder;one-shoulder;plunging;queen anne;round neck;scalloped;scoop;spaghetti strap;split crew;square;strapless;surplice;sweethearth;tie bow;turtleneck;U-shape;V-neck) neckline;rare)?female OR(;business;formal;uncommon) suit?both robe OR(;tailored by -fashiondesigner-;uncommon)?both costume OR(;tailored by -fashiondesigner-;uncommon)?both diff --git a/csvfiles/outfitvomit.csv b/csvfiles/outfitvomit.csv index 2c8d4cb..3f3d471 100644 --- a/csvfiles/outfitvomit.csv +++ b/csvfiles/outfitvomit.csv @@ -1,8 +1,8 @@ -has OR(;large;small;giant;tiny;normal) OR(;-color-;normal) bowOR(;s;normal) -has OR(;large;small;giant;tiny;normal) OR(;Leather;normal) OR(belt;strap)OR(;s;normal) +has a OR(;large;small;giant;tiny;normal) OR(;-color-;normal) bowOR(;s;normal) +has a OR(;large;small;giant;tiny;normal) OR(;Leather;normal) OR(belt;strap)OR(;s;normal) has OR(Metal;Iron;Diamond;Steel;metallic;-materialcombination-) OR(plates;plating) -has a crest on chest -OR(is zipped up;is unzipped;is partially unzipped;zipper;buttons;is buttoned up;is partially unbuttoned;is unbuttoned) +OR(has a crest on chest;is -color--crested) +OR(is zipped up;is unzipped;is partially unzipped;has a zipper;has buttons;is buttoned up;is partially unbuttoned;is unbuttoned) has OR(;large;small;giant;tiny;normal) OR(zipper;button;buttons;zippers) is OR(off-the-shoulder;strapless;cropped;ruffled) is OR(;very;normal) OR(large;small;tight;loose;baggy;delicate;wet;-outfitdescriptor-) @@ -13,5 +13,6 @@ also has a OR(;large;flowing;rare) OR(hooded cloak;cloak;cape;coat;-season- coat rolled up sleeves is in the style of -artmovement- -outfitdescriptor- and -outfitdescriptor- --materialcombination-, -colorcombination- -OR(fishnets;trinkets;bling) \ No newline at end of file +-materialcombination-;-colorcombination- +OR(fishnets;trinkets;bling) +with a OR(asymetrical;bateau;grecian;collar;cowl;halter;illusion;jewel;keyhole;off-the-shoulder;one-shoulder;plunging;queen anne;round neck;scalloped;scoop;spaghetti strap;split crew;square;strapless;surplice;sweethearth;tie bow;turtleneck;U-shape;V-neck) neckline \ No newline at end of file diff --git a/csvfiles/special_lists/wordcombis.csv b/csvfiles/special_lists/wordcombis.csv index b6dfc6c..4176694 100644 --- a/csvfiles/special_lists/wordcombis.csv +++ b/csvfiles/special_lists/wordcombis.csv @@ -1,20 +1,19 @@ alluring, appealing, attractive, beautiful, charming, cozy, cute, elegant, exquisite, flawless, glamourous, good-looking, gorgeous, lovely, magnificent, pleasant, pretty -gothic, dark, moody, monochromatic, ugly, gritty, grim, macabre, goth, horror, baroque +gothic, dark, moody, monochromatic, gritty, grim, macabre, goth, horror, baroque dirty, grimy, gritty creepy, scary, horror, monster, monstrous, macabre cute, kawaii, chibi, endearing, appealing, tiny, lovable, sweet, innocent, adorable photograph, realism, photorealism, photography, photo, RAW photo industrial, mechanical, photorealism, modernist, minimalist -vibrant, colorful, vivid, expressive, rainbow, bold colors, rich colors, emotional +vibrant, colorful, vivid, expressive, bold colors, rich colors, emotional dramatic, epic, cinematic, heroic, emotional dynamic, action ordinary, mundane, plain, common, boring, drab -unattractive, ugly, amateurish +unattractive, ugly, amateurish, plain organic, flora, fauna, nature, nature-inspired dream, dreamy, dreamlike, magic, magical, fantastic, fairy tale, ethereal, celestial simple, minimalist, minimalistic, simplistic futuristic, sci fi, sci-fi, modern, technology -portrait, close up, close-up fashionable, fashion, haute couture, avant-garde concept art, fantasy, sci-fi, science fiction, D&D, digital art cinema, cinematic, cinestill, movie still, cinemascope @@ -22,7 +21,6 @@ anime, manga, anime key visual, key visual, studio anime, anime style, anime ske funny, whimsical, fun, amusing authentic, traditional, classic, indigenous, ethnic monochromatic, greyscale, BW, black and white, stark -portrait, detailed face, large eyes, detailed skin octane render, volumetric, 3d model, 3d rendering vignette, vintage, retro detailed, ultra detailed, intricate, intricate details, ornate, elaborate @@ -44,7 +42,7 @@ scene, cityscape man, guy, male, masculine, manly, burly woman, girl, female, feminine, womanly product shot, blank background, product photo -feeling, emotion, emotinal, dramatic, emotive, expressive +feeling, emotion, emotional, dramatic, emotive, expressive world of warcraft, dungeons and dragons, FF14, hearthstone, rpg concept art cyberpunk, shadowrun DOTA, League of Legends @@ -57,4 +55,10 @@ sensual, sexy, lustful painting, painterly impressionism, 1920's, small brush strokes, contrasting colors, en plein air large, great, grand, immense, giant -small, tiny \ No newline at end of file +small, tiny +comic, cartoon, cartoony, comic book cover, comics +divine, saintly, holy, angelic +cyberpunk, neon, neon-lit, futuristic +portrait, close-up +zen, tranquil, relaxing +sad, depressing, hopeless \ No newline at end of file diff --git a/enhancepositivetester.py b/enhancepositivetester.py index 209339d..9d01b76 100644 --- a/enhancepositivetester.py +++ b/enhancepositivetester.py @@ -18,7 +18,7 @@ def generateprompts(amount = 1,positive_prompt = "",amountofwords="3"): while steps < loops: # build prompt if originalpositiveprompt == "": - result = build_dynamic_prompt(insanitylevel=2) + result = build_dynamic_prompt(insanitylevel=3) else: result = enhance_positive(positive_prompt=positive_prompt, amountofwords=amountofwords) print("enhanced prompt: " + result) diff --git a/prompttester.py b/prompttester.py index bc6af19..d91d03d 100644 --- a/prompttester.py +++ b/prompttester.py @@ -95,7 +95,7 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im print("") print("All done!") -generateprompts(10,2 +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" diff --git a/promptvarianttester.py b/promptvarianttester.py index 49cdef7..6fac55e 100644 --- a/promptvarianttester.py +++ b/promptvarianttester.py @@ -37,5 +37,5 @@ def generatepromptvariants(amount = 1,prompt="",insanitylevel="5"): print("All done!") generatepromptvariants(10 - ,"a cute girl" #purple (galaxy) in a (bottle:1.2), , background is a lush jungle and a woman wearing a summer dress, -artmovement- + ,"" #purple (galaxy) in a (bottle:1.2), , background is a lush jungle and a woman wearing a summer dress, -artmovement- , 5)