Merge pull request #198 from AIrjen/anime_model_mode

Anime model mode
pull/199/head
AIrjen 2024-06-07 10:32:25 +02:00 committed by GitHub
commit 0e29f3e22e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 570 additions and 98 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
*.pyc
userfiles/antilist.csv
userfiles/config.csv
userfiles/config_anime.csv
userfiles/*.json
superprompter/model_files
superprompter/model_files/*.*

View File

@ -19,12 +19,12 @@ allpresets = [OBPresets.RANDOM_PRESET_OBP] + list(OBPresets.opb_presets.keys())
artists = ["all", "all (wild)", "none", "popular", "greg mode", "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", "gore", "graffiti", "graphic design", "high contrast", "horror", "impressionism", "installation", "landscape", "light", "line drawing", "low contrast", "luminism", "magical realism", "manga", "melanin", "messy", "monochromatic", "nature", "nudity", "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"]
artifyartists = ["all", "all (wild)", "popular", "greg mode", "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", "gore", "graffiti", "graphic design", "high contrast", "horror", "impressionism", "installation", "landscape", "light", "line drawing", "low contrast", "luminism", "magical realism", "manga", "melanin", "messy", "monochromatic", "nature", "nudity", "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"]
imagetypes = ["all", "all - force multiple", "none", "photograph", "octane render","digital art","concept art", "painting", "portrait", "anime key visual", "only other types", "only templates mode", "dynamic 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", "the tokinator"]
imagetypes = ["all", "all - force multiple", "all - anime", "none", "photograph", "octane render","digital art","concept art", "painting", "portrait", "anime", "only other types", "only templates mode", "dynamic 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", "the tokinator"]
subjects =["all", "object", "animal", "humanoid", "landscape", "concept"]
genders = ["all", "male", "female"]
emojis = [False, True]
models = ["SD1.5", "SDXL", "Stable Cascade"]
models = ["SD1.5", "SDXL", "Stable Cascade", "Anime Model"]
prompt_enhancers = ["none", "superprompt-v1"]
subjects =["------ all"]
subjectsubtypesobject = ["all"]

View File

@ -31,6 +31,7 @@ Any other AI tool you are using? Midjourney? Dalle? No problem, I got it working
- Create __infinite variations__ of a __chosen subject__. ==> [guide to override subject](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/override_subject_and_infinite_variations.md)
- Fully __automated generation, classification and upscaling__. ==> [guide to one_button_run_and_upscale](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/one_button_run_and_upscale.md)
- Add __LoRA's__, customize lists and personal artists choices. ==> [guide to custom files](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/custom_files.md)
- Use __Anime Model__ mode to generate prompts specific for use with anime/pony models ==> [guide to Anime Mode](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/anime_model_mode.md)
- __Compound__ multiple prompts together for unexpected results. ==> [guide to prompt compounder](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/prompt_compounder_and_regional_prompter_to_create_insane_images.md)
- Use __wildcards__, or __combine with Dynamic Prompts__ extension ==> [guide to using wildcards and Dynamic Prompts](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/wildcards_and_dynamic_prompts_extension.md)
- Has a set of __template prompts__ from various sources, __fully wildcarded__ and usable with Subject Override ==> [guide to prompt templates](https://github.com/AIrjen/OneButtonPrompt/blob/main/user_guides/templates.md)

View File

@ -15,10 +15,12 @@ OBPresets = OneButtonPresets()
# Set artistmode to none, to exclude artists
def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all", imagetype = "all", onlyartists = False, antivalues = "", prefixprompt = "", suffixprompt ="",promptcompounderlevel ="1", seperator = "comma", givensubject="",smartsubject = True,giventypeofimage="", imagemodechance = 20, gender = "all", subtypeobject="all", subtypehumanoid="all", subtypeconcept="all", advancedprompting=True, hardturnoffemojis=False, seed=-1, overrideoutfit="", prompt_g_and_l = False, base_model = "SD1.5", OBP_preset = "", prompt_enhancer = "none", subtypeanimal="all", subtypelocation="all"):
remove_weights = False
remove_weights = False
less_verbose = False
add_vomit = True
add_quality = True
anime_mode = False
configfilesuffix = ""
superprompter = False
prompt_enhancer = prompt_enhancer.lower()
@ -126,13 +128,37 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
outfitmode = 0
animalashuman = False
partlystylemode = False
# load the config file
config = load_config_csv()
# cheat for presets
if(OBP_preset=='Waifu''s' or OBP_preset=='Husbando''s'):
basemodel = "Anime Model"
# Base model options, used to change things in prompt generation. Might be able to extend to different forms like animatediff as well?
base_model_options = ["SD1.5", "SDXL", "Stable Cascade", "Anime Model"]
if base_model not in base_model_options:
base_model = "SD1.5" # Just in case there is no option here.
# "SD1.5" -- Standard, future: More original style prompting
# "SDXL" -- Standard (for now), future: More natural language
# "Stable Cascade" -- Remove weights
if(base_model == "Stable Cascade"):
remove_weights = True
add_vomit = False
add_quality = False
if(base_model == "SD1.5"):
less_verbose = True
if(base_model == "Anime Model"):
less_verbose = True
advancedprompting = False
anime_mode = True
configfilesuffix = "anime"
# load the config file
config = load_config_csv(configfilesuffix)
# first build up a complete anti list. Those values are removing during list building
# this uses the antivalues string AND the antilist.csv
emptylist = []
@ -145,19 +171,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# clean up antivalue list:
antilist = [s.strip().lower() for s in antilist]
# Base model options, used to change things in prompt generation. Might be able to extend to different forms like animatediff as well?
base_model_options = ["SD1.5", "SDXL", "Stable Cascade"]
if base_model not in base_model_options:
base_model = "SD1.5" # Just in case there is no option here.
# "SD1.5" -- Standard, future: More original style prompting
# "SDXL" -- Standard (for now), future: More natural language
# "Stable Cascade" -- Remove weights
if(base_model == "Stable Cascade"):
remove_weights = True
add_vomit = False
add_quality = False
if(base_model == "SD1.5"):
less_verbose = True
# Some tricks for gender to make sure we can choose Him/Her/It etc on the right time.
if(gender=="all"):
@ -207,7 +221,13 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
hairvomitlist = csv_to_list("hairvomit",antilist,"./csvfiles/",0,"?",False,False)
humanoidlist = csv_to_list("humanoids",antilist)
imagetypelist = csv_to_list(csvfilename="imagetypes",antilist=antilist, insanitylevel=insanitylevel, delimiter="?")
if(anime_mode or imagetype=="all - anime"):
if(imagetype == "all"):
imagetype = "all - anime"
imagetypelist = csv_to_list(csvfilename="imagetypes_anime",antilist=antilist, insanitylevel=insanitylevel, delimiter="?")
else:
imagetypelist = csv_to_list(csvfilename="imagetypes",antilist=antilist, insanitylevel=insanitylevel, delimiter="?")
joblist = csv_to_list(csvfilename="jobs",antilist=antilist,skipheader=True,gender=gender)
lenslist = csv_to_list(csvfilename="lenses",antilist=antilist, insanitylevel=insanitylevel)
lightinglist = csv_to_list(csvfilename="lighting",antilist=antilist, insanitylevel=insanitylevel)
@ -220,6 +240,18 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
shotsizelist = csv_to_list(csvfilename="shotsizes",antilist=antilist, insanitylevel=insanitylevel)
timeperiodlist = csv_to_list("timeperiods",antilist)
vomitlist = csv_to_list(csvfilename="vomit",antilist=antilist, insanitylevel=insanitylevel)
if(anime_mode):
replacements = {
"-allstylessuffix-": "-buildfacepart-",
"-artistdescription-": "-buildfacepart-"
}
for i, item in enumerate(vomitlist):
for old, new in replacements.items():
item = item.replace(old, new)
vomitlist[i] = item
foodlist = csv_to_list("foods", antilist)
genderdescriptionlist = csv_to_list(csvfilename="genderdescription",antilist=antilist,skipheader=True,gender=gender)
minilocationlist = csv_to_list("minilocations", antilist)
@ -247,7 +279,6 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
coveringlist = csv_to_list("coverings", antilist)
facepartlist = csv_to_list("faceparts", antilist)
outfitvomitlist = csv_to_list(csvfilename="outfitvomit",antilist=antilist,delimiter="?")
humanexpressionlist = csv_to_list(csvfilename="humanexpressions",antilist=antilist,delimiter="?")
humanvomitlist = csv_to_list("humanvomit", antilist)
eyecolorlist = csv_to_list("eyecolors", antilist)
fashiondesignerlist = csv_to_list("fashiondesigners", antilist)
@ -420,6 +451,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
buildfacelist = csv_to_list("buildface_less_verbose", antilist,"./csvfiles/special_lists/",0,"?")
buildaccessorielist = csv_to_list("buildaccessorie_less_verbose", antilist,"./csvfiles/special_lists/",0,"?")
humanactivitylist = csv_to_list("human_activities_less_verbose",antilist,"./csvfiles/",0,"?",False,False)
humanexpressionlist = csv_to_list("humanexpressions_less_verbose",antilist,"./csvfiles/",0,"?",False,False)
else:
buildhairlist = csv_to_list("buildhair", antilist,"./csvfiles/special_lists/",0,"?")
buildoutfitlist = csv_to_list("buildoutfit", antilist,"./csvfiles/special_lists/",0,"?")
@ -428,6 +460,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
buildfacelist = csv_to_list("buildface", antilist,"./csvfiles/special_lists/",0,"?")
buildaccessorielist = csv_to_list("buildaccessorie", antilist,"./csvfiles/special_lists/",0,"?")
humanactivitylist = csv_to_list("human_activities",antilist,"./csvfiles/",0,"?",False,False)
humanexpressionlist = csv_to_list("humanexpressions",antilist,"./csvfiles/",0,"?",False,False)
humanactivitylist = humanactivitylist + humanactivitycheatinglist
@ -1449,8 +1482,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" and random.randint(0,5) == 5):
if(mainchooser == "animal" and (random.randint(0,5) == 5 or anime_mode)):
# sometimes interpret the animal as a human
# for anime_mode this is always true
animalashuman = True
if(mainchooser == "humanoid"):
#humanoidsubjectchooserlist = ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "firstname"]
@ -1530,7 +1564,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# After we chose the subject, lets set all things ready for He/She/It etc
if(subjectchooser in ["manwomanmultiple"] and givensubject != "" and subtypehumanoid != "multiple humans"):
if(not less_verbose and subjectchooser in ["manwomanmultiple"] and givensubject != "" and subtypehumanoid != "multiple humans"):
heshelist = ["they"]
hisherlist = ["their"]
himherlist = ["them"]
@ -1539,7 +1573,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
heshelist = ["one of them"]
hisherlist = ["one of their"]
himherlist = ["one of them"]
elif(subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","firstname","manwomanmultiple"]):
elif(not less_verbose and subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","firstname","manwomanmultiple"]):
if(gender == "male"):
heshelist = ["he"]
hisherlist = ["his"]
@ -1548,7 +1582,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
heshelist = ["she"]
hisherlist = ["her"]
himherlist = ["her"]
if(subjectchooser in ["manwomanmultiple"] and givensubject == ""):
if(not less_verbose and subjectchooser in ["manwomanmultiple"] and givensubject == ""):
heshelist = ["they"]
hisherlist = ["their"]
himherlist = ["them"]
@ -1927,10 +1961,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(giventypeofimage == "" and (imagetype == "none" or giventypeofimage=="none") ):
generatetype = False
if(giventypeofimage=="" and generatetype == True):
if(imagetype != "all" and imagetype != "all - force multiple" and imagetype != "only other types"):
if(imagetype != "all" and imagetype != "all - force multiple" and imagetype != "only other types" and imagetype != "all - anime"):
completeprompt += " " + imagetype + ", "
elif(imagetype == "all - force multiple" or unique_dist(insanitylevel)):
elif(imagetype == "all - force multiple" or unique_dist(insanitylevel) and not anime_mode):
amountofimagetypes = random.randint(2,3)
elif(imagetype == "only other types"):
if(amountofimagetypes < 2 and random.randint(0,2) == 0):
@ -1945,14 +1979,14 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
othertype = 1
completeprompt += random.choice(othertypelist)
if(imagetype == "all" and chance_roll(insanitylevel, imagetypechance) and amountofimagetypes <= 1):
if((imagetype == "all" or imagetype == "all - anime") and chance_roll(insanitylevel, imagetypechance) and amountofimagetypes <= 1):
amountofimagetypes = 1
# on lower insanity levels, almost force this
if(imagetype == "all" and insanitylevel <= 3 and amountofimagetypes <= 1 and random.randint(0,1)== 0):
if((imagetype == "all" or imagetype == "all - anime") and insanitylevel <= 3 and amountofimagetypes <= 1 and random.randint(0,1)== 0):
amountofimagetypes = 1
if(imagetype == "all" and insanitylevel <= 2 and amountofimagetypes <= 1):
if((imagetype == "all" or imagetype == "all - anime") and insanitylevel <= 2 and amountofimagetypes <= 1):
amountofimagetypes = 1
@ -1963,24 +1997,15 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# one in 6 images is a complex/other type
if((chance_roll(insanitylevel, imagetypequalitychance) or originalartistchoice == "greg mode") and generateimagetypequality):
completeprompt += "-imagetypequality- "
# if("photography" in artiststyleselector
# or "photography" in artists):
# completeprompt += " photograph, "
# elif("portrait" in artiststyleselector
# or "portrait" in artists):
# completeprompt += " portrait, "
# if("landscape" in artiststyleselector
# or "landscape" in artists):
# completeprompt += " landscape, "
if(imagetype == "all - anime" and not anime_mode):
completeprompt += " anime"
if(random.randint(0,4) < 4 and insanitylevel > 3 ):
# woops, never to this as wildcards. We need to know as early as possible wether something is a photo. Lets put it back!
completeprompt += " " + random.choice(imagetypelist) + ", "
elif(random.randint(0,1) == 0 and insanitylevel <= 3):
completeprompt += " " + random.choice(imagetypelist) + ", "
else:
elif(not anime_mode):
if(amountofimagetypes < 2 and random.randint(0,1) == 0):
partlystylemode = True
print("Ohhh! Adding some secret sauce to this prompt")
@ -2080,7 +2105,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# Common to have 1 description, uncommon to have 2
if(chance_roll(insanitylevel, subjectdescriptor1chance) and generatedescriptors == True):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]):
completeprompt += "-humandescriptor- "
if(anime_mode and random.randint(0,2)<2):
completeprompt += "-basicbitchdescriptor- "
else:
completeprompt += "-humandescriptor- "
elif(mainchooser == "landscape"):
completeprompt += "-locationdescriptor- "
elif(mainchooser == "animal"):
@ -2090,7 +2118,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(chance_roll(insanitylevel, subjectdescriptor2chance) and generatedescriptors == True):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation", "manwomanmultiple","firstname"]):
completeprompt += "-humandescriptor- "
if(anime_mode and random.randint(0,2)<2):
completeprompt += "-basicbitchdescriptor- "
else:
completeprompt += "-humandescriptor- "
elif(mainchooser == "landscape"):
completeprompt += "-locationdescriptor- "
elif(mainchooser == "animal"):
@ -2172,6 +2203,16 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(mainchooser == "animal"):
# first add a wildcard that can be used to create prompt strenght
completeprompt += " -objectstrengthstart-"
if(anime_mode
and "1girl" not in givensubject
and "1boy" not in givensubject):
anthrolist = ["anthro", "anthrophomorphic", "furry"]
if(gender=="male"):
completeprompt += random.choice(anthrolist) + ", 1boy, solo, "
else:
completeprompt += random.choice(anthrolist) + ", 1girl, solo, "
# if we have a given subject, we should skip making an actual subject
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
@ -2239,9 +2280,24 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(mainchooser == "humanoid"):
# first add a wildcard that can be used to create prompt strenght
completeprompt += " -objectstrengthstart-"
if(anime_mode
and "1girl" not in givensubject
and "1boy" not in givensubject):
if(subjectchooser != "manwomanmultiple"):
if(gender=="male"):
completeprompt += "1boy, solo, "
else:
completeprompt += "1girl, solo, "
else:
if(gender=="male"):
completeprompt += "multipleboys, "
else:
completeprompt += "multiplegirls, "
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
if(subjectchooser == "human"):
if(subjectchooser == "human" and not anime_mode):
completeprompt += "-manwoman-"
if(subjectchooser == "manwomanrelation"):
@ -2251,7 +2307,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += "-manwomanmultiple-"
if(subjectchooser == "job"):
completeprompt += "-malefemale- "
if(not anime_mode):
completeprompt += "-malefemale- "
completeprompt += "-job-"
if(subjectchooser == "fictional"):
@ -2480,7 +2537,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(chance_roll(insanitylevel, subjectdescriptor1chance) and generatedescriptors == True):
if(animalashuman or subjectchooser in ["human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple", "firstname"]):
if(less_verbose):
completeprompt += ", -humandescriptor- "
if(anime_mode and random.randint(0,2)<2):
completeprompt += ", -basicbitchdescriptor- "
else:
completeprompt += ", -humandescriptor- "
elif(random.randint(0,3) > 0):
completeprompt += ", OR(;-heshe- is;normal) OR(;very;rare) -humandescriptor- "
elif(subjectchooser == "manwomanmultiple"):
@ -2572,7 +2632,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(random.randint(0,1)==0):
completeprompt += ", " + random.choice(humanactivitylist)+ ", "
else:
completeprompt += "OR(,; as a;rare) -job-, "
completeprompt += ", OR(,; as a;rare) -job-, "
@ -2774,7 +2834,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
# if not, we could go in random styles descriptor mode
elif(templatemode == False and specialmode == False and uncommon_dist(10 - insanitylevel)):
elif(not anime_mode and templatemode == False and specialmode == False and uncommon_dist(10 - insanitylevel)):
for i in range(random.randint(1,max(7,insanitylevel + 2))):
# print("adding random crap")
completeprompt += ", -allstylessuffix-"
@ -2987,7 +3047,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt += chosenstylesuffix
templatesmodechance = 0
if(uncommon_dist(insanitylevel)):
if(uncommon_dist(insanitylevel) and not anime_mode): # not for anime models!
templatesmodechance = 1
if(dynamictemplatesmode == True and templatesmodechance == 1):
@ -3353,7 +3413,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
completeprompt = "".join(completeprompt_list)
# print(completeprompt)
# lol, this needs a rewrite :D
while (
@ -4920,6 +4980,9 @@ def cleanup(completeprompt, advancedprompting, insanitylevel = 5):
completeprompt = re.sub('-artistdescription-', '', completeprompt)
completeprompt = re.sub('- art ', '', completeprompt)
completeprompt = re.sub('anime anime', 'anime', completeprompt)
completeprompt = re.sub('anime, anime', 'anime', completeprompt)
completeprompt = re.sub('shot shot', 'shot', completeprompt)

View File

@ -176,13 +176,17 @@ def artist_descriptions_csv_to_list(csvfilename):
csvlist.append(row["Description"])
return csvlist
def load_config_csv():
def load_config_csv(suffix=""):
csvlist = []
script_dir = os.path.dirname(os.path.abspath(__file__))
full_path_config_file = os.path.join(script_dir, "./userfiles/" )
full_path_default_config_file = os.path.join(script_dir, "./csvfiles/config/" )
config_file = full_path_config_file + 'config.csv'
default_config_file = full_path_default_config_file + 'default_config.csv'
if(suffix != ""):
config_file = full_path_config_file + 'config_' + suffix + '.csv'
default_config_file = full_path_default_config_file + 'default_config_' + suffix + '.csv'
else:
config_file = full_path_config_file + 'config.csv'
default_config_file = full_path_default_config_file + 'default_config.csv'
if not os.path.exists(config_file):
shutil.copy2(default_config_file, config_file)

View File

@ -51,7 +51,9 @@ OR(Cat;Bunny;Fox) Ears?female
-animal- Tail?female
Tail?female
Fangs?both
Wings?both
OR(Wings;Angel Wings;Bird Wings;Demon Wings;Dragon Wings;Fairy Wings;Bat Wings;Skeletal Wings)?both
OR(Butterfly Wings;Dragonfly Wings;Ladybug Wings;Moth wings)?both
OR(Crystal Wings;Energy Wings;Fiery Wings;Icy Wings;Liquid Wings;Plant Wings)?both
Cybernetics?both
Mechanical Body Parts?both
Mechanical Arms?both
@ -84,6 +86,8 @@ Bowtie?both
Earrings?both
Earring?both
Necklace?both
Chain Necklace?both
Flower Necklace?both
Bracelet?both
Ring?both
Rings?both
@ -151,4 +155,18 @@ Trinkets?both
Ruff?both
Unicorn horn?both
Nonblinding sunglasses?both
Great-eyed?both
Great-eyed?both
Scouter?both
OR(opera glasses;opaque glasses;aviator sunglasses;3D glasses;groucho glasses)?both
Gem-studded?both
Glitter?both
Sequins?both
Magatama?both
Ribbon?both
Pentacle?both
Feather boa?both
Necktie?both
Fur collar?both
Jetpack?both
Automail?both
Severed limb?both
1 Beauty Marks?female
51 -animal- Tail?female
52 Tail?female
53 Fangs?both
54 Wings?both OR(Wings;Angel Wings;Bird Wings;Demon Wings;Dragon Wings;Fairy Wings;Bat Wings;Skeletal Wings)?both
55 OR(Butterfly Wings;Dragonfly Wings;Ladybug Wings;Moth wings)?both
56 OR(Crystal Wings;Energy Wings;Fiery Wings;Icy Wings;Liquid Wings;Plant Wings)?both
57 Cybernetics?both
58 Mechanical Body Parts?both
59 Mechanical Arms?both
86 Earrings?both
87 Earring?both
88 Necklace?both
89 Chain Necklace?both
90 Flower Necklace?both
91 Bracelet?both
92 Ring?both
93 Rings?both
155 Ruff?both
156 Unicorn horn?both
157 Nonblinding sunglasses?both
158 Great-eyed?both
159 Scouter?both
160 OR(opera glasses;opaque glasses;aviator sunglasses;3D glasses;groucho glasses)?both
161 Gem-studded?both
162 Glitter?both
163 Sequins?both
164 Magatama?both
165 Ribbon?both
166 Pentacle?both
167 Feather boa?both
168 Necktie?both
169 Fur collar?both
170 Jetpack?both
171 Automail?both
172 Severed limb?both

View File

@ -0,0 +1,124 @@
#this file controls the generation process;
#records starting with # are ignored;
#----;
# main subject generation options;
# these can either be on or off;
#----;
# objects;
subject_object;on
subject_vehicle;on
subject_food;on
subject_space;on
subject_building;on
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
subject_marinelife;on
# humanoids;
subject_manwoman;on
subject_manwomanrelation;on
subject_manwomanmultiple;on
subject_fictional;on
subject_nonfictional;on
subject_humanoid;on
subject_job;on
subject_firstnames;on
# landscape;
subject_location;on
subject_location_fantasy;on
subject_location_scifi;on
subject_location_videogame;on
subject_location_biome;on
subject_location_city;on
# concept;
subject_event;on
subject_concept;on
subject_poemline;on
subject_songline;on
subject_cardname;on
subject_episodetitle;on
subject_conceptmixer;on
#----;
# other main lists, in order of appearance;
# setting the random chance, for normal generation;
# these can be, in order of most appearing to least appearing;
# always, common, normal, uncommon, rare, legendary, unique, extraordinary, novel, never;
custominputprefixrepeats;2
custominputprefixchance;uncommon
imagetypechance;legendary
imagetypequalitychance;normal
# some prefixes that happen rarely;
minilocationadditionchance;unique
artmovementprefixchance;unique
minivomitprefix1chance;rare
minivomitprefix2chance;unique
# shot size generation;
shotsizechance;common
# subject specific stuff;
subjectdescriptor1chance;common
subjectdescriptor2chance;uncommon
subjectbodytypechance;common
subjectculturechance;uncommon
subjectconceptsuffixchance;unique
# subjectlandscape specific stuff;
subjectlandscapeinsideshotchance;unique
subjectlandscapeaddonlocationchance;normal
subjectlandscapeaddonlocationdescriptorchance;rare
subjectlandscapeaddonlocationculturechance;rare
# all additions;
objectadditionsrepeats;2
objectadditionschance;uncommon
humanadditionchance;uncommon
overalladditionchance;extraordinary
# humanoid other stuff;
emojichance;legendary
buildfacechance;uncommon
humanexpressionchance;uncommon
humanvomitchance;normal
joboractivitychance;rare
# things in the middle of the prompt;
custominputmidrepeats;2
custominputmidchance;uncommon
minivomitmidchance;unique
# humanoid main stuff;
outfitchance;common
posechance;common
hairchance;common
accessorychance;uncommon
humanoidinsideshotchance;novel
humanoidbackgroundchance;novel
# minilocation stuff;
landscapeminilocationchance;uncommon
generalminilocationchance;rare
# general stuff add the end of the prompt;
timperiodchance;normal
focuschance;normal
directionchance;normal
moodchance;common
minivomitsuffixchance;unique
artmovementchance;unique
lightingchance;normal
photoadditionchance;unique
lenschance;unique
colorschemechance;normal
vomit1chance;rare
vomit2chance;rare
greatworkchance;never
poemlinechance;never
songlinechance;never
quality1chance;normal
quality2chance;normal
# custom style list (lora and tis);
customstyle1chance;uncommon
customstyle2chance;uncommon
# suffix custom list;
custominputsuffixrepeats;2
custominputsuffixchance;uncommon
# artists stuff;
artistsatbackchance;uncommon
1 #this file controls the generation process
2 #records starting with # are ignored
3 #----
4 # main subject generation options
5 # these can either be on or off
6 #----
7 # objects
8 subject_object on
9 subject_vehicle on
10 subject_food on
11 subject_space on
12 subject_building on
13 subject_flora on
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 subject_marinelife on
23 # humanoids
24 subject_manwoman on
25 subject_manwomanrelation on
26 subject_manwomanmultiple on
27 subject_fictional on
28 subject_nonfictional on
29 subject_humanoid on
30 subject_job on
31 subject_firstnames on
32 # landscape
33 subject_location on
34 subject_location_fantasy on
35 subject_location_scifi on
36 subject_location_videogame on
37 subject_location_biome on
38 subject_location_city on
39 # concept
40 subject_event on
41 subject_concept on
42 subject_poemline on
43 subject_songline on
44 subject_cardname on
45 subject_episodetitle on
46 subject_conceptmixer on
47 #----
48 # other main lists, in order of appearance
49 # setting the random chance, for normal generation
50 # these can be, in order of most appearing to least appearing
51 # always, common, normal, uncommon, rare, legendary, unique, extraordinary, novel, never
52 custominputprefixrepeats 2
53 custominputprefixchance uncommon
54 imagetypechance legendary
55 imagetypequalitychance normal
56 # some prefixes that happen rarely
57 minilocationadditionchance unique
58 artmovementprefixchance unique
59 minivomitprefix1chance rare
60 minivomitprefix2chance unique
61 # shot size generation
62 shotsizechance common
63 # subject specific stuff
64 subjectdescriptor1chance common
65 subjectdescriptor2chance uncommon
66 subjectbodytypechance common
67 subjectculturechance uncommon
68 subjectconceptsuffixchance unique
69 # subjectlandscape specific stuff
70 subjectlandscapeinsideshotchance unique
71 subjectlandscapeaddonlocationchance normal
72 subjectlandscapeaddonlocationdescriptorchance rare
73 subjectlandscapeaddonlocationculturechance rare
74 # all additions
75 objectadditionsrepeats 2
76 objectadditionschance uncommon
77 humanadditionchance uncommon
78 overalladditionchance extraordinary
79 # humanoid other stuff
80 emojichance legendary
81 buildfacechance uncommon
82 humanexpressionchance uncommon
83 humanvomitchance normal
84 joboractivitychance rare
85 # things in the middle of the prompt
86 custominputmidrepeats 2
87 custominputmidchance uncommon
88 minivomitmidchance unique
89 # humanoid main stuff
90 outfitchance common
91 posechance common
92 hairchance common
93 accessorychance uncommon
94 humanoidinsideshotchance novel
95 humanoidbackgroundchance novel
96 # minilocation stuff
97 landscapeminilocationchance uncommon
98 generalminilocationchance rare
99 # general stuff add the end of the prompt
100 timperiodchance normal
101 focuschance normal
102 directionchance normal
103 moodchance common
104 minivomitsuffixchance unique
105 artmovementchance unique
106 lightingchance normal
107 photoadditionchance unique
108 lenschance unique
109 colorschemechance normal
110 vomit1chance rare
111 vomit2chance rare
112 greatworkchance never
113 poemlinechance never
114 songlinechance never
115 quality1chance normal
116 quality2chance normal
117 # custom style list (lora and tis)
118 customstyle1chance uncommon
119 customstyle2chance uncommon
120 # suffix custom list
121 custominputsuffixrepeats 2
122 custominputsuffixchance uncommon
123 # artists stuff
124 artistsatbackchance uncommon

View File

@ -20,6 +20,7 @@ Braids
Buzz cut
Buzz cut with a fade
Caesar cut
Chonmage
Chignon
Comb-over
Cornrows
@ -33,6 +34,8 @@ Drill
Dutch braid
Faux hawk
Fauxhawk
Flipped hair
Folded ponytail
Fishtail braid
French braid
French crop
@ -57,6 +60,7 @@ Low bun
Low fade
Low ponytail
Lushious
Nihongami
Man bun
Mermaid waves
Messy bun
@ -83,6 +87,7 @@ Side swept
Side-swept bangs
Side-swept curls
Sideswept bangs
Side ponytail
Slicked-back
Space buns
Spiky
@ -95,6 +100,7 @@ Top knot
Tousled
Twist braid
Twist out
Twintails
Undercut
Voluminous
Waterfall braid

1 Afro
20 Buzz cut
21 Buzz cut with a fade
22 Caesar cut
23 Chonmage
24 Chignon
25 Comb-over
26 Cornrows
34 Dutch braid
35 Faux hawk
36 Fauxhawk
37 Flipped hair
38 Folded ponytail
39 Fishtail braid
40 French braid
41 French crop
60 Low fade
61 Low ponytail
62 Lushious
63 Nihongami
64 Man bun
65 Mermaid waves
66 Messy bun
87 Side-swept bangs
88 Side-swept curls
89 Sideswept bangs
90 Side ponytail
91 Slicked-back
92 Space buns
93 Spiky
100 Tousled
101 Twist braid
102 Twist out
103 Twintails
104 Undercut
105 Voluminous
106 Waterfall braid

View File

@ -15,4 +15,7 @@ short braided hair
lushious hair
hair with pigtails
short and slicked back hair
thick and lush hair
thick and lush hair
pixie cut
flipped hair
nihongami hair
1 Long flowing hair
15 lushious hair
16 hair with pigtails
17 short and slicked back hair
18 thick and lush hair
19 pixie cut
20 flipped hair
21 nihongami hair

View File

@ -1,4 +1,5 @@
OR(;-heshe- is feeling;uncommon) OR(;very;normal) angry
OR(;-heshe- is feeling;uncommon) OR(;very;normal) angry OR(;, anger vein;rare)
OR(;-heshe- is feeling;uncommon) OR(;very;normal) annoyed
OR(;-heshe- is feeling;uncommon) furious
OR(;-heshe- is feeling;uncommon) OR(;very;normal) confused
OR(;-heshe- is feeling;uncommon) OR(;very;normal) akward
@ -26,6 +27,8 @@ OR(;-heshe- has a;uncommon) OR(;very;normal) smug smile
OR(;-heshe- has a;uncommon) OR(;very;normal) light smile
OR(;-heshe- has a;uncommon) OR(;very;normal) radiant smile
OR(;-heshe- has a;uncommon) OR(;very;normal) wicked smile
OR(;-heshe- has a;uncommon) OR(;very;normal) seductive smile
OR(;-heshe- has a;uncommon) OR(;very;normal) sad smile
OR(;-heshe- is;uncommon) biting -himher- lip
OR(;-heshe- is looking;uncommon) OR(;very;normal) OR(neutral;hollow)
OR(;-heshe- is feeling;uncommon) OR(;very;normal) shy OR(;, looking away;uncommon)
@ -44,8 +47,16 @@ OR(;-heshe- is ;uncommon) expressing guilt
OR(;-heshe- is ;uncommon) expressing joy
OR(;-heshe- is;uncommon) laughing
OR(;-heshe- is;uncommon) grinning
doyagao
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) relaxed
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) insecure
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) shocked
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) worried
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) resentfull
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) resentfull
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) flustered
OR(;-heshe- is ;uncommon) blushing
OR(;-heshe- is ;uncommon) feeling OR(;very;normal) crazy
OR(;-heshe- is ;uncommon) OR(;very;normal) drunk
OR(;-heshe- is ;uncommon) grimacing
OR(;-heshe- is ;uncommon) rolling eyes
OR(;-heshe- is ;uncommon) staring
1 OR(;-heshe- is feeling;uncommon) OR(;very;normal) angry OR(;-heshe- is feeling;uncommon) OR(;very;normal) angry OR(;, anger vein;rare)
2 OR(;-heshe- is feeling;uncommon) OR(;very;normal) annoyed
3 OR(;-heshe- is feeling;uncommon) furious OR(;-heshe- is feeling;uncommon) furious
4 OR(;-heshe- is feeling;uncommon) OR(;very;normal) confused OR(;-heshe- is feeling;uncommon) OR(;very;normal) confused
5 OR(;-heshe- is feeling;uncommon) OR(;very;normal) akward OR(;-heshe- is feeling;uncommon) OR(;very;normal) akward
27 OR(;-heshe- has a;uncommon) OR(;very;normal) light smile OR(;-heshe- has a;uncommon) OR(;very;normal) light smile
28 OR(;-heshe- has a;uncommon) OR(;very;normal) radiant smile OR(;-heshe- has a;uncommon) OR(;very;normal) radiant smile
29 OR(;-heshe- has a;uncommon) OR(;very;normal) wicked smile OR(;-heshe- has a;uncommon) OR(;very;normal) wicked smile
30 OR(;-heshe- has a;uncommon) OR(;very;normal) seductive smile
31 OR(;-heshe- has a;uncommon) OR(;very;normal) sad smile
32 OR(;-heshe- is;uncommon) biting -himher- lip OR(;-heshe- is;uncommon) biting -himher- lip
33 OR(;-heshe- is looking;uncommon) OR(;very;normal) OR(neutral;hollow) OR(;-heshe- is looking;uncommon) OR(;very;normal) OR(neutral;hollow)
34 OR(;-heshe- is feeling;uncommon) OR(;very;normal) shy OR(;, looking away;uncommon) OR(;-heshe- is feeling;uncommon) OR(;very;normal) shy OR(;, looking away;uncommon)
47 OR(;-heshe- is ;uncommon) expressing joy OR(;-heshe- is ;uncommon) expressing joy
48 OR(;-heshe- is;uncommon) laughing OR(;-heshe- is;uncommon) laughing
49 OR(;-heshe- is;uncommon) grinning OR(;-heshe- is;uncommon) grinning
50 doyagao
51 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) relaxed OR(;-heshe- is ;uncommon) feeling OR(;very;normal) relaxed
52 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) insecure OR(;-heshe- is ;uncommon) feeling OR(;very;normal) insecure
53 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) shocked OR(;-heshe- is ;uncommon) feeling OR(;very;normal) shocked
54 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) worried OR(;-heshe- is ;uncommon) feeling OR(;very;normal) worried
55 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) resentfull OR(;-heshe- is ;uncommon) feeling OR(;very;normal) resentfull
56 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) flustered
57 OR(;-heshe- is ;uncommon) blushing
58 OR(;-heshe- is ;uncommon) feeling OR(;very;normal) crazy
59 OR(;-heshe- is ;uncommon) OR(;very;normal) drunk
60 OR(;-heshe- is ;uncommon) grimacing
61 OR(;-heshe- is ;uncommon) rolling eyes
62 OR(;-heshe- is ;uncommon) staring

View File

@ -0,0 +1,58 @@
OR(;very;normal) angry OR(;, anger vein;rare)
OR(;very;normal) annoyed
furious
OR(;very;normal) confused
OR(;very;normal) akward
crying
OR(;very;normal) fearful
OR(;very;normal) disappointed
OR(;very;normal) happy
very happy, glinting eyes
OR(;very;normal) lonely
OR(;very;normal) lustful
OR(;very;normal) sad
screaming
smiling
smirking
chuckling
yawning
bewildered
winking
OR(;very;normal) smug
laughing hysterically
OR(;very;normal) smug smile
OR(;very;normal) light smile
OR(;very;normal) radiant smile
OR(;very;normal) wicked smile
OR(;very;normal) seductive smile
OR(;very;normal) sad smile
biting -himher- lip
OR(;very;normal) shy OR(;, looking away;uncommon)
looking away
in awe
OR(;very;normal) curious
OR(;very;normal) bored
OR(;very;normal) embarrased
OR(;very;normal) in love
feeling OR(;very;normal) melancholy
feeling OR(;very;normal) proud
feeling OR(;very;normal) envious
feeling OR(;very;normal) grateful
expressing shame
expressing guilt
expressing joy
laughing
grinning
doyagao
feeling OR(;very;normal) relaxed
feeling OR(;very;normal) insecure
feeling OR(;very;normal) shocked
feeling OR(;very;normal) worried
feeling OR(;very;normal) resentfull
feeling OR(;very;normal) flustered
blushing
crazy
OR(;very;normal) drunk
grimace
rolling eyes
staring
1 OR(;very;normal) angry OR(;, anger vein;rare)
2 OR(;very;normal) annoyed
3 furious
4 OR(;very;normal) confused
5 OR(;very;normal) akward
6 crying
7 OR(;very;normal) fearful
8 OR(;very;normal) disappointed
9 OR(;very;normal) happy
10 very happy, glinting eyes
11 OR(;very;normal) lonely
12 OR(;very;normal) lustful
13 OR(;very;normal) sad
14 screaming
15 smiling
16 smirking
17 chuckling
18 yawning
19 bewildered
20 winking
21 OR(;very;normal) smug
22 laughing hysterically
23 OR(;very;normal) smug smile
24 OR(;very;normal) light smile
25 OR(;very;normal) radiant smile
26 OR(;very;normal) wicked smile
27 OR(;very;normal) seductive smile
28 OR(;very;normal) sad smile
29 biting -himher- lip
30 OR(;very;normal) shy OR(;, looking away;uncommon)
31 looking away
32 in awe
33 OR(;very;normal) curious
34 OR(;very;normal) bored
35 OR(;very;normal) embarrased
36 OR(;very;normal) in love
37 feeling OR(;very;normal) melancholy
38 feeling OR(;very;normal) proud
39 feeling OR(;very;normal) envious
40 feeling OR(;very;normal) grateful
41 expressing shame
42 expressing guilt
43 expressing joy
44 laughing
45 grinning
46 doyagao
47 feeling OR(;very;normal) relaxed
48 feeling OR(;very;normal) insecure
49 feeling OR(;very;normal) shocked
50 feeling OR(;very;normal) worried
51 feeling OR(;very;normal) resentfull
52 feeling OR(;very;normal) flustered
53 blushing
54 crazy
55 OR(;very;normal) drunk
56 grimace
57 rolling eyes
58 staring

View File

@ -16,4 +16,6 @@ matte skin
perfect skin
skin pores
freckles
photo-realistic face
photo-realistic face
-buildfacepart-
-buildfacepart-, -buildfacepart-
Can't render this file because it has a wrong number of fields in line 21.

View File

@ -0,0 +1,22 @@
3D
anime
2D anime
OR(cartoon;illustration;detailed illustration;drawing;sketch)
anime screenshot
OR(artbook;calendar;card)
OR(comic;manga)
OR(cover;album cover;character single;cover page;doujin cover;dvd cover;fake cover;video game cover;magazine cover;manga cover)
OR(fake screenshot;fake phone screenshot)
OR(game cg;game screenshot)
highres
absurdres
OR(icon;logo)
lineart
pixel art
poster
wallpaper
wallpaper forced
widescreen
official wallpaper
OR(concept art;digital art)
OR(fantasy;sci-fi) art
1 3D
2 anime
3 2D anime
4 OR(cartoon;illustration;detailed illustration;drawing;sketch)
5 anime screenshot
6 OR(artbook;calendar;card)
7 OR(comic;manga)
8 OR(cover;album cover;character single;cover page;doujin cover;dvd cover;fake cover;video game cover;magazine cover;manga cover)
9 OR(fake screenshot;fake phone screenshot)
10 OR(game cg;game screenshot)
11 highres
12 absurdres
13 OR(icon;logo)
14 lineart
15 pixel art
16 poster
17 wallpaper
18 wallpaper forced
19 widescreen
20 official wallpaper
21 OR(concept art;digital art)
22 OR(fantasy;sci-fi) art

View File

@ -17,4 +17,9 @@ telephoto lens
800mm lens
macro lens
L USM
pinhole lens
pinhole lens
atmospheric perspective
panorama
perspective
vanishing point
pov
1 Zoom lens
17 800mm lens
18 macro lens
19 L USM
20 pinhole lens
21 atmospheric perspective
22 panorama
23 perspective
24 vanishing point
25 pov

View File

@ -4,4 +4,5 @@ Depth of field 270mm
50mm
Selective focus
800mm lens
L USM
L USM
atmospheric perspective
1 Depth of field 100mm
4 50mm
5 Selective focus
6 800mm lens
7 L USM
8 atmospheric perspective

View File

@ -10,4 +10,6 @@ F/8
F/14
Selective focus
800mm lens
L USM
L USM
atmospheric perspective
pov
1 Depth of field 100mm
10 F/14
11 Selective focus
12 800mm lens
13 L USM
14 atmospheric perspective
15 pov

View File

@ -4,6 +4,7 @@ looking towards camera
looking away from camera
looking to the side
Looking over the shoulder
Looking away
Sitting
Standing
Jumping
@ -44,6 +45,9 @@ Action pose
Sexy pose
giving you the finger
Pointing at you
Pointing at self
Pointing down
Pointing up
Crouching down
Vivacious pose
Bending forward
@ -78,4 +82,30 @@ Walking towards camera
Walking away from camera
peace sign pose
-humanexpression- pose
Layback pose
Layback pose
Raised eyebrow
Rolling eyes
Kubrick stare
Finger smile
Beckoning
Stroking own chin
Flirting at the camera
Shading -hisher- eyes
Thumbs up pose
Thumbs down pose
Raising fist pose
Curtsey pose
Victory pose
Making V-sign
Butterfly sitting
Hands resting on head
Twisted torso pose
T-posing
Outstretched hand
Knee up pose
Knees apart pose
-animal- style pose
archer pose
Villain pose
Stretched legs pose
-rpgclass- pose
1 looking up
4 looking away from camera
5 looking to the side
6 Looking over the shoulder
7 Looking away
8 Sitting
9 Standing
10 Jumping
45 Sexy pose
46 giving you the finger
47 Pointing at you
48 Pointing at self
49 Pointing down
50 Pointing up
51 Crouching down
52 Vivacious pose
53 Bending forward
82 Walking away from camera
83 peace sign pose
84 -humanexpression- pose
85 Layback pose
86 Raised eyebrow
87 Rolling eyes
88 Kubrick stare
89 Finger smile
90 Beckoning
91 Stroking own chin
92 Flirting at the camera
93 Shading -hisher- eyes
94 Thumbs up pose
95 Thumbs down pose
96 Raising fist pose
97 Curtsey pose
98 Victory pose
99 Making V-sign
100 Butterfly sitting
101 Hands resting on head
102 Twisted torso pose
103 T-posing
104 Outstretched hand
105 Knee up pose
106 Knees apart pose
107 -animal- style pose
108 archer pose
109 Villain pose
110 Stretched legs pose
111 -rpgclass- pose

View File

@ -1 +1,3 @@
OR(;-heshe- has a;rare) OR(;-descriptor-;normal) OR(;-culture-;uncommon) OR(;-color-;uncommon) -accessory- OR(; , -accessory-; , -descriptor- -accessory-;rare) OR(; and -accessory-;unique)
OR(;-heshe- has a;rare) OR(;-descriptor-;normal) OR(;-culture-;uncommon) OR(;-color-;uncommon) -accessory- OR(; , -accessory-; , -descriptor- -accessory-;rare) OR(; and -accessory-;unique)
OR(;-heshe- has a;rare) OR(;-descriptor-;normal) -accessory-
OR(;-heshe- has a;rare) OR(;-basicbitchdescriptor-;normal) -accessory-
1 OR( OR(;-heshe- has a;rare) OR(;-descriptor-;normal) OR(;-culture-;uncommon) OR(;-color-;uncommon) -accessory- OR(; , -accessory-; , -descriptor- -accessory-;rare) OR(; and -accessory-;unique) -heshe- has a rare) OR( -descriptor- normal) OR( -culture- uncommon) OR( -color- uncommon) -accessory- OR( , -accessory- , -descriptor- -accessory- rare) OR( and -accessory- unique)
2 OR(;-heshe- has a;rare) OR(;-descriptor-;normal) -accessory-
3 OR(;-heshe- has a;rare) OR(;-basicbitchdescriptor-;normal) -accessory-

View File

@ -1 +1,2 @@
OR(;-descriptor-;normal) OR(;-culture-;uncommon) OR(;-color-;uncommon) -accessory- OR(; , -accessory-; , -descriptor- -accessory-;rare) OR(; and -accessory-;unique)
OR(;-heshe- has a;rare) OR(;-descriptor-;normal) -accessory- OR(; , -accessory-; , -descriptor- -accessory-;rare) OR(; and -accessory-;unique)
OR(;-heshe- has a;rare) OR(;-basicbitchdescriptor-;normal) -accessory-
1 OR( OR(;-heshe- has a;rare) OR(;-descriptor-;normal) -accessory- OR(; , -accessory-; , -descriptor- -accessory-;rare) OR(; and -accessory-;unique) -descriptor- normal) OR( -culture- uncommon) OR( -color- uncommon) -accessory- OR( , -accessory- , -descriptor- -accessory- rare) OR( and -accessory- unique)
2 OR(;-heshe- has a;rare) OR(;-basicbitchdescriptor-;normal) -accessory-

View File

@ -2,4 +2,6 @@ combination of OR(-nonfictional-;-fictional-;legendary) OR(;, OR(-nonfictional-;
-facepart- of OR(-nonfictional-;-fictional-;legendary), -facepart- of OR(-nonfictional-;-fictional-;legendary)
OR(;very;legendary) -buildfacepart- OR(; OR(,;and) -buildfacepart-;normal) OR(; and -buildfacepart-;legendary)
OR(;very;legendary) -humandescriptor- -facepart- OR(; and -humandescriptor- -facepart-;uncommon)
-facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon) OR(; and -facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon);uncommon)
-facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon) OR(; and -facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon);uncommon)
-buildfacepart-, -buildfacepart-
-buildfacepart-
1 combination of OR(-nonfictional-;-fictional-;legendary) OR(;, OR(-nonfictional-;-fictional-;legendary);rare) and OR(-nonfictional-;-fictional-;legendary)
2 -facepart- of OR(-nonfictional-;-fictional-;legendary), -facepart- of OR(-nonfictional-;-fictional-;legendary)
3 OR(;very;legendary) -buildfacepart- OR(; OR(,;and) -buildfacepart-;normal) OR(; and -buildfacepart-;legendary)
4 OR(;very;legendary) -humandescriptor- -facepart- OR(; and -humandescriptor- -facepart-;uncommon)
5 -facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon) OR(; and -facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon);uncommon)
6 -buildfacepart-, -buildfacepart-
7 -buildfacepart-

View File

@ -1,2 +1,3 @@
OR(-haircolor-;-hairdescriptor-;-culture-;uncommon) hair OR(styled as -hairstyle-;, ;rare)
OR(-haircolor-; -hairstyle-) OR(hairstyle;hair)
OR(-haircolor-;-hairdescriptor-;-culture-;uncommon) hair
OR(-haircolor-; -hairstyle-) OR(hairstyle;hair)
-hairstyle-
1 OR(-haircolor-;-hairdescriptor-;-culture-;uncommon) hair OR(styled as -hairstyle-;, ;rare) OR(-haircolor-;-hairdescriptor-;-culture-;uncommon) hair
2 OR(-haircolor-; -hairstyle-) OR(hairstyle;hair) OR(-haircolor-; -hairstyle-) OR(hairstyle;hair)
3 -hairstyle-

View File

@ -2,12 +2,12 @@
, OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- OR(;from the OR(-age-;the -agecalculator-);rare)
, OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- OR(; and OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit-;rare)
, OR(-job-;-rpgclass-;-season-;-animal--style) OR(-minioutfit-;-outfit-;rare)
, OR(;-outfitdescriptor-;uncommon) OR(-minioutfit-;-outfit-;rare) OR(;OR(designed;made;inspired;forged) by OR(-brand-;-fashiondesigner-);legendary)
, OR(;-outfitdescriptor-;uncommon) OR(-minioutfit-;-outfit-;rare)
, OR(-material-;-color-;-element-;uncommon) -overrideoutfit-
, OR(;-outfitdescriptor-;-material-;-color-;uncommon) OR(-outfit-;-minioutfit-;rare), OR(-pattern-;-outfitprinttotal-;-material-;rare) -print-,
, OR(;-outfitdescriptor-;normal) -outfit-, OR(-outfitdescriptor-;-color-), OR(-pattern-;-outfitprinttotal-;-material-;uncommon) -print- OR(;-material-;rare)
, -culture- -outfit-, OR(;OR(-outfitdescriptor-;-color-),;normal)
, OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- OR(that was OR(designed;made;inspired;forged) by -brand-;rare)
, OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit-
, OR(;-outfitdescriptor-;normal) OR(-minioutfit-;-outfit-;uncommon), -outfitvomit-
, OR(;-outfitdescriptor-;normal) -outfit-, OR(;OR(is tailored by -fashiondesigner- OR(; and -fashiondesigner-;uncommon);-charactertype- OR(;and -charactertype-;rare));rare)
, OR(;-outfitdescriptor-;normal) -artmovement- fashion style -outfit-

1 , OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- OR(;from the OR(-age-;the -agecalculator-);rare)
2 , OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- OR(;from the OR(-age-;the -agecalculator-);rare)
3 , OR(;-outfitdescriptor-;normal) OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit- OR(; and OR(;-outfitdescriptor-;uncommon) OR(;-color-;uncommon) -outfit-;rare)
4 , OR(-job-;-rpgclass-;-season-;-animal--style) OR(-minioutfit-;-outfit-;rare)
5 , OR(;-outfitdescriptor-;uncommon) OR(-minioutfit-;-outfit-;rare) OR(;OR(designed;made;inspired;forged) by OR(-brand-;-fashiondesigner-);legendary) , OR(;-outfitdescriptor-;uncommon) OR(-minioutfit-;-outfit-;rare)
6 , OR(-material-;-color-;-element-;uncommon) -overrideoutfit-
7 , OR(;-outfitdescriptor-;-material-;-color-;uncommon) OR(-outfit-;-minioutfit-;rare), OR(-pattern-;-outfitprinttotal-;-material-;rare) -print-,
8 , OR(;-outfitdescriptor-;normal) -outfit-, OR(-outfitdescriptor-;-color-), OR(-pattern-;-outfitprinttotal-;-material-;uncommon) -print- OR(;-material-;rare)
9 , -culture- -outfit-, OR(;OR(-outfitdescriptor-;-color-),;normal)
10 , OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit- OR(that was OR(designed;made;inspired;forged) by -brand-;rare) , OR(;-outfitdescriptor-;normal) OR(;-color-;uncommon) OR(;-culture-;uncommon) OR(;-material-;rare) -outfit-
11 , OR(;-outfitdescriptor-;normal) OR(-minioutfit-;-outfit-;uncommon), -outfitvomit-
12 , OR(;-outfitdescriptor-;normal) -outfit-, OR(;OR(is tailored by -fashiondesigner- OR(; and -fashiondesigner-;uncommon);-charactertype- OR(;and -charactertype-;rare));rare)
13 , OR(;-outfitdescriptor-;normal) -artmovement- fashion style -outfit-

View File

@ -54,6 +54,8 @@ dripping -color- and -color-
dripping with -color-
Dufaycolor Photograph
dynamic composition
drop shadow
emphasis lines
Ebru
Elegant
Embossing
@ -65,6 +67,7 @@ expressive brush strokes
fae folkore
fairy tale
Film grain
foreshortening
Floral motifs
Folded -material-
full of -color-

1 -basicbitchdescriptor-
54 dripping with -color-
55 Dufaycolor Photograph
56 dynamic composition
57 drop shadow
58 emphasis lines
59 Ebru
60 Elegant
61 Embossing
67 fae folkore
68 fairy tale
69 Film grain
70 foreshortening
71 Floral motifs
72 Folded -material-
73 full of -color-

View File

@ -112,10 +112,10 @@ if __name__ == "__main__":
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"
,"all" # image type "only other types", "only templates mode", "all - anime", "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"
, False # only artists
,"",""
,"" #prefix prompt
,"" #prefix prompt -- masterpiece, best quality, very aesthetic, absurdres
,"" #suffix prompt
,"",1,""
,"" # subject override
@ -130,7 +130,7 @@ if __name__ == "__main__":
, -1 # seed
, "" #outfit override
, False #prompt_g_and_l
, "SD1.5" #base model
, "Stable Cascade" #base model
, "" #preset "All (random)..."
, "" # superprompter
)

View File

@ -18,14 +18,14 @@ from csv_reader import *
from one_button_presets import OneButtonPresets
OBPresets = OneButtonPresets()
basemodelslist = ["SD1.5", "SDXL", "Stable Cascade"]
basemodelslist = ["SD1.5", "SDXL", "Stable Cascade", "Anime Model"]
#subjects = ["all","object","animal","humanoid", "landscape", "concept"]
subjects =["------ all"]
subjectsubtypesobject = ["all"]
subjectsubtypeshumanoid = ["all"]
subjectsubtypesconcept = ["all"]
artists = ["all", "all (wild)", "none", "popular", "greg mode", "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", "gore", "graffiti", "graphic design", "high contrast", "horror", "impressionism", "installation", "landscape", "light", "line drawing", "low contrast", "luminism", "magical realism", "manga", "melanin", "messy", "monochromatic", "nature", "nudity", "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"]
imagetypes = ["all", "all - force multiple", "none", "photograph", "octane render","digital art","concept art", "painting", "portrait", "anime key visual", "only other types", "only templates mode", "dynamic 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", "the tokinator"]
imagetypes = ["all", "all - force multiple", "all - anime", "none", "photograph", "octane render","digital art","concept art", "painting", "portrait", "anime", "only other types", "only templates mode", "dynamic 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", "the tokinator"]
promptmode = ["at the back", "in the front"]
promptcompounder = ["1", "2", "3", "4", "5"]
ANDtogglemode = ["none", "automatic", "prefix AND prompt + suffix", "prefix + prefix + prompt + suffix"]
@ -563,48 +563,52 @@ class Script(scripts.Script):
1. all --> normally picks a image type as random. Can choose a 'other' more unique type.
2. all - force multiple --> idea by redditor WestWordHoeDown, it forces to choose between 2 and 3 image types
3. all - anime --> Chooses from anime styles, for support of Anime Model mode.
4. none --> Turns off image type generation
3. photograph
5. photograph
4. octane render
6. octane render
5. digital art
7. digital art
6. concept art
8. concept art
7. painting
9. painting
6. portrait
10. portrait
7. anime key visual
11. anime
8. only other types --> Will pick only from the more unique types, such as stained glass window or a funko pop
12. only other types --> Will pick only from the more unique types, such as stained glass window or a funko pop
All modes below are considered a special image type mode.
9. only templates mode --> Will only choose from a set of wildcarded prompt templates. Templates have been gathered from various sources, such as CivitAI, prompthero, promptbook, etc.
13. only templates mode --> Will only choose from a set of wildcarded prompt templates. Templates have been gathered from various sources, such as CivitAI, prompthero, promptbook, etc.
only templates mode is perfect for beginners, who want to see some good results fast.
10. dynamic templates mode --> A method that uses prompts in a more natural language.
14. dynamic templates mode --> A method that uses prompts in a more natural language.
11. art blaster mode --> Special generation mode that focusses on art movements, stylings and artists.
15. art blaster mode --> Special generation mode that focusses on art movements, stylings and artists.
12. quality vomit mode --> Special generation mode that focusses on qualifiers and stylings.
16. quality vomit mode --> Special generation mode that focusses on qualifiers and stylings.
13. color cannon mode --> Special generation mode that focusses on color scheme's and moods.
17. color cannon mode --> Special generation mode that focusses on color scheme's and moods.
14. unique art mode --> Special generation mode that focusses on other image types, art movements, stylings and lighting.
18. unique art mode --> Special generation mode that focusses on other image types, art movements, stylings and lighting.
15. massive madness mode --> Special generation mode, creates prompt soup. Almost pure randomness.
19. massive madness mode --> Special generation mode, creates prompt soup. Almost pure randomness.
16. photo fantasy mode --> Special generation mode that focusses on photographs, cameras, lenses and lighting.
20. photo fantasy mode --> Special generation mode that focusses on photographs, cameras, lenses and lighting.
17. subject only mode --> Will only generate a subject, with no additional frills.
21. subject only mode --> Will only generate a subject, with no additional frills.
18. fixed styles mode --> Generate a subject on top of a fixed style.
22. fixed styles mode --> Generate a subject on top of a fixed style.
19. the tokinator --> Complete random word gibberish mode, use at own risk
23. the tokinator --> Complete random word gibberish mode, use at own risk
### 🎲🖼️ One in X chance to use special image type mode
@ -719,6 +723,8 @@ class Script(scripts.Script):
Stable Cascade --> More natural language and no prompt weights
Anime Model --> Focussed on characters and tags, adds 1girl/1boy automatically.
Flufferizer
A simple and quick implementiation of Fooocus prompt magic

View File

@ -1,4 +1,5 @@
transformers
einops
accelerate
sentencepiece
sentencepiece
safetensors

View File

@ -0,0 +1,90 @@
# Anime Model Mode
Finally, One Button Prompt officially has a mode that supports Anime models. One Button Prompt has been focussed on SD based prompting first, and it kept getting worse in Anime Models. Now, it can do both! With a simple switch, set it up for anime/pony style models.
In A1111, it can be found under Advanced > Base model. Here you can select __Anime Model__
It is adviced to turn __flufferize__ and __Prompt enhancer__ off for use with anime models.
![image](https://github.com/AIrjen/OneButtonPrompt/assets/130234949/6408ebfd-a92d-411e-8569-dd0816f95e5f)
## What does it do
It supports anime model prompting! The main focus is on generating characters and has some build-in logic to support anime type models. When turned on, it does several things:
- It adds way more character based focussed words in the prompt. Creating varied and interesting characters.
- When generating a character, it will automatically add 1girl/1boy to the prompt.
- When generating a animal, it will automatically add anthro 1girl/1boy to the prompt.
- Will default __imagetype__ to 'all - anime' when using 'all'. 'all - anime' was added to support this mode.
- Prompt is more tag based styled
- Turns off several features that are used in other prompt generation modes.
## What it doesn't do
It doesn't add any very explicit or NSFW tags. If you want to add these, take a look at [this page](https://github.com/AIrjen/OneButtonPrompt/blob/anime_model_mode/user_guides/custom_files.md) on how to add your own files or words into One Button Prompt.
You could also add your specific tags in the prefix or suffix prompt.
## How to use it
For use of this, you can create a new preset/settings as followed.
![image](https://github.com/AIrjen/OneButtonPrompt/assets/130234949/9e2ab917-f205-4746-bf67-f31d2aff2306)
Make sure the following is set:
- **Insanitylevel** = between __4-6__ is recommended.
- **Artists** = __'none'__. Artists are all SD based, and will interfere and create bad results. However, some models might work with it. You can try setting it to 'anime' or 'cartoon' as well.
- **Imagetype** = __'all - anime'__. Other options might be 'none' or 'subject only mode'.
- **Subjecttype** = __'human - all'__, but feel free to select 'human - fictional' or any other to your preference. You can also go for animals, at your own risk ;) You know who you are.
- **Gender**, your choice! __'All'__ will do both males and females.
- **Prompt prefix**: The prefix stated on the model page. It in this example I am using AnimagineXL, so the prefix is = __'masterpiece, best quality, very aesthetic, absurdres'__. For Pony based models, it should be something like __'score_9, score_8_up, score_7_up'__. For 1.5 models it is usually something like __'(((masterpiece))) (((high quality)))'__
- **Prompt suffix**: Personal preference tags.
You can play around more with the prompt prefix and suffix if needed.
Other things you can do, is add a overwrite subject and/or outfit yourself. It is possibly to add a subject + Lora in the overwrite subject field.
An example would be:
Overwrite subject: Princess Peach
Overwrite outfit: Jacket
Use your imagination!
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/65d567be-d3bb-401d-b258-6311ed097a39.png" alt="Princess Peach in a jacket" width="40%" height="40%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/339bc932-1be8-44ec-ab61-9ec8ee445296.png" alt="Princess Peach in a jacket" width="40%" height="40%">
> score_9, score_8_up, score_7_up, side-profile of a heavyset 1girl, solo, princess peach, cute, Warlike jacket, Two-Tone hair, at Sunrise, One Color, geometric patterns, attractive
# Try it without installing the extension?
I have a website where you can do prompt generation as well. Try it out [here](https://airjen.pythonanywhere.com/).
# Examples and prompts (various models)
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/a0880fce-a448-417f-9a8f-be9f56213038.png" alt="Orc!" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/2839476f-5a96-4fb3-85d4-6cfefff05950.png" alt="More princess peach on a 1.5 model" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/7d71f1a3-9ffd-4828-ba41-bec8adc8ff4a.png" alt="Cutie" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/0005e54d-e0c5-404a-b8cb-3b92bf5a7ea3.png" alt="Not so cutie" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/ab7bb864-38ae-478b-b540-5386bd8f569c.png" alt="Semi realism" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/b679c5f6-e99e-4226-b9fd-210121b90044.png" alt="Those hands!" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/878d013e-b125-46a2-b1f0-b02fa431c270.png" alt="Pixel art style" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/701a3ac6-152e-4fa5-a632-1c2f11505b22.png" alt="Yes it can also do husbandos" width="25%" height="25%">
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/cfc86f6e-b17b-4001-a90d-78e79be44f55.png" alt="Varied example" width="25%" height="25%">
> masterpiece, best quality, very aesthetic, absurdres, upper body shot of a 1girl, solo, Female Orc, looking up, Taper, Thunderstorm, Oversaturated
> ((best quality)) , ((masterpiece)) , (detailed) , buff 1girl, solo, princess peach, white dress, Plaid trimmings, perched on a cloud, Honey hair, Fine art, Hopeless, hyper detailed, Rembrandt lighting, lots of details, moody
> masterpiece, best quality, very aesthetic, absurdres, shot from side of a flawless buxom 1girl, solo, Major, Ginger hair, Flustered, One Color, womanly, magnificent
> masterpiece, best quality, very aesthetic, absurdres, wide shot of a buff 1girl, solo, Minion dark yellow skin, Fur and Leather, Nihongami, Indirect light, Agfacolor, absurdres, 4K, monochromatic
> masterpiece, best quality, very aesthetic, absurdres, (1girl, solo, Lily James:1.2) , good-looking, Frolicking in a Lalbagh Botanical Garden, spring armor, Bouffant, Sunny, back-light, Low Contrast, realistic and detailed, intricate details
> score_9, score_8_up, score_7_up, pretty Scottish 1girl, solo, Spider-Gwen, costume, Kung fu pose, Braided half-up half-down, flower in hair, Sharp and in focus, Masterpiece, Lonely, Saturated
> masterpiece, best quality, very aesthetic, absurdres, dramatic pixel art, shot from side of a wearing Fleece pullover, overweight (1girl, solo:1.3) , Tiny, feeling relaxed, beautiful mouth, Defined lips, Two-Tone hair, Magic Realism, Primitivism, soft lighting, Fujifilm Superia, kawaii
> masterpiece, best quality, very aesthetic, absurdres, POV shot of a 1boy, solo, Temol, Surfer clothing, Looking over the shoulder, Dark hair, Movie still, Depressing, spotlit, Cinestill
> score_9, score_8_up, score_7_up, over the shoulder shot of a Nonchalant (1girl, solo, Museum curator:1.2) , Dreadlocks, curly hair, mountains, ultrafine detailed, Happy, elegant, Moonlit, Pastel Colors, Swirling Sisal

View File

@ -26,9 +26,24 @@ It needs at least the following pieces installed:
- einops
- accelerate
- sentencepiece
- safetensors
It will download the model on first use, it will download into: __\OneButtonPrompt\superprompter\model_files__
### Error on pickled file?
**If you get a __Error verifying pickled file__ issue**: Try and see if it downloaded the model.bin or model.safetensors file in the __\OneButtonPrompt\superprompter\model_files__ directory.
If you have the model.bin file, then remove the model_files directory.
Execute 'pip install safetensors'
Try again.
If that doesn't work, download the safetensors model directly from [this location on hugginface](https://huggingface.co/roborovski/superprompt-v1/tree/main), and place it in the model_files directly instead of the model.bin file.
## How to turn it on in A1111/SD.Next
Under Advanced, go to the setting __Prompt enhancer__, set this to __superprompt-v1__:
![image](https://github.com/AIrjen/OneButtonPrompt/assets/130234949/514ef569-d471-44d6-8fc9-b2a6043f8301)