preparing nodes and A1111 stuff

This commit is contained in:
AIrjen
2024-04-01 17:26:30 +02:00
parent 9302073a67
commit c52bf52569
8 changed files with 132 additions and 56 deletions
+3 -1
View File
@@ -2,4 +2,6 @@
*.pyc
userfiles/antilist.csv
userfiles/config.csv
userfiles/*.json
userfiles/*.json
superprompter/model_files
superprompter/model_files/*.*
+55 -5
View File
@@ -25,6 +25,7 @@ genders = ["all", "male", "female"]
emojis = [False, True]
models = ["SD1.5", "SDXL", "Stable Cascade"]
prompt_enhancers = ["none", "superprompter"]
subjects =["all"]
subjectsubtypesobject = ["all"]
subjectsubtypeshumanoid = ["all"]
@@ -39,6 +40,9 @@ fluff_reverse_polarity = [False,True]
artifymodeslist = ["standard", "remix", "super remix turbo"]
artifyamountofartistslist = ["random", "0", "1", "2", "3", "4", "5"]
superprompterstyleslist = ['all']
superprompterstyleslist += csv_to_list("superprompter_styles")
# Load up stuff for personal artists list, if any
# find all artist files starting with personal_artits in userfiles
@@ -238,6 +242,7 @@ class OneButtonPrompt:
"subject_subtypes_concepts": (subjectsubtypesconcept, {"default": "all"}),
"emojis":(emojis, {"default": False}),
"base_model":(models, {"default": "SDXL"}),
"prompt_enhancer":(prompt_enhancers, {"default": "none"}),
"seed": ("INT", {"default": 0, "min": 0, "max": 0xFFFFFFFFFFFFFFFF}),
},
@@ -252,8 +257,8 @@ class OneButtonPrompt:
CATEGORY = "OneButtonPrompt"
def Comfy_OBP(self, insanitylevel, custom_subject, seed, artist, imagetype, subject, imagemodechance, humanoids_gender, subject_subtype_objects, subject_subtypes_humanoids, subject_subtypes_concepts, emojis, custom_outfit, base_model):
generatedpromptlist = build_dynamic_prompt(insanitylevel,subject,artist,imagetype,False,"","","",1,"",custom_subject,True,"",imagemodechance, humanoids_gender, subject_subtype_objects, subject_subtypes_humanoids, subject_subtypes_concepts, False, emojis, seed, custom_outfit, True, base_model)
def Comfy_OBP(self, insanitylevel, custom_subject, seed, artist, imagetype, subject, imagemodechance, humanoids_gender, subject_subtype_objects, subject_subtypes_humanoids, subject_subtypes_concepts, emojis, custom_outfit, base_model, prompt_enhancer):
generatedpromptlist = build_dynamic_prompt(insanitylevel,subject,artist,imagetype,False,"","","",1,"",custom_subject,True,"",imagemodechance, humanoids_gender, subject_subtype_objects, subject_subtypes_humanoids, subject_subtypes_concepts, False, emojis, seed, custom_outfit, True, base_model, "", prompt_enhancer)
#print(generatedprompt)
generatedprompt = generatedpromptlist[0]
prompt_g = generatedpromptlist[1]
@@ -461,7 +466,8 @@ class OneButtonPreset:
"OneButtonPreset": (allpresets, {"default": "Standard"}),
},
"optional": {
"base_model":(models, {"default": "SDXL"}),
"base_model":(models, {"default": "SDXL"}),
"prompt_enhancer":(prompt_enhancers, {"default": "none"}),
"seed": ("INT", {"default": 0, "min": 0, "max": 0xFFFFFFFFFFFFFFFF}),
},
}
@@ -476,7 +482,7 @@ class OneButtonPreset:
CATEGORY = "OneButtonPrompt"
def Comfy_OBP_OneButtonPreset(self, OneButtonPreset, seed, base_model):
def Comfy_OBP_OneButtonPreset(self, OneButtonPreset, seed, base_model, prompt_enhancer):
# load the stuff
if(OneButtonPreset == OBPresets.RANDOM_PRESET_OBP):
selected_opb_preset = OBPresets.get_obp_preset("Standard")
@@ -521,6 +527,7 @@ class OneButtonPreset:
seed=seed,
base_model=base_model,
OBP_preset=OneButtonPreset,
prompt_enhancer=prompt_enhancer,
)
@@ -651,6 +658,47 @@ class OneButtonFlufferize:
return (fluffed_prompt,)
class OneButtonSuperPrompt:
def __init__(self):
pass
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"prompt": ("STRING", {"default": '', "multiline": True}),
"insanitylevel": ("INT", {
"default": 5,
"min": 1, #Minimum value
"max": 10, #Maximum value
"step": 1 #Slider's step
}),
"superpromptstyle": (superprompterstyleslist, {"default": "all"}),
},
"optional": {
"seed": ("INT", {"default": 0, "min": 0, "max": 0xFFFFFFFFFFFFFFFF}),
},
}
RETURN_TYPES = ("STRING",)
RETURN_NAMES = ("super_prompt",)
FUNCTION = "Comfy_OBP_SuperPrompt"
#OUTPUT_NODE = False
CATEGORY = "OneButtonPrompt"
def Comfy_OBP_SuperPrompt(self, insanitylevel, prompt, superpromptstyle, seed):
# artify here
OBPsuperprompt = one_button_superprompt(insanitylevel=insanitylevel, prompt=prompt, seed=seed, superpromptstyle=superpromptstyle)
print("Super prompt: " + OBPsuperprompt)
return (OBPsuperprompt,)
# A dictionary that contains all nodes you want to export with their names
# NOTE: names should be globally unique
@@ -662,6 +710,7 @@ NODE_CLASS_MAPPINGS = {
"SavePromptToFile": SavePromptToFile,
"AutoNegativePrompt": AutoNegativePrompt,
"OneButtonFlufferize": OneButtonFlufferize,
"OneButtonSuperPrompt": OneButtonSuperPrompt,
}
@@ -674,4 +723,5 @@ NODE_DISPLAY_NAME_MAPPINGS = {
"SavePromptToFile": "Save Prompt To File",
"AutoNegativePrompt": "Auto Negative Prompt",
"OneButtonFlufferize": "One Button Flufferize",
}
"OneButtonSuperPrompt": "One Button SuperPrompt",
}
+48 -35
View File
@@ -13,12 +13,16 @@ OBPresets = OneButtonPresets()
# insanity level controls randomness of propmt 0-10
# forcesubject van be used to force a certain type of subject
# 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 = "", superprompter = False):
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"):
remove_weights = False
less_verbose = False
add_vomit = True
add_quality = True
superprompter = False
if(prompt_enhancer == "superprompter"):
superprompter = True
if(superprompter==True):
base_model = "Stable Cascade"
@@ -4707,7 +4711,7 @@ def split_prompt_to_words(text):
return totallist
def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_subject = "" , override_outfit = "", chosensubject ="", gender = "", restofprompt = ""):
def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_subject = "" , override_outfit = "", chosensubject ="", gender = "", restofprompt = "", superpromptstyle = ""):
if(seed <= 0):
seed = random.randint(1,1000000)
@@ -4718,15 +4722,19 @@ def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_s
superprompterstyleslist = csv_to_list("superprompter_styles")
descriptorlist = csv_to_list("descriptors")
usestyle = False
if(superpromptstyle != "" or superpromptstyle != "all"):
usestyle = True
restofprompt = restofprompt.lower()
question = ""
temperature_lookup = {
1: 0.001,
2: 0.01,
3: 0.1,
4: 0.3,
5: 0.5,
1: 0.01,
2: 0.1,
3: 0.3,
4: 0.5,
5: 0.6,
6: 0.7,
7: 1.0,
8: 2.5,
@@ -4735,11 +4743,11 @@ def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_s
}
max_new_tokens_lookup = {
1: 25,
2: 30,
3: 35,
4: 40,
5: 50,
1: 45,
2: 45,
3: 50,
4: 55,
5: 60,
6: 70,
7: 90,
8: 100,
@@ -4749,10 +4757,10 @@ def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_s
top_p_lookup = {
1: 0.1,
2: 0.5,
3: 1.0,
4: 1.25,
5: 1.5,
2: 1.0,
3: 1.3,
4: 1.5,
5: 1.6,
6: 1.75,
7: 2.0,
8: 4.0,
@@ -4810,24 +4818,26 @@ def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_s
if chosensubject not in ("humanoid","firstname","job","fictional","non fictional","human"):
gender = ""
if(superpromptstyle == "" or superpromptstyle == "all"):
if "fantasy" in restofprompt or "d&d" in restofprompt or "dungeons and dragons" in restofprompt or "dungeons and dragons" in restofprompt:
superpromptstyle = random.choice(["fantasy style","d&d style"])
elif "sci-fi" in restofprompt or "scifi" in restofprompt or "science fiction" in restofprompt:
superpromptstyle = random.choice(["sci-fi style","futuristic"])
elif "cyberpunk" in restofprompt:
superpromptstyle = "cyberpunk"
elif "horror" in restofprompt:
superpromptstyle = "horror themed"
elif "evil" in restofprompt:
superpromptstyle = "evil"
elif "cinestill" in restofprompt or "movie still" in restofprompt or "cinematic" in restofprompt or "epic" in restofprompt:
superpromptstyle = random.choice(["cinematic","epic"])
elif "fashion" in restofprompt:
superpromptstyle = random.choice(["elegant","glamourous"])
elif "cute" in restofprompt or "adorable" in restofprompt or "kawaii" in restofprompt:
superpromptstyle = random.choice(["cute","adorable", "kawaii"])
if "fantasy" in restofprompt or "d&d" in restofprompt or "dungeons and dragons" in restofprompt or "dungeons and dragons" in restofprompt:
superpromptstyle = random.choice(["fantasy style","d&d style"])
elif "sci-fi" in restofprompt or "scifi" in restofprompt or "science fiction" in restofprompt:
superpromptstyle = random.choice(["sci-fi style","futuristic"])
elif "cyberpunk" in restofprompt:
superpromptstyle = "cyberpunk"
elif "horror" in restofprompt:
superpromptstyle = "horror themed"
elif "evil" in restofprompt:
superpromptstyle = "evil"
elif "fashion" in restofprompt:
superpromptstyle = random.choice(["elegant","glamourous"])
elif "cute" in restofprompt or "adorable" in restofprompt or "kawaii" in restofprompt:
superpromptstyle = random.choice(["cute","adorable", "kawaii"])
else:
superpromptstyle = random.choice(superprompterstyleslist)
else:
superpromptstyle = random.choice(superprompterstyleslist)
if(words_to_check):
question += "Make sure the subject is used: " + ', '.join(words_to_check) + " \n"
@@ -4845,13 +4855,16 @@ def one_button_superprompt(insanitylevel = 5, prompt = "", seed = -1, override_s
imagetype = "pixel art"
elif "game" in restofprompt:
imagetype = "video game artwork"
usestyle = False
if imagetype != "" and normal_dist(insanitylevel):
if imagetype != "" and (normal_dist(insanitylevel) or usestyle == True):
question += "Expand the following " + gender + " " + subject_to_generate + " prompt to describe " + superpromptstyle + " " + imagetype + ": "
elif imagetype != "":
question += "Expand the following " + gender + " " + subject_to_generate + " prompt to describe " + imagetype + ": "
elif(normal_dist(insanitylevel)):
elif(normal_dist(insanitylevel) or usestyle == True):
question += "Expand the following " + gender + " " + subject_to_generate + " prompt to make it more " + superpromptstyle
else:
question += "Expand the following " + gender + " " + subject_to_generate + " prompt to add more detail: "
+2 -2
View File
@@ -13,7 +13,7 @@ from call_extras import *
from model_lists import *
def generateimages(amount = 1, size = "all",model = "currently selected model",samplingsteps = "40",cfg= "7",hiresfix = True,hiressteps ="0",denoisestrength="0.6",samplingmethod="DPM++ SDE Karras", upscaler="R-ESRGAN 4x+", hiresscale="2",apiurl="http://127.0.0.1:7860",qualitygate=False,quality="7.6",runs="5",insanitylevel="5",subject="all", artist="all", imagetype="all",silentmode=False, workprompt="", antistring="",prefixprompt="", suffixprompt="", negativeprompt="",promptcompounderlevel = "1", seperator="comma", img2imgbatch = "1", img2imgsamplingsteps = "20", img2imgcfg = "7", img2imgsamplingmethod = "DPM++ SDE Karras", img2imgupscaler = "R-ESRGAN 4x+", img2imgmodel = "currently selected model", img2imgactivate = False, img2imgscale = "2", img2imgpadding = "64",img2imgdenoisestrength="0.3",ultimatesdupscale=False,usdutilewidth = "512", usdutileheight = "0", usdumaskblur = "8", usduredraw ="Linear", usduSeamsfix = "None", usdusdenoise = "0.35", usduswidth = "64", usduspadding ="32", usdusmaskblur = "8",controlnetenabled=False, controlnetmodel="",img2imgdenoisestrengthmod="-0.05",enableextraupscale = False,controlnetblockymode = False,extrasupscaler1 = "all",extrasupscaler2 ="all",extrasupscaler2visiblity="0.5",extrasupscaler2gfpgan="0",extrasupscaler2codeformer="0.15",extrasupscaler2codeformerweight="0.1",extrasresize="2",onlyupscale="false",givensubject="",smartsubject=True,giventypeofimage="",imagemodechance=20, gender="all", chosensubjectsubtypeobject="all", chosensubjectsubtypehumanoid="all", chosensubjectsubtypeconcept="all", increasestability = False, qualityhiresfix = False, qualitymode = "highest", qualitykeep="keep used", basesize = "512", promptvariantinsanitylevel = 0, givenoutfit = "", autonegativeprompt = True, autonegativepromptstrength = 0, autonegativepromptenhance = False, base_model = "SD1.5", OBP_preset = "", amountoffluff = "none"):
def generateimages(amount = 1, size = "all",model = "currently selected model",samplingsteps = "40",cfg= "7",hiresfix = True,hiressteps ="0",denoisestrength="0.6",samplingmethod="DPM++ SDE Karras", upscaler="R-ESRGAN 4x+", hiresscale="2",apiurl="http://127.0.0.1:7860",qualitygate=False,quality="7.6",runs="5",insanitylevel="5",subject="all", artist="all", imagetype="all",silentmode=False, workprompt="", antistring="",prefixprompt="", suffixprompt="", negativeprompt="",promptcompounderlevel = "1", seperator="comma", img2imgbatch = "1", img2imgsamplingsteps = "20", img2imgcfg = "7", img2imgsamplingmethod = "DPM++ SDE Karras", img2imgupscaler = "R-ESRGAN 4x+", img2imgmodel = "currently selected model", img2imgactivate = False, img2imgscale = "2", img2imgpadding = "64",img2imgdenoisestrength="0.3",ultimatesdupscale=False,usdutilewidth = "512", usdutileheight = "0", usdumaskblur = "8", usduredraw ="Linear", usduSeamsfix = "None", usdusdenoise = "0.35", usduswidth = "64", usduspadding ="32", usdusmaskblur = "8",controlnetenabled=False, controlnetmodel="",img2imgdenoisestrengthmod="-0.05",enableextraupscale = False,controlnetblockymode = False,extrasupscaler1 = "all",extrasupscaler2 ="all",extrasupscaler2visiblity="0.5",extrasupscaler2gfpgan="0",extrasupscaler2codeformer="0.15",extrasupscaler2codeformerweight="0.1",extrasresize="2",onlyupscale="false",givensubject="",smartsubject=True,giventypeofimage="",imagemodechance=20, gender="all", chosensubjectsubtypeobject="all", chosensubjectsubtypehumanoid="all", chosensubjectsubtypeconcept="all", increasestability = False, qualityhiresfix = False, qualitymode = "highest", qualitykeep="keep used", basesize = "512", promptvariantinsanitylevel = 0, givenoutfit = "", autonegativeprompt = True, autonegativepromptstrength = 0, autonegativepromptenhance = False, base_model = "SD1.5", OBP_preset = "", amountoffluff = "none", promptenhancer = "none"):
loops = int(amount) # amount of images to generate
steps = 0
upscalefilelist=[]
@@ -136,7 +136,7 @@ def generateimages(amount = 1, size = "all",model = "currently selected model",s
else:
randompromptlist = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, False,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance, gender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,True,False,-1,givenoutfit, prompt_g_and_l=True, base_model=base_model, OBP_preset=OBP_preset)
randompromptlist = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, False,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance, gender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,True,False,-1,givenoutfit, prompt_g_and_l=True, base_model=base_model, OBP_preset=OBP_preset, prompt_enhancer=promptenhancer)
randomprompt = randompromptlist[0]
randomsubject = randompromptlist[1]
+4 -4
View File
@@ -11,7 +11,7 @@ from build_dynamic_prompt import *
def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", imagetype="all",onlyartists=False, workprompt="", antistring="",prefixprompt="", suffixprompt="", negativeprompt="",promptcompounderlevel = "1", seperator="comma",givensubject="",smartsubject=True,giventypeofimage="",imagemodechance=20, gender = "all", subtypeobject = "all", subtypehumanoid = "all", subtypeconcept = "all", advancedprompting = True, hardturnoffemojis=False, seed=0, overrideoutfit="", prompt_g_and_l = False, base_model = "SD1.5", OBP_preset = "", superprompter=False):
def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", imagetype="all",onlyartists=False, workprompt="", antistring="",prefixprompt="", suffixprompt="", negativeprompt="",promptcompounderlevel = "1", seperator="comma",givensubject="",smartsubject=True,giventypeofimage="",imagemodechance=20, gender = "all", subtypeobject = "all", subtypehumanoid = "all", subtypeconcept = "all", advancedprompting = True, hardturnoffemojis=False, seed=0, overrideoutfit="", prompt_g_and_l = False, base_model = "SD1.5", OBP_preset = "", prompt_enhancer="none"):
loops = int(amount) # amount of images to generate
steps = 0
@@ -19,7 +19,7 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im
while steps < loops:
# build prompt
if(prompt_g_and_l == True):
resultlist = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, onlyartists,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance, gender, subtypeobject, subtypehumanoid, subtypeconcept, advancedprompting, hardturnoffemojis, seed, overrideoutfit, prompt_g_and_l, base_model, OBP_preset)
resultlist = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, onlyartists,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance, gender, subtypeobject, subtypehumanoid, subtypeconcept, advancedprompting, hardturnoffemojis, seed, overrideoutfit, prompt_g_and_l, base_model, OBP_preset, prompt_enhancer)
result = resultlist[0]
print("prompt_g")
print(resultlist[1])
@@ -27,7 +27,7 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im
print(resultlist[2])
else:
result = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, onlyartists,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance, gender, subtypeobject, subtypehumanoid, subtypeconcept, advancedprompting, hardturnoffemojis, seed, overrideoutfit, prompt_g_and_l, base_model, OBP_preset, superprompter)
result = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, onlyartists,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance, gender, subtypeobject, subtypehumanoid, subtypeconcept, advancedprompting, hardturnoffemojis, seed, overrideoutfit, prompt_g_and_l, base_model, OBP_preset, prompt_enhancer)
#if(superprompter):
# load_models()
@@ -130,5 +130,5 @@ if __name__ == "__main__":
, False #prompt_g_and_l
, "SDXL" #base model
, "" #preset "All (random)..."
, True # superprompter
, "superprompter" # superprompter
)
+16 -7
View File
@@ -32,6 +32,8 @@ ANDtogglemode = ["none", "automatic", "prefix AND prompt + suffix", "prefix + pr
seperatorlist = ["comma", "AND", "BREAK"]
genders = ["all", "male", "female"]
prompt_enhancers = ["none", "superprompter"]
qualitymodelist = ["highest", "gated"]
qualitykeeplist = ["keep used","keep all"]
@@ -236,12 +238,12 @@ class Script(scripts.Script):
def ui(self, is_img2img):
def gen_prompt(insanitylevel, subject, artist, imagetype, antistring, prefixprompt, suffixprompt, promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage, imagemodechance,chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,givenoutfit, base_model, OBP_preset, amountoffluff):
def gen_prompt(insanitylevel, subject, artist, imagetype, antistring, prefixprompt, suffixprompt, promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage, imagemodechance,chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,givenoutfit, base_model, OBP_preset, amountoffluff, promptenhancer):
promptlist = []
for i in range(5):
base_prompt = build_dynamic_prompt(insanitylevel,subject,artist, imagetype, False, antistring,prefixprompt,suffixprompt,promptcompounderlevel,seperator,givensubject,smartsubject, giventypeofimage, imagemodechance,chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,True,False,-1,givenoutfit,False,base_model, OBP_preset)
base_prompt = build_dynamic_prompt(insanitylevel,subject,artist, imagetype, False, antistring,prefixprompt,suffixprompt,promptcompounderlevel,seperator,givensubject,smartsubject, giventypeofimage, imagemodechance,chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,True,False,-1,givenoutfit,False,base_model, OBP_preset, promptenhancer)
fluffed_prompt = flufferizer(prompt=base_prompt, amountoffluff=amountoffluff)
promptlist.append(fluffed_prompt)
@@ -651,6 +653,10 @@ class Script(scripts.Script):
⭐ Flufferizer
A simple and quick implementiation of Fooocus prompt magic
🤓 Prompt enhancer
Choose for "superprompter" to super prompt the prompts
</font>
"""
@@ -661,6 +667,9 @@ class Script(scripts.Script):
with gr.Row(variant="compact"):
amountoffluff = gr.Dropdown(
amountofflufflist, label="⭐ Flufferizer", value="dynamic")
with gr.Row(variant="compact"):
promptenhancer = gr.Dropdown(
prompt_enhancers, label="🤓 Prompt enhancer", value="none")
with gr.Row(variant="compact"):
with gr.Column(variant="compact"):
promptcompounderlevel = gr.Dropdown(
@@ -922,7 +931,7 @@ class Script(scripts.Script):
extrasupscaler2codeformerweight = gr.Slider(0, 1, value="0.1", step=0.05, label="CodeFormer weight", visible = False)
genprom.click(gen_prompt, inputs=[insanitylevel,subject, artist, imagetype, antistring,prefixprompt, suffixprompt,promptcompounderlevel, seperator, givensubject,smartsubject,giventypeofimage,imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, givenoutfit, base_model, OBP_preset, amountoffluff], outputs=[prompt1, prompt2, prompt3,prompt4,prompt5])
genprom.click(gen_prompt, inputs=[insanitylevel,subject, artist, imagetype, antistring,prefixprompt, suffixprompt,promptcompounderlevel, seperator, givensubject,smartsubject,giventypeofimage,imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, givenoutfit, base_model, OBP_preset, amountoffluff, promptenhancer], outputs=[prompt1, prompt2, prompt3,prompt4,prompt5])
prompt1toworkflow.click(prompttoworkflowprompt, inputs=prompt1, outputs=workprompt)
prompt2toworkflow.click(prompttoworkflowprompt, inputs=prompt2, outputs=workprompt)
@@ -930,7 +939,7 @@ class Script(scripts.Script):
prompt4toworkflow.click(prompttoworkflowprompt, inputs=prompt4, outputs=workprompt)
prompt5toworkflow.click(prompttoworkflowprompt, inputs=prompt5, outputs=workprompt)
startmain.click(generateimages, inputs=[amountofimages,size,model,samplingsteps,cfg,hiresfix,hiressteps,denoisestrength,samplingmethod, upscaler,hiresscale, apiurl, qualitygate, quality, runs,insanitylevel,subject, artist, imagetype, silentmode, workprompt, antistring, prefixprompt, suffixprompt,negativeprompt,promptcompounderlevel, seperator, img2imgbatch, img2imgsamplingsteps, img2imgcfg, img2imgsamplingmethod, img2imgupscaler, img2imgmodel,img2imgactivate, img2imgscale, img2imgpadding,img2imgdenoisestrength,ultimatesdupscale,usdutilewidth, usdutileheight, usdumaskblur, usduredraw, usduSeamsfix, usdusdenoise, usduswidth, usduspadding, usdusmaskblur, controlnetenabled, controlnetmodel,img2imgdenoisestrengthmod,enableextraupscale,controlnetblockymode,extrasupscaler1,extrasupscaler2,extrasupscaler2visiblity,extrasupscaler2gfpgan,extrasupscaler2codeformer,extrasupscaler2codeformerweight,extrasresize,onlyupscale,givensubject,smartsubject,giventypeofimage,imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, increasestability, qualityhiresfix, qualitymode, qualitykeep, basesize, promptvariantinsanitylevel, givenoutfit, autonegativeprompt, autonegativepromptstrength, autonegativepromptenhance, base_model, OBP_preset, amountoffluff])
startmain.click(generateimages, inputs=[amountofimages,size,model,samplingsteps,cfg,hiresfix,hiressteps,denoisestrength,samplingmethod, upscaler,hiresscale, apiurl, qualitygate, quality, runs,insanitylevel,subject, artist, imagetype, silentmode, workprompt, antistring, prefixprompt, suffixprompt,negativeprompt,promptcompounderlevel, seperator, img2imgbatch, img2imgsamplingsteps, img2imgcfg, img2imgsamplingmethod, img2imgupscaler, img2imgmodel,img2imgactivate, img2imgscale, img2imgpadding,img2imgdenoisestrength,ultimatesdupscale,usdutilewidth, usdutileheight, usdumaskblur, usduredraw, usduSeamsfix, usdusdenoise, usduswidth, usduspadding, usdusmaskblur, controlnetenabled, controlnetmodel,img2imgdenoisestrengthmod,enableextraupscale,controlnetblockymode,extrasupscaler1,extrasupscaler2,extrasupscaler2visiblity,extrasupscaler2gfpgan,extrasupscaler2codeformer,extrasupscaler2codeformerweight,extrasresize,onlyupscale,givensubject,smartsubject,giventypeofimage,imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, increasestability, qualityhiresfix, qualitymode, qualitykeep, basesize, promptvariantinsanitylevel, givenoutfit, autonegativeprompt, autonegativepromptstrength, autonegativepromptenhance, base_model, OBP_preset, amountoffluff, promptenhancer])
interrupt.click(tryinterrupt, inputs=[apiurl])
automatedoutputsfolderbutton.click(openfolder)
@@ -1236,12 +1245,12 @@ class Script(scripts.Script):
return [insanitylevel,subject, artist, imagetype, prefixprompt,suffixprompt,negativeprompt, promptcompounderlevel, ANDtoggle, silentmode, workprompt, antistring, seperator, givensubject, smartsubject, giventypeofimage, imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, promptvariantinsanitylevel, givenoutfit, autonegativeprompt, autonegativepromptstrength, autonegativepromptenhance, base_model, OBP_preset, amountoffluff]
return [insanitylevel,subject, artist, imagetype, prefixprompt,suffixprompt,negativeprompt, promptcompounderlevel, ANDtoggle, silentmode, workprompt, antistring, seperator, givensubject, smartsubject, giventypeofimage, imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, promptvariantinsanitylevel, givenoutfit, autonegativeprompt, autonegativepromptstrength, autonegativepromptenhance, base_model, OBP_preset, amountoffluff, promptenhancer]
def run(self, p, insanitylevel, subject, artist, imagetype, prefixprompt,suffixprompt,negativeprompt, promptcompounderlevel, ANDtoggle, silentmode, workprompt, antistring,seperator, givensubject, smartsubject, giventypeofimage, imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, promptvariantinsanitylevel, givenoutfit, autonegativeprompt, autonegativepromptstrength, autonegativepromptenhance, base_model, OBP_preset, amountoffluff):
def run(self, p, insanitylevel, subject, artist, imagetype, prefixprompt,suffixprompt,negativeprompt, promptcompounderlevel, ANDtoggle, silentmode, workprompt, antistring,seperator, givensubject, smartsubject, giventypeofimage, imagemodechance, chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept, promptvariantinsanitylevel, givenoutfit, autonegativeprompt, autonegativepromptstrength, autonegativepromptenhance, base_model, OBP_preset, amountoffluff, promptenhancer):
images = []
infotexts = []
@@ -1315,7 +1324,7 @@ class Script(scripts.Script):
#Here is where we build a "normal" prompt
base_prompt = build_dynamic_prompt(insanitylevel,subject,artist, imagetype, False, antistring, prefixprompt, suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance,chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,True,False,-1,givenoutfit, False, base_model, OBP_preset)
base_prompt = build_dynamic_prompt(insanitylevel,subject,artist, imagetype, False, antistring, prefixprompt, suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage,imagemodechance,chosengender, chosensubjectsubtypeobject, chosensubjectsubtypehumanoid, chosensubjectsubtypeconcept,True,False,-1,givenoutfit, False, base_model, OBP_preset, promptenhancer)
fluffed_prompt = flufferizer(prompt=base_prompt, amountoffluff=amountoffluff)
preppedprompt += fluffed_prompt
+2 -1
View File
@@ -6,7 +6,8 @@ def download_models():
model_name = "roborovski/superprompt-v1"
tokenizer = T5Tokenizer.from_pretrained(model_name)
model = T5ForConditionalGeneration.from_pretrained(model_name, torch_dtype=torch.float16)
modelDir = os.path.expanduser("~") + "/.superprompter/model_files"
script_dir = os.path.dirname(os.path.abspath(__file__)) # Script directory
modelDir = os.path.join(script_dir, "./model_files/" )
os.makedirs(modelDir, exist_ok=True)
tokenizer.save_pretrained(modelDir)
model.save_pretrained(modelDir)
+2 -1
View File
@@ -6,7 +6,8 @@ from transformers import T5Tokenizer, T5ForConditionalGeneration
from superprompter.download_models import download_models
global tokenizer, model
modelDir = os.path.expanduser("~") + "/.superprompter/model_files"
script_dir = os.path.dirname(os.path.abspath(__file__)) # Script directory
modelDir = os.path.join(script_dir, "./model_files/" )
def load_models():