commit
356a1b537a
|
|
@ -435,17 +435,72 @@ class SavePromptToFile:
|
|||
|
||||
return ("done")
|
||||
|
||||
class AutoNegativePrompt:
|
||||
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
|
||||
return {
|
||||
"required": {
|
||||
"postive_prompt": ("STRING", {"default": '', "multiline": True}),
|
||||
},
|
||||
"optional": {
|
||||
"base_negative": ("STRING", {
|
||||
"multiline": True, #True if you want the field to look like the one on the ClipTextEncode node
|
||||
"default": "text, watermark"
|
||||
}),
|
||||
"enhancenegative": ("INT", {
|
||||
"default": 0,
|
||||
"min": 0, #Minimum value
|
||||
"max": 1, #Maximum value
|
||||
"step": 1, #Slider's step
|
||||
}),
|
||||
"insanitylevel": ("INT", {
|
||||
"default": 0,
|
||||
"min": 0, #Minimum value
|
||||
"max": 10, #Maximum value
|
||||
"step": 1 #Slider's step
|
||||
}),
|
||||
|
||||
"seed": ("INT", {"default": 0, "min": 0, "max": 0xFFFFFFFFFFFFFFFF}),
|
||||
},
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("STRING",)
|
||||
RETURN_NAMES = ("negative_prompt",)
|
||||
|
||||
FUNCTION = "Comfy_OBP_AutoNegativePrompt"
|
||||
|
||||
#OUTPUT_NODE = False
|
||||
|
||||
CATEGORY = "OneButtonPrompt"
|
||||
|
||||
def Comfy_OBP_AutoNegativePrompt(self, postive_prompt, insanitylevel, enhancenegative,base_negative, seed):
|
||||
generatedprompt = build_dynamic_negative(postive_prompt, insanitylevel, enhancenegative, base_negative)
|
||||
|
||||
print("Generated negative prompt: " + generatedprompt)
|
||||
|
||||
return (generatedprompt,)
|
||||
|
||||
|
||||
|
||||
# A dictionary that contains all nodes you want to export with their names
|
||||
# NOTE: names should be globally unique
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"OneButtonPrompt": OneButtonPrompt,
|
||||
"CreatePromptVariant": CreatePromptVariant,
|
||||
"SavePromptToFile": SavePromptToFile
|
||||
"SavePromptToFile": SavePromptToFile,
|
||||
"AutoNegativePrompt": AutoNegativePrompt,
|
||||
}
|
||||
|
||||
# A dictionary that contains the friendly/humanly readable titles for the nodes
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"OneButtonPrompt": "One Button Prompt",
|
||||
"CreatePromptVariant": "Create Prompt Variant",
|
||||
"SavePromptToFile": "Save Prompt To File"
|
||||
"SavePromptToFile": "Save Prompt To File",
|
||||
"AutoNegativePrompt": "Auto Negative Prompt",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,6 +179,8 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
"OR(;, -heshe- is;uncommon) -miniactivity- OR(in;at) a OR(-location-;-building-;-waterlocation-)"]
|
||||
humanactivitylist = humanactivitylist + humanactivitycheatinglist
|
||||
# build artists list
|
||||
if artists == "wild":
|
||||
artists = "all (wild)"
|
||||
|
||||
# we want to create more cohorence, so we are adding all (wild) mode for the old logic
|
||||
|
||||
|
|
@ -219,7 +221,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
|
||||
artistlist = []
|
||||
# create artist list to use in the code, maybe based on category or personal lists
|
||||
if(artists != "all (wild)" and artists != "all" and artists != "none" and artists.startswith("personal_artists") == False and artists.startswith("personal artists") == False):
|
||||
if(artists != "all (wild)" and artists != "all" and artists != "none" and artists.startswith("personal_artists") == False and artists.startswith("personal artists") == False and artists in artisttypes):
|
||||
artistlist = artist_category_csv_to_list("artists_and_category",artists)
|
||||
elif(artists.startswith("personal_artists") == True or artists.startswith("personal artists") == True):
|
||||
artists = artists.replace(" ","_",-1) # add underscores back in
|
||||
|
|
@ -835,38 +837,17 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
|
||||
|
||||
# Smart subject logic
|
||||
givensubjectlist = []
|
||||
|
||||
if(givensubject != "" and smartsubject == True):
|
||||
givensubject = givensubject.lower()
|
||||
|
||||
# Remove any list that has a matching word in the list
|
||||
# Remove any list/logic with keywords, such as:
|
||||
# wearing, bodytype, pose, location, hair, background
|
||||
|
||||
# first get all the words
|
||||
|
||||
# Split the string by commas and spaces
|
||||
words = re.split(r'[,\s]+', givensubject)
|
||||
# Remove leading/trailing whitespaces from each word
|
||||
words = [word.strip() for word in words]
|
||||
|
||||
# Filter out empty words
|
||||
words = [word for word in words if word]
|
||||
|
||||
# Convert the list to a set to remove duplicates, then convert it back to a list
|
||||
givensubjectlistsinglewords = list(set(words))
|
||||
|
||||
# now get all words clumped together by commas
|
||||
if ',' in givensubject:
|
||||
allwords = givensubject.split(',')
|
||||
else:
|
||||
allwords = [givensubject]
|
||||
# Remove leading/trailing whitespaces from each word and convert to lowercase
|
||||
words = [word.strip().lower() for word in allwords]
|
||||
|
||||
# Filter out empty words and duplicates
|
||||
givensubjectlistwords = list(set(filter(None, words)))
|
||||
|
||||
givensubjectlist = givensubjectlistsinglewords + givensubjectlistwords
|
||||
|
||||
# use function to split up the words
|
||||
givensubjectlist = split_prompt_to_words(givensubject)
|
||||
|
||||
# Check only for the lists that make sense?
|
||||
|
||||
|
|
@ -879,14 +860,14 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
|
||||
# bodytype
|
||||
foundinlist = any(word.lower() in [item.lower() for item in bodytypelist] for word in givensubjectlist)
|
||||
keywordslist = ["bodytype","body type"]
|
||||
keywordslist = ["bodytype","body type","model"]
|
||||
keywordsinstring = any(word.lower() in givensubject.lower() for word in keywordslist)
|
||||
if(foundinlist == True or keywordsinstring == True):
|
||||
generatebodytype = False
|
||||
|
||||
# hair
|
||||
foundinlist = any(word.lower() in [item.lower() for item in hairstylelist] for word in givensubjectlist)
|
||||
keywordslist = ["hair"]
|
||||
keywordslist = ["hair","hairstyle"]
|
||||
keywordsinstring = any(word.lower() in givensubject.lower() for word in keywordslist)
|
||||
if(foundinlist == True or keywordsinstring == True):
|
||||
generatehairstyle = False
|
||||
|
|
@ -900,7 +881,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
# background
|
||||
foundinlist = any(word.lower() in [item.lower() for item in locationlist] for word in givensubjectlist)
|
||||
foundinlist2 = any(word.lower() in [item.lower() for item in buildinglist] for word in givensubjectlist)
|
||||
keywordslist = ["location","background", "inside"]
|
||||
keywordslist = ["location","background", "inside", "at the", "in a"]
|
||||
keywordsinstring = any(word.lower() in givensubject.lower() for word in keywordslist)
|
||||
if(foundinlist == True or foundinlist2 == True or keywordsinstring == True):
|
||||
generatebackground = False
|
||||
|
|
@ -988,7 +969,11 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
generatecolorscheme = False
|
||||
|
||||
|
||||
|
||||
# given subject subject override :p
|
||||
subjectingivensubject = False
|
||||
if("subject" in list(map(str.lower, givensubjectlist)) and smartsubject == True):
|
||||
givensubjectpromptlist = givensubject.split("subject")
|
||||
subjectingivensubject = True
|
||||
|
||||
completeprompt = ""
|
||||
|
||||
|
|
@ -1043,8 +1028,11 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
# if there is a subject override, then replace the subject with that
|
||||
if(givensubject==""):
|
||||
completeprompt += chosentemplate.replace("-subject-",templatesubjects[templateindex] )
|
||||
else:
|
||||
elif(givensubject != "" and subjectingivensubject == False):
|
||||
completeprompt += chosentemplate.replace("-subject-",givensubject )
|
||||
elif(givensubject != "" and subjectingivensubject == True):
|
||||
completeprompt += chosentemplate.replace("-subject-", givensubjectpromptlist[0] + " " + templatesubjects[templateindex] + " " + givensubjectpromptlist[1])
|
||||
|
||||
|
||||
|
||||
# custom prefix list
|
||||
|
|
@ -1127,9 +1115,9 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
# lower values even more stable
|
||||
# Upper values are still quite random
|
||||
humanoidsubjectchooserlistbackup = humanoidsubjectchooserlist.copy() # make a backup of the list
|
||||
if(random.randint(0,9) > max(2,insanitylevel -2) and "manwomanrelation" in humanoidsubjectchooserlist):
|
||||
if(random.randint(0,20) > max(2,insanitylevel -2) and "manwomanrelation" in humanoidsubjectchooserlist):
|
||||
humanoidsubjectchooserlist.remove("manwomanrelation")
|
||||
if(random.randint(0,5) > max(2,insanitylevel -2) and "manwomanmultiple" in humanoidsubjectchooserlist):
|
||||
if(random.randint(0,30) > max(2,insanitylevel -2) and "manwomanmultiple" in humanoidsubjectchooserlist):
|
||||
humanoidsubjectchooserlist.remove("manwomanmultiple")
|
||||
if(random.randint(0,7) > max(2,insanitylevel -2) and "firstname" in humanoidsubjectchooserlist):
|
||||
humanoidsubjectchooserlist.remove("firstname")
|
||||
|
|
@ -1620,6 +1608,11 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
|
||||
if(generatesubject == True):
|
||||
# start with descriptive qualities
|
||||
|
||||
|
||||
|
||||
if(subjectingivensubject):
|
||||
completeprompt += " " + givensubjectpromptlist[0] + " "
|
||||
|
||||
# Once in a very rare while, we get a ... full of ...s
|
||||
if(novel_dist(insanitylevel) and subjectchooser in ["animal", "animal as human,","human", "job", "fictional", "non fictional", "humanoid", "manwomanrelation","firstname"]):
|
||||
|
|
@ -1688,7 +1681,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
objectwildcardlist = ["-flora-"]
|
||||
|
||||
# if we have a given subject, we should skip making an actual subject
|
||||
if(givensubject == ""):
|
||||
# unless we have "subject" in the given subject
|
||||
|
||||
|
||||
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
|
||||
|
||||
if(rare_dist(insanitylevel) and advancedprompting == True):
|
||||
hybridorswaplist = ["hybrid", "swap"]
|
||||
|
|
@ -1723,7 +1719,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
completeprompt += " -objectstrengthstart-"
|
||||
|
||||
# if we have a given subject, we should skip making an actual subject
|
||||
if(givensubject == ""):
|
||||
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
|
||||
|
||||
if(rare_dist(insanitylevel) and advancedprompting == True):
|
||||
hybridorswaplist = ["hybrid", "swap"]
|
||||
|
|
@ -1769,7 +1765,7 @@ 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(givensubject==""):
|
||||
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
|
||||
|
||||
if(subjectchooser == "human"):
|
||||
completeprompt += "-manwoman-"
|
||||
|
|
@ -1880,7 +1876,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
completeprompt += " -objectstrengthstart-"
|
||||
|
||||
# if we have a given subject, we should skip making an actual subject
|
||||
if(givensubject == ""):
|
||||
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
|
||||
if(rare_dist(insanitylevel) and advancedprompting == True):
|
||||
hybridorswaplist = ["hybrid", "swap"]
|
||||
hybridorswap = random.choice(hybridorswaplist)
|
||||
|
|
@ -1926,44 +1922,46 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
|
||||
if(mainchooser == "concept"):
|
||||
# first add a wildcard that can be used to create prompt strenght
|
||||
completeprompt += " -objectstrengthstart-"
|
||||
if(givensubject == ""):
|
||||
completeprompt += " -objectstrengthstart- "
|
||||
if(givensubject == "" or (subjectingivensubject and givensubject != "")):
|
||||
if(subjectchooser == "event"):
|
||||
completeprompt += " \"" + random.choice(eventlist) + "\" "
|
||||
completeprompt += " \"" + random.choice(eventlist) + "\" "
|
||||
|
||||
if(subjectchooser == "concept"):
|
||||
completeprompt += " \" The -conceptprefix- of -conceptsuffix- \" "
|
||||
completeprompt += " \"The -conceptprefix- of -conceptsuffix-\" "
|
||||
|
||||
if(subjectchooser == "poemline"):
|
||||
completeprompt += " \" -poemline- \" "
|
||||
completeprompt += " \"-poemline-\" "
|
||||
|
||||
if(subjectchooser == "songline"):
|
||||
completeprompt += " \" -songline- \" "
|
||||
completeprompt += " \"-songline-\" "
|
||||
|
||||
if(subjectchooser == "cardname"):
|
||||
completeprompt += " \" -cardname- \" "
|
||||
if(subjectchooser == "cardname"):
|
||||
completeprompt += " \"-cardname-\" "
|
||||
|
||||
if(subjectchooser == "episodetitle"):
|
||||
completeprompt += " \" -episodetitle- \" "
|
||||
completeprompt += " \"-episodetitle-\" "
|
||||
|
||||
|
||||
# making subject override work with X and Y concepts, much fun!
|
||||
elif(givensubject != "" and subjectchooser == "concept"):
|
||||
elif(givensubject != "" and subjectchooser == "concept" and subjectingivensubject == False):
|
||||
if(random.randint(0,3) == 0):
|
||||
completeprompt += " \" The -conceptprefix- of " + givensubject + " \" "
|
||||
completeprompt += " \"The -conceptprefix- of " + givensubject + "\" "
|
||||
else:
|
||||
completeprompt += " \" The " + givensubject + " of -conceptsuffix- \" "
|
||||
completeprompt += " \"The " + givensubject + " of -conceptsuffix-\" "
|
||||
else:
|
||||
completeprompt += " " + givensubject + " "
|
||||
|
||||
# completion of strenght end
|
||||
completeprompt += "-objectstrengthend-"
|
||||
completeprompt += " -objectstrengthend-"
|
||||
|
||||
if(subjectingivensubject):
|
||||
completeprompt += " " + givensubjectpromptlist[1] + " "
|
||||
|
||||
if(genjoboractivity and genjoboractivitylocation=="middle"):
|
||||
joboractivitylist = [joblist,humanactivitylist]
|
||||
completeprompt += random.choice(random.choice(joboractivitylist)) + ", "
|
||||
|
||||
|
||||
if(descriptorsintheback == 2):
|
||||
# Common to have 1 description, uncommon to have 2
|
||||
if(chance_roll(insanitylevel, subjectdescriptor1chance) and generatedescriptors == True):
|
||||
|
|
@ -2576,7 +2574,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
|
||||
# Sometimes change he/she to the actual subject
|
||||
# Doesnt work if someone puts in a manual subject
|
||||
if(mainchooser == "humanoid" and givensubject == "" and subjectchooser != "manwomanmultiple"):
|
||||
if(mainchooser == "humanoid" and (givensubject == "" or subjectingivensubject and givensubject != "") and subjectchooser != "manwomanmultiple"):
|
||||
samehumanreplacementlist = ["-heshe-","-heshe-","-heshe-","-heshe-","-heshe-", "-samehumansubject-", "-samehumansubject-", "-samehumansubject-", "-samehumansubject-", "-samehumansubject-"]
|
||||
random.shuffle(samehumanreplacementlist)
|
||||
|
||||
|
|
@ -2593,7 +2591,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
completeprompt = "".join(completeprompt_list)
|
||||
|
||||
# Sometimes change he/she to the actual subject
|
||||
if(mainchooser in ["animal", "object"] and givensubject == ""):
|
||||
if(mainchooser in ["animal", "object"] and (givensubject == "" or subjectingivensubject and givensubject != "")):
|
||||
sameobjectreplacementlist = ["-heshe-","-heshe-","-heshe-","-heshe-","-heshe-", "-sameothersubject-", "-sameothersubject-", "-sameothersubject-", "-sameothersubject-", "-sameothersubject-"]
|
||||
random.shuffle(sameobjectreplacementlist)
|
||||
# Convert completeprompt to a list to allow character-wise manipulation
|
||||
|
|
@ -2643,9 +2641,11 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
|||
completeprompt = completeprompt.replace("-minioutfit-", overrideoutfit,1)
|
||||
completeprompt = completeprompt.replace("-overrideoutfit-", overrideoutfit)
|
||||
|
||||
if(givensubject != ""):
|
||||
if(givensubject != "" and subjectingivensubject == False):
|
||||
completeprompt = completeprompt.replace("-samehumansubject-", givensubject)
|
||||
completeprompt = completeprompt.replace("-sameothersubject-", givensubject)
|
||||
|
||||
|
||||
|
||||
# If we don't have an override outfit, then remove this part
|
||||
completeprompt = completeprompt.replace("-overrideoutfit-", "")
|
||||
|
|
@ -3030,6 +3030,8 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender
|
|||
outfitprinttotallist = objecttotallist + locationlist + colorlist + musicgenrelist + seasonlist + animallist + patternlist
|
||||
|
||||
# build artists list
|
||||
if artists == "wild":
|
||||
artists = "all (wild)"
|
||||
artistlist = []
|
||||
# create artist list to use in the code, maybe based on category or personal lists
|
||||
if(artists != "all" and artists != "none" and artists.startswith("personal_artists") == False and artists.startswith("personal artists") == False):
|
||||
|
|
@ -3684,6 +3686,89 @@ def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehy
|
|||
|
||||
return completeprompt
|
||||
|
||||
def build_dynamic_negative(positive_prompt = "", insanitylevel = 0, enhance = False, existing_negative_prompt = ""):
|
||||
|
||||
|
||||
negative_primer = []
|
||||
negative_result = []
|
||||
all_negative_words_list = []
|
||||
|
||||
# negavite_primer, all words that should trigger a negative result
|
||||
# the negative words to put in the negative prompt
|
||||
negative_primer, negative_result = load_negative_list()
|
||||
|
||||
# do a trick for artists, replace with their tags instead
|
||||
artistlist, categorylist = load_all_artist_and_category()
|
||||
# lower them
|
||||
artist_names = [artist.strip().lower() for artist in artistlist]
|
||||
|
||||
# note, should we find a trick for some shorthands of artists??
|
||||
|
||||
for artist_name, category in zip(artist_names, categorylist):
|
||||
positive_prompt = positive_prompt.lower().replace(artist_name, category)
|
||||
|
||||
|
||||
allwords = split_prompt_to_words(positive_prompt)
|
||||
|
||||
|
||||
#lower all!
|
||||
|
||||
for word in allwords:
|
||||
if(word.lower() in negative_primer):
|
||||
index_of_word = negative_primer.index(word.lower())
|
||||
all_negative_words_list.append(negative_result[index_of_word])
|
||||
|
||||
all_negative_words = ", ".join(all_negative_words_list)
|
||||
all_negative_words_list = all_negative_words.split(",")
|
||||
all_negative_words_list = [elem.strip().lower() for elem in all_negative_words_list]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if enhance == True:
|
||||
enhancelist = ["worst quality", "low quality", "normal quality", "lowres", "low details", "oversaturated", "undersaturated", "overexposed", "underexposed", "grayscale", "bw", "bad photo", "bad photography", "bad art", "watermark", "signature", "text font", "username", "error", "logo", "words", "letters", "digits", "autograph", "trademark", "name", "blur", "blurry", "grainy", "ugly", "asymmetrical", "poorly lit", "bad shadow", "draft", "cropped", "out of frame", "cut off", "censored", "jpeg artifacts", "out of focus", "glitch", "duplicate"]
|
||||
all_negative_words_list += enhancelist
|
||||
|
||||
|
||||
# new lets remove some based on the reverse insanitylevel
|
||||
removalchance = int((insanitylevel) * 10)
|
||||
|
||||
for i in range(len(all_negative_words_list)):
|
||||
if(random.randint(1, 100)<removalchance):
|
||||
all_negative_words_list.pop(random.randint(0, len(all_negative_words_list)-1))
|
||||
|
||||
# remove anything that is in the prompt itself, so no conflict of words!
|
||||
|
||||
all_negative_words_list = [word for word in all_negative_words_list if word not in allwords]
|
||||
|
||||
# Now compound it, and use the (word:1.3) type syntax:
|
||||
# Use a dictionary to count occurrences
|
||||
word_count = {}
|
||||
for word in all_negative_words_list:
|
||||
if word in word_count:
|
||||
word_count[word] += 1
|
||||
else:
|
||||
word_count[word] = 1
|
||||
|
||||
# Convert the list to unique values or (word:count) format
|
||||
unique_words = []
|
||||
for word, count in word_count.items():
|
||||
if(count > 2):
|
||||
#counttotal = int(count/2)
|
||||
counttotal = count
|
||||
if(counttotal > 3):
|
||||
counttotal = 3
|
||||
unique_words.append(f"({word}:1.{counttotal})")
|
||||
else:
|
||||
unique_words.append(word)
|
||||
|
||||
negative_result = ", ".join(unique_words)
|
||||
|
||||
negative_result += ", " + existing_negative_prompt
|
||||
|
||||
return negative_result
|
||||
|
||||
def replace_match(match):
|
||||
# Extract the first word from the match
|
||||
words = match.group(0)[1:-1].split('|')
|
||||
|
|
@ -3726,8 +3811,8 @@ def cleanup(completeprompt, advancedprompting, insanitylevel = 5):
|
|||
completeprompt = re.sub('\[,', '[', completeprompt)
|
||||
completeprompt = re.sub(' \]', ']', completeprompt)
|
||||
completeprompt = re.sub(' \|', '|', completeprompt)
|
||||
completeprompt = re.sub(' \"', '\"', completeprompt)
|
||||
completeprompt = re.sub('\" ', '\"', completeprompt)
|
||||
#completeprompt = re.sub(' \"', '\"', completeprompt)
|
||||
#completeprompt = re.sub('\" ', '\"', completeprompt)
|
||||
completeprompt = re.sub('\( ', '(', completeprompt)
|
||||
completeprompt = re.sub(' \(', '(', completeprompt)
|
||||
completeprompt = re.sub('\) ', ')', completeprompt)
|
||||
|
|
@ -3883,3 +3968,37 @@ def parse_custom_functions(completeprompt, insanitylevel = 5):
|
|||
|
||||
|
||||
return completeprompt
|
||||
|
||||
def split_prompt_to_words(text):
|
||||
# first get all the words
|
||||
|
||||
# Use a regular expression to replace non-alphabetic characters with spaces
|
||||
text = re.sub(r'[^a-zA-Z,-]', ' ', text)
|
||||
|
||||
# Split the string by commas and spaces
|
||||
words = re.split(r'[,\s]+', text)
|
||||
# Remove leading/trailing whitespaces from each word
|
||||
words = [word.strip() for word in words]
|
||||
|
||||
# Filter out empty words
|
||||
words = [word for word in words if word]
|
||||
|
||||
# Convert the list to a set to remove duplicates, then convert it back to a list
|
||||
listsinglewords = list(set(words))
|
||||
|
||||
# now get all words clumped together by commas
|
||||
if ',' in text:
|
||||
allwords = text.split(',')
|
||||
else:
|
||||
allwords = [text]
|
||||
# Remove leading/trailing whitespaces from each word and convert to lowercase
|
||||
words = [word.strip().lower() for word in allwords]
|
||||
|
||||
# Filter out empty words and duplicates
|
||||
listwords = list(set(filter(None, words)))
|
||||
|
||||
totallist = listsinglewords + listwords
|
||||
|
||||
totallist = list(set(filter(None, totallist)))
|
||||
|
||||
return totallist
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"last_node_id": 220,
|
||||
"last_link_id": 323,
|
||||
"last_node_id": 223,
|
||||
"last_link_id": 333,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 160,
|
||||
|
|
@ -24,15 +24,7 @@
|
|||
237
|
||||
],
|
||||
"widget": {
|
||||
"name": "cfg",
|
||||
"config": [
|
||||
"FLOAT",
|
||||
{
|
||||
"default": 8,
|
||||
"min": 0,
|
||||
"max": 100
|
||||
}
|
||||
]
|
||||
"name": "cfg"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
@ -105,15 +97,7 @@
|
|||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "steps",
|
||||
"config": [
|
||||
"INT",
|
||||
{
|
||||
"default": 20,
|
||||
"min": 1,
|
||||
"max": 10000
|
||||
}
|
||||
]
|
||||
"name": "steps"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
@ -148,15 +132,7 @@
|
|||
235
|
||||
],
|
||||
"widget": {
|
||||
"name": "noise_seed",
|
||||
"config": [
|
||||
"INT",
|
||||
{
|
||||
"default": 0,
|
||||
"min": 0,
|
||||
"max": 18446744073709552000
|
||||
}
|
||||
]
|
||||
"name": "noise_seed"
|
||||
},
|
||||
"slot_index": 0
|
||||
}
|
||||
|
|
@ -164,7 +140,7 @@
|
|||
"title": "Seed",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
1111747466290750,
|
||||
604260618514801,
|
||||
"randomize"
|
||||
],
|
||||
"color": "#432",
|
||||
|
|
@ -195,32 +171,18 @@
|
|||
{
|
||||
"name": "text_g",
|
||||
"type": "STRING",
|
||||
"link": 305,
|
||||
"link": 325,
|
||||
"widget": {
|
||||
"name": "text_g",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true,
|
||||
"default": "CLIP_G"
|
||||
}
|
||||
]
|
||||
"name": "text_g"
|
||||
},
|
||||
"slot_index": 1
|
||||
},
|
||||
{
|
||||
"name": "text_l",
|
||||
"type": "STRING",
|
||||
"link": 306,
|
||||
"link": 326,
|
||||
"widget": {
|
||||
"name": "text_l",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true,
|
||||
"default": "CLIP_L"
|
||||
}
|
||||
]
|
||||
"name": "text_l"
|
||||
},
|
||||
"slot_index": 2
|
||||
}
|
||||
|
|
@ -263,7 +225,7 @@
|
|||
"1": 316.8831481933594
|
||||
},
|
||||
"flags": {},
|
||||
"order": 15,
|
||||
"order": 17,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
|
|
@ -291,15 +253,7 @@
|
|||
"type": "INT",
|
||||
"link": 225,
|
||||
"widget": {
|
||||
"name": "steps",
|
||||
"config": [
|
||||
"INT",
|
||||
{
|
||||
"default": 20,
|
||||
"min": 1,
|
||||
"max": 10000
|
||||
}
|
||||
]
|
||||
"name": "steps"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -307,15 +261,7 @@
|
|||
"type": "INT",
|
||||
"link": 228,
|
||||
"widget": {
|
||||
"name": "end_at_step",
|
||||
"config": [
|
||||
"INT",
|
||||
{
|
||||
"default": 10000,
|
||||
"min": 0,
|
||||
"max": 10000
|
||||
}
|
||||
]
|
||||
"name": "end_at_step"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -323,15 +269,7 @@
|
|||
"type": "INT",
|
||||
"link": 235,
|
||||
"widget": {
|
||||
"name": "noise_seed",
|
||||
"config": [
|
||||
"INT",
|
||||
{
|
||||
"default": 0,
|
||||
"min": 0,
|
||||
"max": 18446744073709552000
|
||||
}
|
||||
]
|
||||
"name": "noise_seed"
|
||||
},
|
||||
"slot_index": 6
|
||||
},
|
||||
|
|
@ -340,15 +278,7 @@
|
|||
"type": "FLOAT",
|
||||
"link": 237,
|
||||
"widget": {
|
||||
"name": "cfg",
|
||||
"config": [
|
||||
"FLOAT",
|
||||
{
|
||||
"default": 8,
|
||||
"min": 0,
|
||||
"max": 100
|
||||
}
|
||||
]
|
||||
"name": "cfg"
|
||||
},
|
||||
"slot_index": 7
|
||||
}
|
||||
|
|
@ -406,15 +336,7 @@
|
|||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "end_at_step",
|
||||
"config": [
|
||||
"INT",
|
||||
{
|
||||
"default": 10000,
|
||||
"min": 0,
|
||||
"max": 10000
|
||||
}
|
||||
]
|
||||
"name": "end_at_step"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
@ -439,7 +361,7 @@
|
|||
26
|
||||
],
|
||||
"flags": {},
|
||||
"order": 16,
|
||||
"order": 18,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
|
|
@ -475,7 +397,7 @@
|
|||
"1": 102.28533172607422
|
||||
},
|
||||
"flags": {},
|
||||
"order": 17,
|
||||
"order": 19,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
|
|
@ -512,12 +434,12 @@
|
|||
393,
|
||||
148
|
||||
],
|
||||
"size": [
|
||||
565.774658203125,
|
||||
596.3757934570312
|
||||
],
|
||||
"size": {
|
||||
"0": 565.774658203125,
|
||||
"1": 596.3757934570312
|
||||
},
|
||||
"flags": {},
|
||||
"order": 18,
|
||||
"order": 20,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
|
|
@ -530,13 +452,7 @@
|
|||
"type": "STRING",
|
||||
"link": 323,
|
||||
"widget": {
|
||||
"name": "filename_prefix",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"default": "ComfyUI"
|
||||
}
|
||||
]
|
||||
"name": "filename_prefix"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
@ -554,40 +470,28 @@
|
|||
-83,
|
||||
-88
|
||||
],
|
||||
"size": [
|
||||
210,
|
||||
84.49069064331059
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 166
|
||||
},
|
||||
"flags": {},
|
||||
"order": 14,
|
||||
"order": 15,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "positive_prompt",
|
||||
"type": "STRING",
|
||||
"link": 320,
|
||||
"link": 324,
|
||||
"widget": {
|
||||
"name": "positive_prompt",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true
|
||||
}
|
||||
]
|
||||
"name": "positive_prompt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "negative_prompt",
|
||||
"type": "STRING",
|
||||
"link": 321,
|
||||
"link": 330,
|
||||
"widget": {
|
||||
"name": "negative_prompt",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true
|
||||
}
|
||||
]
|
||||
"name": "negative_prompt"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -595,13 +499,7 @@
|
|||
"type": "STRING",
|
||||
"link": 322,
|
||||
"widget": {
|
||||
"name": "filename_prefix",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"default": "Prompt"
|
||||
}
|
||||
]
|
||||
"name": "filename_prefix"
|
||||
},
|
||||
"slot_index": 2
|
||||
}
|
||||
|
|
@ -612,7 +510,9 @@
|
|||
"widgets_values": [
|
||||
"%date:yyyy-M-d%/ComfyUI",
|
||||
"",
|
||||
"text, watermark\n"
|
||||
"text, watermark\n",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"color": "#2a363b",
|
||||
"bgcolor": "#3f5159"
|
||||
|
|
@ -690,13 +590,7 @@
|
|||
323
|
||||
],
|
||||
"widget": {
|
||||
"name": "filename_prefix",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"default": "Prompt"
|
||||
}
|
||||
]
|
||||
"name": "filename_prefix"
|
||||
},
|
||||
"slot_index": 0
|
||||
}
|
||||
|
|
@ -709,115 +603,6 @@
|
|||
"color": "#2a363b",
|
||||
"bgcolor": "#3f5159"
|
||||
},
|
||||
{
|
||||
"id": 213,
|
||||
"type": "OneButtonPrompt",
|
||||
"pos": [
|
||||
-746,
|
||||
-306
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 322
|
||||
},
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "custom_subject",
|
||||
"type": "STRING",
|
||||
"link": 311,
|
||||
"widget": {
|
||||
"name": "custom_subject",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": false,
|
||||
"default": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "prompt",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
305,
|
||||
306,
|
||||
320
|
||||
],
|
||||
"shape": 3,
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "OneButtonPrompt"
|
||||
},
|
||||
"widgets_values": [
|
||||
5,
|
||||
"all",
|
||||
"all",
|
||||
20,
|
||||
"all",
|
||||
"",
|
||||
"all",
|
||||
"all",
|
||||
"all",
|
||||
"all",
|
||||
false,
|
||||
727091149492509,
|
||||
"randomize"
|
||||
],
|
||||
"color": "#2a363b",
|
||||
"bgcolor": "#3f5159"
|
||||
},
|
||||
{
|
||||
"id": 215,
|
||||
"type": "PrimitiveNode",
|
||||
"pos": [
|
||||
-1027,
|
||||
-303
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 58
|
||||
},
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
311
|
||||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "custom_subject",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": false,
|
||||
"default": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Overwrite Subject",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
""
|
||||
],
|
||||
"color": "#232",
|
||||
"bgcolor": "#353"
|
||||
},
|
||||
{
|
||||
"id": 200,
|
||||
"type": "Note",
|
||||
|
|
@ -830,7 +615,7 @@
|
|||
"1": 210
|
||||
},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"order": 7,
|
||||
"mode": 0,
|
||||
"title": "Note - Empty Latent Image",
|
||||
"properties": {
|
||||
|
|
@ -842,73 +627,6 @@
|
|||
"color": "#323",
|
||||
"bgcolor": "#535"
|
||||
},
|
||||
{
|
||||
"id": 220,
|
||||
"type": "Note",
|
||||
"pos": [
|
||||
-1021,
|
||||
-420
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 58
|
||||
},
|
||||
"flags": {},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"text": ""
|
||||
},
|
||||
"widgets_values": [
|
||||
"Made by blitzk241\nThank you!"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"type": "PrimitiveNode",
|
||||
"pos": [
|
||||
-1259,
|
||||
-176
|
||||
],
|
||||
"size": {
|
||||
"0": 434.15277099609375,
|
||||
"1": 152.36099243164062
|
||||
},
|
||||
"flags": {},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
139,
|
||||
308,
|
||||
321
|
||||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "text_g",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true,
|
||||
"default": "CLIP_G"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Negative Prompt",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"text, watermark\n"
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"type": "CLIPTextEncodeSDXL",
|
||||
|
|
@ -923,7 +641,7 @@
|
|||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 12,
|
||||
"order": 16,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
|
|
@ -934,31 +652,17 @@
|
|||
{
|
||||
"name": "text_g",
|
||||
"type": "STRING",
|
||||
"link": 139,
|
||||
"link": 331,
|
||||
"widget": {
|
||||
"name": "text_g",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true,
|
||||
"default": "CLIP_G"
|
||||
}
|
||||
]
|
||||
"name": "text_g"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "text_l",
|
||||
"type": "STRING",
|
||||
"link": 308,
|
||||
"link": 332,
|
||||
"widget": {
|
||||
"name": "text_l",
|
||||
"config": [
|
||||
"STRING",
|
||||
{
|
||||
"multiline": true,
|
||||
"default": "CLIP_L"
|
||||
}
|
||||
]
|
||||
"name": "text_l"
|
||||
},
|
||||
"slot_index": 2
|
||||
}
|
||||
|
|
@ -988,17 +692,280 @@
|
|||
"text, watermark\n",
|
||||
"text, watermark\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 220,
|
||||
"type": "Note",
|
||||
"pos": [
|
||||
-1027,
|
||||
-640
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 58
|
||||
},
|
||||
"flags": {},
|
||||
"order": 8,
|
||||
"mode": 0,
|
||||
"properties": {
|
||||
"text": ""
|
||||
},
|
||||
"widgets_values": [
|
||||
"Made by blitzk241\nThank you!"
|
||||
],
|
||||
"color": "#432",
|
||||
"bgcolor": "#653"
|
||||
},
|
||||
{
|
||||
"id": 215,
|
||||
"type": "PrimitiveNode",
|
||||
"pos": [
|
||||
-1025,
|
||||
-539
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 58
|
||||
},
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 9,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
327
|
||||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "custom_subject"
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Overwrite Subject",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
""
|
||||
],
|
||||
"color": "#232",
|
||||
"bgcolor": "#353"
|
||||
},
|
||||
{
|
||||
"id": 222,
|
||||
"type": "PrimitiveNode",
|
||||
"pos": [
|
||||
-1032,
|
||||
-433
|
||||
],
|
||||
"size": {
|
||||
"0": 210,
|
||||
"1": 58
|
||||
},
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 10,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
328
|
||||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "custom_outfit"
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Overwrite Outfit",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
""
|
||||
],
|
||||
"color": "#232",
|
||||
"bgcolor": "#353"
|
||||
},
|
||||
{
|
||||
"id": 223,
|
||||
"type": "AutoNegativePrompt",
|
||||
"pos": [
|
||||
-633,
|
||||
-113
|
||||
],
|
||||
"size": [
|
||||
327,
|
||||
170.40017700195312
|
||||
],
|
||||
"flags": {},
|
||||
"order": 14,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "postive_prompt",
|
||||
"type": "STRING",
|
||||
"link": 333,
|
||||
"widget": {
|
||||
"name": "postive_prompt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "base_negative",
|
||||
"type": "STRING",
|
||||
"link": 329,
|
||||
"widget": {
|
||||
"name": "base_negative"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "negative_prompt",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
330,
|
||||
331,
|
||||
332
|
||||
],
|
||||
"shape": 3,
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "AutoNegativePrompt"
|
||||
},
|
||||
"widgets_values": [
|
||||
"",
|
||||
"text, watermark\n",
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
"randomize"
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
},
|
||||
{
|
||||
"id": 221,
|
||||
"type": "OneButtonPrompt",
|
||||
"pos": [
|
||||
-630,
|
||||
-538
|
||||
],
|
||||
"size": {
|
||||
"0": 315,
|
||||
"1": 370
|
||||
},
|
||||
"flags": {},
|
||||
"order": 12,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "custom_subject",
|
||||
"type": "STRING",
|
||||
"link": 327,
|
||||
"widget": {
|
||||
"name": "custom_subject"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "custom_outfit",
|
||||
"type": "STRING",
|
||||
"link": 328,
|
||||
"widget": {
|
||||
"name": "custom_outfit"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "prompt",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
324,
|
||||
325,
|
||||
326,
|
||||
333
|
||||
],
|
||||
"shape": 3,
|
||||
"slot_index": 0
|
||||
},
|
||||
{
|
||||
"name": "prompt_g",
|
||||
"type": "STRING",
|
||||
"links": null,
|
||||
"shape": 3
|
||||
},
|
||||
{
|
||||
"name": "prompt_l",
|
||||
"type": "STRING",
|
||||
"links": null,
|
||||
"shape": 3
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "OneButtonPrompt"
|
||||
},
|
||||
"widgets_values": [
|
||||
5,
|
||||
"all",
|
||||
"all",
|
||||
20,
|
||||
"all",
|
||||
"",
|
||||
"",
|
||||
"all",
|
||||
"all",
|
||||
"all",
|
||||
"all",
|
||||
false,
|
||||
0,
|
||||
"randomize"
|
||||
],
|
||||
"color": "#2a363b",
|
||||
"bgcolor": "#3f5159"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"type": "PrimitiveNode",
|
||||
"pos": [
|
||||
-1242,
|
||||
-95
|
||||
],
|
||||
"size": {
|
||||
"0": 434.15277099609375,
|
||||
"1": 152.36099243164062
|
||||
},
|
||||
"flags": {},
|
||||
"order": 11,
|
||||
"mode": 0,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
329
|
||||
],
|
||||
"slot_index": 0,
|
||||
"widget": {
|
||||
"name": "text_g"
|
||||
}
|
||||
}
|
||||
],
|
||||
"title": "Negative Prompt",
|
||||
"properties": {},
|
||||
"widgets_values": [
|
||||
"text, watermark\n"
|
||||
],
|
||||
"color": "#322",
|
||||
"bgcolor": "#533"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
139,
|
||||
16,
|
||||
0,
|
||||
65,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
199,
|
||||
50,
|
||||
|
|
@ -1087,38 +1054,6 @@
|
|||
0,
|
||||
"IMAGE"
|
||||
],
|
||||
[
|
||||
305,
|
||||
213,
|
||||
0,
|
||||
50,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
306,
|
||||
213,
|
||||
0,
|
||||
50,
|
||||
2,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
308,
|
||||
16,
|
||||
0,
|
||||
65,
|
||||
2,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
311,
|
||||
215,
|
||||
0,
|
||||
213,
|
||||
0,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
315,
|
||||
41,
|
||||
|
|
@ -1143,22 +1078,6 @@
|
|||
0,
|
||||
"*"
|
||||
],
|
||||
[
|
||||
320,
|
||||
213,
|
||||
0,
|
||||
218,
|
||||
0,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
321,
|
||||
16,
|
||||
0,
|
||||
218,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
322,
|
||||
219,
|
||||
|
|
@ -1174,6 +1093,86 @@
|
|||
199,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
324,
|
||||
221,
|
||||
0,
|
||||
218,
|
||||
0,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
325,
|
||||
221,
|
||||
0,
|
||||
50,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
326,
|
||||
221,
|
||||
0,
|
||||
50,
|
||||
2,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
327,
|
||||
215,
|
||||
0,
|
||||
221,
|
||||
0,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
328,
|
||||
222,
|
||||
0,
|
||||
221,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
329,
|
||||
16,
|
||||
0,
|
||||
223,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
330,
|
||||
223,
|
||||
0,
|
||||
218,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
331,
|
||||
223,
|
||||
0,
|
||||
65,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
332,
|
||||
223,
|
||||
0,
|
||||
65,
|
||||
2,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
333,
|
||||
221,
|
||||
0,
|
||||
223,
|
||||
0,
|
||||
"STRING"
|
||||
]
|
||||
],
|
||||
"groups": [],
|
||||
|
|
|
|||
|
|
@ -158,4 +158,65 @@ def load_config_csv():
|
|||
reader = csv.DictReader(file, delimiter=";")
|
||||
csvlist = [list(row.values()) for row in reader if not any(value.startswith('#') for value in row.values())]
|
||||
return csvlist
|
||||
|
||||
def load_negative_list():
|
||||
primerlist = []
|
||||
negativelist = []
|
||||
primeraddonlist = []
|
||||
negativeaddonlist = []
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
full_path_default_negative_file = os.path.join(script_dir, "./csvfiles/special_lists/" )
|
||||
negative_file = full_path_default_negative_file + 'negativewords.csv'
|
||||
|
||||
full_path_replace_negative_file = os.path.join(script_dir, "./userfiles/" )
|
||||
replace_negative_file = full_path_replace_negative_file + 'negativewords_replace.csv'
|
||||
|
||||
full_path_addon_negative_file = os.path.join(script_dir, "./userfiles/" )
|
||||
addon_negative_file = full_path_addon_negative_file + 'negativewords_addon.csv'
|
||||
|
||||
|
||||
if(os.path.isfile(replace_negative_file)):
|
||||
negative_file = replace_negative_file
|
||||
|
||||
with open(negative_file, "r", newline="",encoding="utf8") as file:
|
||||
reader = csv.DictReader(file, delimiter=";")
|
||||
primerlist = [row["primer"] for row in reader]
|
||||
with open(negative_file, "r", newline="",encoding="utf8") as file:
|
||||
reader = csv.DictReader(file, delimiter=";")
|
||||
negativelist = [row["negative"] for row in reader]
|
||||
|
||||
|
||||
if(os.path.isfile(addon_negative_file)):
|
||||
with open(addon_negative_file, "r", newline="",encoding="utf8") as file:
|
||||
reader = csv.DictReader(file, delimiter=";")
|
||||
primeraddonlist = [row["primer"] for row in reader]
|
||||
with open(addon_negative_file, "r", newline="",encoding="utf8") as file:
|
||||
reader = csv.DictReader(file, delimiter=";")
|
||||
negativeaddonlist = [row["negative"] for row in reader]
|
||||
|
||||
primerlist += primeraddonlist
|
||||
negativelist += negativeaddonlist
|
||||
|
||||
|
||||
return primerlist, negativelist
|
||||
|
||||
def load_all_artist_and_category():
|
||||
artistlist = []
|
||||
categorylist = []
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
full_path_default_artist_file = os.path.join(script_dir, "./csvfiles/" )
|
||||
artist_file = full_path_default_artist_file + 'artists_and_category.csv'
|
||||
|
||||
with open(artist_file, "r", newline="",encoding="utf8") as file:
|
||||
reader = csv.DictReader(file, delimiter=",")
|
||||
artistlist = [row["Artist"] for row in reader]
|
||||
with open(artist_file, "r", newline="",encoding="utf8") as file:
|
||||
reader = csv.DictReader(file, delimiter=",")
|
||||
categorylist = [row["Tags"] for row in reader]
|
||||
|
||||
return artistlist, categorylist
|
||||
|
||||
|
||||
|
|
@ -20481,4 +20481,411 @@ Corporate Archives;terraforming mars
|
|||
Double Down;terraforming mars
|
||||
Head Start;terraforming mars
|
||||
16 Psyche;terraforming mars
|
||||
Robot Pollinators;terraforming mars
|
||||
Robot Pollinators;terraforming mars
|
||||
Pickaxe;Lost Ruins of Arnak
|
||||
Bow and Arrows;Lost Ruins of Arnak
|
||||
Hat;Lost Ruins of Arnak
|
||||
Trowel;Lost Ruins of Arnak
|
||||
Gold Pan;Lost Ruins of Arnak
|
||||
Sturdy Boots;Lost Ruins of Arnak
|
||||
Brush;Lost Ruins of Arnak
|
||||
Dog;Lost Ruins of Arnak
|
||||
Fishing Rod;Lost Ruins of Arnak
|
||||
Chronometer;Lost Ruins of Arnak
|
||||
Aeroplane;Lost Ruins of Arnak
|
||||
Theodolite;Lost Ruins of Arnak
|
||||
Carrier Pidgeon;Lost Ruins of Arnak
|
||||
Torch;Lost Ruins of Arnak
|
||||
Axe;Lost Ruins of Arnak
|
||||
Parrot;Lost Ruins of Arnak
|
||||
Watch;Lost Ruins of Arnak
|
||||
Horse;Lost Ruins of Arnak
|
||||
Precision Compass;Lost Ruins of Arnak
|
||||
Tent;Lost Ruins of Arnak
|
||||
Rope;Lost Ruins of Arnak
|
||||
Automobile;Lost Ruins of Arnak
|
||||
Steam Boat;Lost Ruins of Arnak
|
||||
Machete;Lost Ruins of Arnak
|
||||
Binoculars;Lost Ruins of Arnak
|
||||
Rough Map;Lost Ruins of Arnak
|
||||
Pack Donkey;Lost Ruins of Arnak
|
||||
Ostrich;Lost Ruins of Arnak
|
||||
Sea Turtle;Lost Ruins of Arnak
|
||||
Lantern;Lost Ruins of Arnak
|
||||
Large Backpack;Lost Ruins of Arnak
|
||||
Army Knife;Lost Ruins of Arnak
|
||||
Revolver;Lost Ruins of Arnak
|
||||
Grappling Hook;Lost Ruins of Arnak
|
||||
Airdrop;Lost Ruins of Arnak
|
||||
Flask;Lost Ruins of Arnak
|
||||
Hot Air Balloon;Lost Ruins of Arnak
|
||||
Whip;Lost Ruins of Arnak
|
||||
Bear Trap;Lost Ruins of Arnak
|
||||
Journal;Lost Ruins of Arnak
|
||||
Guiding Skull;Lost Ruins of Arnak
|
||||
Guardian's Crown;Lost Ruins of Arnak
|
||||
Guardian's Ocarina;Lost Ruins of Arnak
|
||||
Star Charts;Lost Ruins of Arnak
|
||||
War Club;Lost Ruins of Arnak
|
||||
Guiding Stone;Lost Ruins of Arnak
|
||||
Hunting Arrows;Lost Ruins of Arnak
|
||||
Idol of Ara-Ana;Lost Ruins of Arnak
|
||||
Passage Shell;Lost Ruins of Arnak
|
||||
Tigerclaw Hairpin;Lost Ruins of Arnak
|
||||
Ritual Dagger;Lost Ruins of Arnak
|
||||
Trader's Scales;Lost Ruins of Arnak
|
||||
Ancient Wine;Lost Ruins of Arnak
|
||||
Coconut Flask;Lost Ruins of Arnak
|
||||
Sacred Drum;Lost Ruins of Arnak
|
||||
Runes of the Dead;Lost Ruins of Arnak
|
||||
Pathfinder's Staff;Lost Ruins of Arnak
|
||||
Monkey Medallion;Lost Ruins of Arnak
|
||||
Ornate Hammer;Lost Ruins of Arnak
|
||||
Inscribed Blade;Lost Ruins of Arnak
|
||||
Sundial;Lost Ruins of Arnak
|
||||
Mortar;Lost Ruins of Arnak
|
||||
Cleansing Cauldron;Lost Ruins of Arnak
|
||||
Trader's Coins;Lost Ruins of Arnak
|
||||
Stone Key;Lost Ruins of Arnak
|
||||
Decorated Horn;Lost Ruins of Arnak
|
||||
Serpent Idol;Lost Ruins of Arnak
|
||||
Treasure Chest;Lost Ruins of Arnak
|
||||
War Mask;Lost Ruins of Arnak
|
||||
Pathfinder's Sandals;Lost Ruins of Arnak
|
||||
Ceremonial Rattle;Lost Ruins of Arnak
|
||||
Serpent's Gold;Lost Ruins of Arnak
|
||||
Crystal Earring;Lost Ruins of Arnak
|
||||
Obsidian Earring;Lost Ruins of Arnak
|
||||
Stone Jar;Lost Ruins of Arnak
|
||||
Coin;Lost Ruins of Arnak
|
||||
Compass;Lost Ruins of Arnak
|
||||
Tablet;Lost Ruins of Arnak
|
||||
Arrowhead;Lost Ruins of Arnak
|
||||
Jewel;Lost Ruins of Arnak
|
||||
Boot;Lost Ruins of Arnak
|
||||
Automobile;Lost Ruins of Arnak
|
||||
Boat;Lost Ruins of Arnak
|
||||
Airplane;Lost Ruins of Arnak
|
||||
Exile;Lost Ruins of Arnak
|
||||
Campsite;Lost Ruins of Arnak
|
||||
Idol;Lost Ruins of Arnak
|
||||
Silver Assistant;Lost Ruins of Arnak
|
||||
Gold Assistant;Lost Ruins of Arnak
|
||||
The Magician;Tarot
|
||||
The High Priestess;Tarot
|
||||
The Empress;Tarot
|
||||
The Emperor;Tarot
|
||||
The Hierophant;Tarot
|
||||
The Lovers;Tarot
|
||||
The Chariot;Tarot
|
||||
Strength;Tarot
|
||||
The Hermit;Tarot
|
||||
Wheel Of Fortune;Tarot
|
||||
Justice;Tarot
|
||||
The Hanged Man;Tarot
|
||||
Death;Tarot
|
||||
Temperance;Tarot
|
||||
The Devil;Tarot
|
||||
The Tower;Tarot
|
||||
The Star;Tarot
|
||||
The Moon;Tarot
|
||||
The Sun;Tarot
|
||||
Judgment;Tarot
|
||||
The Fool;Tarot
|
||||
The World;Tarot
|
||||
"Princess" Yuna Moritani;Dune Imperium
|
||||
Advanced Weaponry;Dune Imperium
|
||||
Allied Armada;Dune Imperium
|
||||
Ambush;Dune Imperium
|
||||
Appropriate;Dune Imperium
|
||||
Archduke Armand Ecaz;Dune Imperium
|
||||
Arrakis Recruiter;Dune Imperium
|
||||
Artillery;Dune Imperium
|
||||
Assassination Mission;Dune Imperium
|
||||
Baron Vladimir Harkonnen;Dune Imperium
|
||||
Battle for Arakeen;Dune Imperium
|
||||
Battle for Carthag;Dune Imperium
|
||||
Battle for Imperial Basin;Dune Imperium
|
||||
Beguiling Pheromones;Dune Imperium
|
||||
Bene Gesserit Initiate;Dune Imperium
|
||||
Bene Gesserit Sister;Dune Imperium
|
||||
Bene Tleilax Lab;Dune Imperium
|
||||
Bene Tleilax Researcher;Dune Imperium
|
||||
Bindu Suspension;Dune Imperium
|
||||
Blackmail;Dune Imperium
|
||||
Blank Slate;Dune Imperium
|
||||
Boundless Ambition;Dune Imperium
|
||||
Bounty Hunter;Dune Imperium
|
||||
Breakthrough;Dune Imperium
|
||||
Bribery;Dune Imperium
|
||||
Bypass Protocol;Dune Imperium
|
||||
Calculated Hire;Dune Imperium
|
||||
Cannon Turrets;Dune Imperium
|
||||
Carryall;Dune Imperium
|
||||
Chairdog;Dune Imperium
|
||||
Chani;Dune Imperium
|
||||
Charisma;Dune Imperium
|
||||
Chaumurky;Dune Imperium
|
||||
CHOAM Delegate;Dune Imperium
|
||||
CHOAM Directorship;Dune Imperium
|
||||
CHOAM shares;Dune Imperium
|
||||
Chrysknife;Dune Imperium
|
||||
Clandestine Meeting;Dune Imperium
|
||||
Cloak and Dagger;Dune Imperium
|
||||
Contaminator;Dune Imperium
|
||||
Corner the Market;Dune Imperium
|
||||
Corrino Genes;Dune Imperium
|
||||
Corrupt Smuggler;Dune Imperium
|
||||
Councilor's Dispensation;Dune Imperium
|
||||
Count Ilban Richese;Dune Imperium
|
||||
Counterattack;Dune Imperium
|
||||
Countess Ariana Thorvald;Dune Imperium
|
||||
Court Intrigue;Dune Imperium
|
||||
Cull;Dune Imperium
|
||||
Demand Respect;Dune Imperium
|
||||
Desert Ambush;Dune Imperium
|
||||
Desert Power;Dune Imperium
|
||||
Detonation Devices;Dune Imperium
|
||||
Disguised Beaurocrat;Dune Imperium
|
||||
Dispatch an Envoy;Dune Imperium
|
||||
Disposal Facility;Dune Imperium
|
||||
Dissecting Kit;Dune Imperium
|
||||
Diversion;Dune Imperium
|
||||
Double Cross;Dune Imperium
|
||||
Dr. Yueh;Dune Imperium
|
||||
Duke Leto Atreides;Dune Imperium
|
||||
Duncan Idaho;Dune Imperium
|
||||
Duncan Loyal Blade;Dune Imperium
|
||||
Earl Memnon Thorvald;Dune Imperium
|
||||
Economic Positioning;Dune Imperium
|
||||
Economic Supremacy;Dune Imperium
|
||||
Embedded Agent;Dune Imperium
|
||||
Esmar Tuek;Dune Imperium
|
||||
Expedite;Dune Imperium
|
||||
Face Dancer;Dune Imperium
|
||||
Face Dancer Initiate;Dune Imperium
|
||||
Favored Subject;Dune Imperium
|
||||
Fedaykin Death Commando;Dune Imperium
|
||||
Finesse;Dune Imperium
|
||||
Firm Grip;Dune Imperium
|
||||
Flagship;Dune Imperium
|
||||
For Humanity;Dune Imperium
|
||||
Freighter Fleet;Dune Imperium
|
||||
Fremen Camp;Dune Imperium
|
||||
From the Tanks;Dune Imperium
|
||||
Full-Scale Assault;Dune Imperium
|
||||
Gene Manipulation;Dune Imperium
|
||||
Ghola;Dune Imperium
|
||||
Glimpse the Path;Dune Imperium
|
||||
Glossu "The Beast" Rabban;Dune Imperium
|
||||
Grand Conspiracy;Dune Imperium
|
||||
Grand Vision;Dune Imperium
|
||||
Gruesome Sacrificee;Dune Imperium
|
||||
Guild Accord;Dune Imperium
|
||||
Guild Administrator;Dune Imperium
|
||||
Guild Ambassador;Dune Imperium
|
||||
Guild Authorization;Dune Imperium
|
||||
Guild Bank Raid;Dune Imperium
|
||||
Guild Bankers;Dune Imperium
|
||||
Guild Chief Administrator;Dune Imperium
|
||||
Guild Impersonator;Dune Imperium
|
||||
Gun Thopter;Dune Imperium
|
||||
Gurney Halleck;Dune Imperium
|
||||
Harvest Cells;Dune Imperium
|
||||
Helena Richese;Dune Imperium
|
||||
High Priority Travel;Dune Imperium
|
||||
Holoprojectors;Dune Imperium
|
||||
Holtzman Engine;Dune Imperium
|
||||
Ilesa EcazA18;Dune Imperium
|
||||
Illicit Dealings;Dune Imperium
|
||||
Imperial Bashar;Dune Imperium
|
||||
Imperial Shock Trooper;Dune Imperium
|
||||
Imperial Spy;Dune Imperium
|
||||
Imperium Ceremony;Dune Imperium
|
||||
In the Shadows;Dune Imperium
|
||||
Industrial Espionage;Dune Imperium
|
||||
Infiltrate;Dune Imperium
|
||||
Interstellar Conspiracy;Dune Imperium
|
||||
Invasion Ships;Dune Imperium
|
||||
Ix-Guild Compact;Dune Imperium
|
||||
Ixian Engineer;Dune Imperium
|
||||
Ixian Probe;Dune Imperium
|
||||
Jamis;Dune Imperium
|
||||
Jessica of Arrakis;Dune Imperium
|
||||
Keys to Power;Dune Imperium
|
||||
Know Their Ways;Dune Imperium
|
||||
Kwisatz Haderach;Dune Imperium
|
||||
Lady Jessica;Dune Imperium
|
||||
Landing Rights;Dune Imperium
|
||||
Liet Kynes;Dune Imperium
|
||||
Lisan Al Gaib;Dune Imperium
|
||||
Local Fence;Dune Imperium
|
||||
Long Reach;Dune Imperium
|
||||
Machinaitions;Dune Imperium
|
||||
Machine Culture;Dune Imperium
|
||||
Master Tactician;Dune Imperium
|
||||
Memocorders;Dune Imperium
|
||||
Minimic Film;Dune Imperium
|
||||
Missionaria Protectiva;Dune Imperium
|
||||
Negotiated Withdrawel;Dune Imperium
|
||||
Occupation;Dune Imperium
|
||||
Opulence;Dune Imperium
|
||||
Organ Merchants;Dune Imperium
|
||||
Other Memory;Dune Imperium
|
||||
Paul Atreides;Dune Imperium
|
||||
Peter De Vries;Dune Imperium
|
||||
Piter, Genius Advisor;Dune Imperium
|
||||
Planned Coupling;Dune Imperium
|
||||
Plans within Plans;Dune Imperium
|
||||
Poison Snooper;Dune Imperium
|
||||
Power Play;Dune Imperium
|
||||
Prince Rhombur Vernius;Dune Imperium
|
||||
Private Army;Dune Imperium
|
||||
Quid Pro Quo;Dune Imperium
|
||||
Raid Stockpiles;Dune Imperium
|
||||
Rapid Mobilization;Dune Imperium
|
||||
Reclaimed Forces;Dune Imperium
|
||||
Recruitment Mission;Dune Imperium
|
||||
Refocus;Dune Imperium
|
||||
Reinforcements;Dune Imperium
|
||||
Replacement Eyes;Dune Imperium
|
||||
Restricted Ordinance;Dune Imperium
|
||||
Reverend Mother Mohaim;Dune Imperium
|
||||
Sardukar Infantry;Dune Imperium
|
||||
Sardukar Legion;Dune Imperium
|
||||
Sardukar Quartermaster;Dune Imperium
|
||||
Satellite Ban;Dune Imperium
|
||||
Sayyadina;Dune Imperium
|
||||
Scientific Breakthrough;Dune Imperium
|
||||
Scout;Dune Imperium
|
||||
Second Wave;Dune Imperium
|
||||
Secret Forces;Dune Imperium
|
||||
Secret of the Sisterhood;Dune Imperium
|
||||
Secure Imperial Basin;Dune Imperium
|
||||
Shadout Mapes;Dune Imperium
|
||||
Shadowy bargain;Dune Imperium
|
||||
Shai-Hulud;Dune Imperium
|
||||
Shifting Allegiancs;Dune Imperium
|
||||
Show of Strength;Dune Imperium
|
||||
Shuttle Fleet;Dune Imperium
|
||||
Siege of Arakeen;Dune Imperium
|
||||
Siege of Carthag;Dune Imperium
|
||||
Sietch Reverend Mother;Dune Imperium
|
||||
Skirmish;Dune Imperium
|
||||
Slig Farmer;Dune Imperium
|
||||
Smuggler's Thopter;Dune Imperium
|
||||
Sonic Snoopers;Dune Imperium
|
||||
Sort Through The Chaos;Dune Imperium
|
||||
Space Travel;Dune Imperium
|
||||
Spaceport;Dune Imperium
|
||||
Spice Hunter;Dune Imperium
|
||||
Spice Smugglers;Dune Imperium
|
||||
Spice Trader;Dune Imperium
|
||||
Spiritual Ferver;Dune Imperium
|
||||
Spy Satellites;Dune Imperium
|
||||
Staged Incident;Dune Imperium
|
||||
Stilgar;Dune Imperium
|
||||
Stillsuit Manufacture;Dune Imperiumr
|
||||
Stitched Horror;Dune Imperium
|
||||
Strategic Push;Dune Imperium
|
||||
Strongarm;Dune Imperium
|
||||
Study Melange;Dune Imperium
|
||||
Subject X-137;Dune Imperium
|
||||
Terrible Purpose;Dune Imperium
|
||||
Tessia Vernius;Dune Imperium
|
||||
Test of Humanity;Dune Imperium
|
||||
The Sleeper Must Awaken;Dune Imperium
|
||||
The Voice;Dune Imperium
|
||||
Throne Room Politics;Dune Imperium
|
||||
Thufir Hawat;Dune Imperium
|
||||
Thumper;Dune Imperium
|
||||
Tiebreaker;Dune Imperium
|
||||
Tleilaxu Infiltrator;Dune Imperium
|
||||
Tleilaxu Master;Dune Imperium
|
||||
Tleilaxu Puppet;Dune Imperium
|
||||
Tleilaxu Surgeon;Dune Imperium
|
||||
To the Victor…;Dune Imperium
|
||||
Trade Monopoly;Dune Imperium
|
||||
Training Drones;Dune Imperium
|
||||
Treachery;Dune Imperium
|
||||
Troop Transports;Dune Imperium
|
||||
Truthsayer;Dune Imperium
|
||||
Twisted Mentat;Dune Imperium
|
||||
Unnatural Reflexes;Dune Imperium
|
||||
Urgent Mission;Dune Imperium
|
||||
Usurp;Dune Imperium
|
||||
Vicious Talents;Dune Imperium
|
||||
Viscount Hudro Moritani;Dune Imperium
|
||||
War Chest;Dune Imperium
|
||||
Water of Life;Dune Imperium
|
||||
Water Peddler;Dune Imperium
|
||||
Water Peddlers Union;Dune Imperium
|
||||
Web of Power;Dune Imperium
|
||||
Weirding Way;Dune Imperium
|
||||
Windfall;Dune Imperium
|
||||
Windtraps;Dune Imperium
|
||||
Worm Riders;Dune Imperium
|
||||
Acid Attack;King of Tokyo
|
||||
Alien Metabolism;King of Tokyo
|
||||
Alpha Monster;King of Tokyo
|
||||
Apartment Building;King of Tokyo
|
||||
Armor Plating;King of Tokyo
|
||||
Background Dweller;King of Tokyo
|
||||
Burrowing;King of Tokyo
|
||||
Camouflage;King of Tokyo
|
||||
Commuter Train;King of Tokyo
|
||||
Complete Destruction;King of Tokyo
|
||||
Corner Store;King of Tokyo
|
||||
Dedicated News Team;King of Tokyo
|
||||
Drop from High Altitude;King of Tokyo
|
||||
Eater of the Dead;King of Tokyo
|
||||
Energize;King of Tokyo
|
||||
Energy Hoarder;King of Tokyo
|
||||
Evacuation Orders;King of Tokyo
|
||||
Even Bigger;King of Tokyo
|
||||
Extra Head;King of Tokyo
|
||||
Fire Blast;King of Tokyo
|
||||
Fire Breathing;King of Tokyo
|
||||
Freeze Time;King of Tokyo
|
||||
Frenzy;King of Tokyo
|
||||
Friend of Children;King of Tokyo
|
||||
Gas Refinery;King of Tokyo
|
||||
Giant Brain;King of Tokyo
|
||||
Gourmet;King of Tokyo
|
||||
Heal;King of Tokyo
|
||||
Healing Ray;King of Tokyo
|
||||
Herbivore;King of Tokyo
|
||||
Herd Culler;King of Tokyo
|
||||
High Altitude Bombing;King of Tokyo
|
||||
It Has a Child;King of Tokyo
|
||||
Jet Fighters;King of Tokyo
|
||||
Jets;King of Tokyo
|
||||
Made in a Lab;King of Tokyo
|
||||
Metamorph;King of Tokyo
|
||||
Mimic;King of Tokyo
|
||||
Monster Batteries;King of Tokyo
|
||||
National Guard;King of Tokyo
|
||||
Nova Breath;King of Tokyo
|
||||
Nuclear Power Plant;King of Tokyo
|
||||
Omnivore;King of Tokyo
|
||||
Opportunist;King of Tokyo
|
||||
Parasitic Tentacles;King of Tokyo
|
||||
Plot Twist;King of Tokyo
|
||||
Poison Quills;King of Tokyo
|
||||
Poison Spit;King of Tokyo
|
||||
Psychic Probe;King of Tokyo
|
||||
Rapid Healing;King of Tokyo
|
||||
Regeneration;King of Tokyo
|
||||
Rooting for the Underdog;King of Tokyo
|
||||
Shrink Ray;King of Tokyo
|
||||
Skyscraper;King of Tokyo
|
||||
Smoke Cloud;King of Tokyo
|
||||
Solar Powered;King of Tokyo
|
||||
Spiked Tail;King of Tokyo
|
||||
Stretchy;King of Tokyo
|
||||
Tanks;King of Tokyo
|
||||
Telepath;King of Tokyo
|
||||
Urbavore;King of Tokyo
|
||||
Vast Storm;King of Tokyo
|
||||
We're Only Making It Stronger;King of Tokyo
|
||||
Wings;King of Tokyo
|
||||
|
Can't render this file because it is too large.
|
|
|
@ -168,4 +168,5 @@ Engram
|
|||
Dimensional Portal
|
||||
Orb
|
||||
Vessel
|
||||
Flower
|
||||
Flower
|
||||
Patron Saint
|
||||
|
|
|
@ -408,6 +408,8 @@ Royalty;both
|
|||
Rune mage;both
|
||||
Safari Guide;both
|
||||
Sailor;both
|
||||
Saint;both
|
||||
Patron Saint of -conceptsuffix-;both
|
||||
Salaryman;male
|
||||
Salesperson;both
|
||||
Salsa Dancer;both
|
||||
|
|
@ -430,6 +432,7 @@ Set designer;both
|
|||
Shadow assassin;both
|
||||
Shadowmage;both
|
||||
Shady figure;both
|
||||
Shaman;both
|
||||
Shaolinn Monk;both
|
||||
Shepherd;both
|
||||
Shieldmaiden;female
|
||||
|
|
|
|||
|
|
|
@ -0,0 +1,250 @@
|
|||
primer;negative
|
||||
photo;painting,abstract,camera,anime,cartoon,sketch,3d,render,illustration
|
||||
photograph;painting,abstract,camera,anime,cartoon,sketch,3d,render,illustration
|
||||
photography;painting,abstract,camera,anime,cartoon,sketch,3d,render,illustration
|
||||
photographic;painting,abstract,camera,anime,cartoon,sketch,3d,render,illustration
|
||||
cinematic;painting,surrealism,camera,anime,cartoon,abstract,illustration
|
||||
cinema;painting,surrealism,camera,anime,cartoon,abstract,illustration
|
||||
cinestill;painting,surrealism,camera,anime,cartoon,abstract,illustration
|
||||
movie still;painting,surrealism,camera,anime,cartoon,abstract,illustration
|
||||
film grain;painting,surrealism,camera,anime,cartoon,abstract,illustration
|
||||
stylized;photorealism
|
||||
sharp;bokeh,blurry,blur
|
||||
focus;bokeh,blurry,blur
|
||||
focussed;bokeh,blurry,blur
|
||||
abstract;photograph, realism, photorealism,plain, simple, monochrome
|
||||
cubism;photograph, realism, photorealism,plain, simple
|
||||
expressionism;photograph, photorealism, low contrast
|
||||
manga;photograph, realism, photorealism, worst quality, low quality, western cartoon
|
||||
anime;photograph, realism, photorealism, worst quality, low quality, western cartoon
|
||||
cartoon;photograph, realism, photorealism, worst quality, low quality, manga
|
||||
melanin;photograph, realism, photorealism
|
||||
children's illustration;photograph, realism, photorealism, worst quality, low quality, nsfw, ugly
|
||||
architecture;painting, illustration
|
||||
3D;photograph, realism, photorealism, low contrast, low poly
|
||||
pixar;photograph, realism, photorealism, low contrast, low poly
|
||||
octane;photograph, realism, photorealism, low contrast, low poly
|
||||
unreal engine;photograph, realism, photorealism, low contrast, low poly
|
||||
render;photograph, realism, photorealism, low contrast, low poly
|
||||
kawaii;gothic, dark, moody, monochromatic, ugly, gritty, western cartoon
|
||||
chibi;gothic, dark, moody, monochromatic, ugly, gritty, western cartoon
|
||||
adorable;gothic, dark, moody, monochromatic, ugly, gritty
|
||||
cute;gothic, dark, moody, monochromatic, ugly, gritty
|
||||
cutecore;gothic, dark, moody, monochromatic, ugly, gritty
|
||||
art deco;low contrast, photorealism, modernist, minimalist
|
||||
art nouveau;low contrast, industrial, mechanical, photorealism, modernist, minimalist
|
||||
renaissance;low contrast, photorealism, modernist, minimalist
|
||||
romanticism;low contrast, photorealism, modernist, minimalist, moody, dark
|
||||
baroque;low contrast, photorealism, modernist, minimalist
|
||||
rococo;low contrast, photorealism, modernist, minimalist
|
||||
caricature;realism
|
||||
dark fantasy;bright, sunny, light, vibrant, colorful
|
||||
dark;bright, sunny, light, vibrant, colorful
|
||||
colorless;vibrant, colorful
|
||||
one color;vibrant, colorful
|
||||
darkness;bright, sunny, light, vibrant, colorful
|
||||
moody;bright, sunny, light, vibrant, colorful
|
||||
sad;happy, bright
|
||||
happy;sad, dark, moody
|
||||
smile;sad, dark, moody
|
||||
smiling;sad, dark, moody
|
||||
goth;bright, sunny, light, vibrant, colorful
|
||||
gothic;bright, sunny, light, vibrant, colorful
|
||||
macabre;bright, sunny, light, vibrant, colorful
|
||||
desolate;bright, sunny, light, vibrant, colorful, people
|
||||
grim;bright, sunny, light, vibrant, colorful
|
||||
faded;bright, sunny, light, vibrant, colorful
|
||||
noir;bright, sunny, light, vibrant, colorful
|
||||
horror;bright, sunny, light, vibrant, colorful, beautiful, cute
|
||||
monster;beautiful, cute, adorable
|
||||
creepy;beautiful, cute, adorable
|
||||
luminism;monochromatic, washed out
|
||||
fortnite;photograph, realism, photorealism
|
||||
ink;bright, sunny, light, vibrant, colorful
|
||||
happy;dark, moody, night, monochromatic, washed out
|
||||
joy;dark, moody, night, monochromatic, washed out
|
||||
joyful;dark, moody, night, monochromatic, washed out
|
||||
vibrant;dark, moody, night, monochromatic, washed out
|
||||
colorful;dark, moody, night, monochromatic, washed out
|
||||
colors;dark, moody, night, monochromatic, washed out
|
||||
colours;dark, moody, night, monochromatic, washed out
|
||||
colourful;dark, moody, night, monochromatic, washed out
|
||||
vivid;dark, moody, night, monochromatic, washed out
|
||||
neon;moody, monochromatic, washed out
|
||||
monochrome;colorful, vibrant
|
||||
drawing;photograph, photorealism
|
||||
graffiti;photograph, photorealism
|
||||
impressionism;photograph, photorealism,anime
|
||||
impressionist;photograph, photorealism,anime
|
||||
pop art;photograph, photorealism
|
||||
vector;photograph, photorealism
|
||||
surrealism;photograph, realism, photorealism
|
||||
surrealist;photograph, realism, photorealism
|
||||
suprematism;realism
|
||||
watercolor;photograph, photorealism
|
||||
water color;photograph, photorealism
|
||||
watercolour;photograph, photorealism
|
||||
whymsical;drab, boring, moody, serious, realism
|
||||
whimsical;drab, boring, moody, serious, realism
|
||||
masterpiece;cropped, worst quality, low quality, poorly drawn, low resolution
|
||||
quality;cropped, worst quality, low quality, poorly drawn, low resolution
|
||||
artstation;cropped, worst quality, low quality, poorly drawn, low resolution
|
||||
pixabay;cropped, worst quality, low quality, poorly drawn, low resolution
|
||||
behance;cropped, worst quality, low quality, poorly drawn, low resolution
|
||||
sketch;photograph, realism, photorealism
|
||||
artistic;insignificant, flawed, made by bad artist, low quality, low resolution
|
||||
dynamic;still life, static, still, slow, boring, standing still, calm, peaceful
|
||||
still life;dynamic, action
|
||||
calm;dynamic, action
|
||||
boring;dynamic, action
|
||||
undead;alive
|
||||
painting;drawing,sketch,frame,watermark
|
||||
ukiyo-e;drawing,sketch,frame,watermark
|
||||
comic;photograph, realism, photorealism,frame,watermark
|
||||
comics;photograph, realism, photorealism,frame,watermark
|
||||
graphic design;photograph, realism, photorealism,frame,watermark
|
||||
illustration;photograph, realism, photorealism,frame,watermark
|
||||
clay;photograph, realism, photorealism,sloppy, messy
|
||||
digital;photograph, photorealism
|
||||
fantasy;photograph, realism, photorealism, modern, ordinary, mundane
|
||||
concept;photograph, realism, photorealism, modern, ordinary, mundane
|
||||
fairy tale;photograph, realism, photorealism, modern, ordinary, mundane
|
||||
fairy-tale;photograph, realism, photorealism, modern, ordinary, mundane
|
||||
magical realism;modern, ordinary, mundane
|
||||
storybook realism;modern, ordinary, mundane
|
||||
magical;modern, ordinary, mundane
|
||||
magic;modern, ordinary, mundane
|
||||
ethereal;modern, ordinary, mundane
|
||||
isometric;photograph, realism, photorealism
|
||||
line art;painting,abstract,camera,anime,cartoon,sketch,3d,render
|
||||
pixel;photograph, realism, photorealism, painting,abstract,camera,anime,cartoon,sketch,3d,render
|
||||
pixel-art;photograph, realism, photorealism, painting,abstract,camera,anime,cartoon,sketch,3d,render
|
||||
professional;amateurish, sloppy, unattractive
|
||||
professionally;amateurish, sloppy, unattractive
|
||||
advertisement;amateurish, sloppy, unattractive
|
||||
advertising;amateurish, sloppy, unattractive
|
||||
commercial;amateurish, sloppy, unattractive
|
||||
corporate;amateurish, sloppy, unattractive
|
||||
fashion;amateurish, sloppy, unattractive, baggy, cheap, trashy clothing
|
||||
fauvism;amateurish, sloppy, unattractive, baggy, cheap, trashy clothing
|
||||
luxury;amateurish, sloppy, unattractive, baggy, cheap, trashy clothing
|
||||
hyperrealistic;simple, plain, abstract, unrealistic, impressionistic, low resolution,surrealism
|
||||
realistic;simple, plain, abstract, unrealistic, impressionistic, low resolution,surrealism
|
||||
figurativism;simple, plain, abstract, unrealistic, impressionistic, low resolution, surrealism, symbolism
|
||||
hyperrealism;simple, plain, abstract, unrealistic, impressionistic, low resolution, surrealism
|
||||
realism;simple, plain, abstract, unrealistic, impressionistic, low resolution, surrealism
|
||||
real;simple, plain, abstract, unrealistic, impressionistic, low resolution, surrealism
|
||||
pointillism;line drawing, smooth shading, large color fields, simplistic
|
||||
psychedelic;photograph, realism, photorealism,plain, simple, monochrome
|
||||
biomechanical;natural, rustic, primitive, organic, simplistic
|
||||
futuristic;natural, rustic, primitive, organic, simplistic
|
||||
cybernetic;natural, rustic, primitive, organic, simplistic
|
||||
cyberpunk;natural, rustic, primitive, organic, simplistic
|
||||
robot;natural, rustic, primitive, organic, simplistic
|
||||
robotic;natural, rustic, primitive, organic, simplistic
|
||||
technology;natural, rustic, primitive, organic, simplistic
|
||||
geometric;natural, rustic, primitive, organic, simplistic
|
||||
angular;natural, rustic, primitive, organic, simplistic
|
||||
bauhaus;natural, rustic, primitive, organic, simplistic
|
||||
nature;industrial, mechanical, geometric patterns
|
||||
nature-inspired;industrial, mechanical, geometric patterns
|
||||
natural;industrial, mechanical, geometric patterns
|
||||
floral;industrial, mechanical, geometric patterns
|
||||
flora;industrial, mechanical, geometric patterns
|
||||
fauna;industrial, mechanical, geometric patterns
|
||||
flower;industrial, mechanical, geometric patterns
|
||||
flowers;industrial, mechanical, geometric patterns
|
||||
blossoms;industrial, mechanical, geometric patterns
|
||||
organic;industrial, mechanical, geometric patterns
|
||||
vegetation;industrial, mechanical, geometric patterns
|
||||
forest;industrial, mechanical, geometric patterns
|
||||
trees;industrial, mechanical, geometric patterns
|
||||
foliage;industrial, mechanical, geometric patterns
|
||||
overgrown;industrial, mechanical, geometric patterns
|
||||
retro;modern
|
||||
vintage;modern
|
||||
primitivism;modern, ornate, complicated, highly detailed
|
||||
primitive;modern, ornate, complicated, highly detailed
|
||||
modern;retro, vintage, traditional
|
||||
sci-fi;historical, traditional
|
||||
sci fi;historical, traditional
|
||||
scifi;historical, traditional
|
||||
science fiction;historical, traditional
|
||||
game art;photograph, photorealism, low contrast
|
||||
dream;ordinary, mundane
|
||||
dreamlike;ordinary, mundane
|
||||
dreamy;ordinary, mundane
|
||||
minimalist;ornate, complicated, highly detailed, cluttered, disordered, messy, noisy, maximalism
|
||||
simple;ornate, complicated, highly detailed, cluttered, disordered, messy, noisy, maximalism
|
||||
simplistic;ornate, complicated, highly detailed, cluttered, disordered, messy, noisy, maximalism
|
||||
clean;cluttered, disordered, messy, noisy
|
||||
minimalism;ornate, complicated, highly detailed, cluttered, disordered, messy, noisy, maximalism
|
||||
detailed;simplistic,minimalism, plain, simple
|
||||
overdetailed;simplistic,minimalism, plain, simple
|
||||
details;simplistic,minimalism, plain, simple
|
||||
complex;simplistic,minimalism, plain, simple
|
||||
intricate;simplistic,minimalism, plain, simple
|
||||
papercut;3D, high detail, painting, drawing, photo
|
||||
paper;3D, high detail, painting, drawing, photo
|
||||
kirigami;3D, high detail, painting, drawing, photo
|
||||
alien;earthly, mundane, common, realistic, simple
|
||||
otherworldly;earthly, mundane, common, realistic, simple
|
||||
winter;summer
|
||||
summer;winter
|
||||
spring;autumn
|
||||
autumn;spring
|
||||
fall;spring
|
||||
industrial;organic
|
||||
bokeh;sharp,focus
|
||||
depth of field;sharp,focus
|
||||
dof;sharp,focus
|
||||
beautiful;ugly, gritty
|
||||
gorgeous;ugly, gritty
|
||||
beauty;ugly, gritty
|
||||
beautifully;ugly, gritty
|
||||
aestheticism;ugly, gritty, asymetrical, low contrast
|
||||
aesthetic;ugly, gritty, asymetrical, low contrast
|
||||
ugly;beautiful, cute
|
||||
gritty;beautiful, cute
|
||||
visual novel;photograph, photorealism, low contrast
|
||||
landscape;portrait,people
|
||||
cloudscape;portrait,people
|
||||
streetscape;portrait
|
||||
portrait;full body shot
|
||||
close up;full body shot
|
||||
closeup;full body shot
|
||||
close-up;full body shot
|
||||
body shot;portrait
|
||||
shadow;brightly lit
|
||||
shadows;brightly lit
|
||||
messy;clean, simple
|
||||
scene;lonesome
|
||||
cityscape;portrait
|
||||
seascape;portrait,people
|
||||
character;portrait
|
||||
high contrast;low contrast, monochromatic
|
||||
monochromatic;light, vibrant, colorful
|
||||
monochrome;light, vibrant, colorful
|
||||
street art;portrait
|
||||
symbolism;figurativism
|
||||
low contrast;high contrast
|
||||
desaturated;vibrant, colorful
|
||||
saturated;dark, moody, monochromatic
|
||||
oversaturated;dark, moody, monochromatic
|
||||
dramatic;plain, well lit, brightly lit
|
||||
emotions;emotionless, plain, boring
|
||||
emotinal;emotionless, plain, boring
|
||||
feeling;emotionless, plain, boring
|
||||
expressing;emotionless, plain, boring
|
||||
expressive;emotionless, plain, boring
|
||||
emotive;emotionless, plain, boring
|
||||
casual;corporate
|
||||
traditional;modern, contemporary
|
||||
formal;casual
|
||||
candle light;brightly lit
|
||||
feminine;masculine
|
||||
masculine;feminine
|
||||
product photo;cluttered background
|
||||
product shot;cluttered background
|
||||
white background;cluttered background
|
||||
plain background;cluttered background
|
||||
|
|
|
@ -105,4 +105,325 @@ neon noir -subject-, cyberpunk, dark, rainy streets, neon signs, high contrast,
|
|||
silhouette style -subject-, high contrast, minimalistic, black and white, stark, dramatic
|
||||
tilt-shift photo of -subject-, selective focus, miniature effect, blurred background, highly detailed, vibrant, perspective control
|
||||
Vintage tattoo flash style of -subject-, Traditional motifs, bright colors, bold outlines, roses, snakes, nautical, old school tattoo artwork
|
||||
Vintage tattoo flash print of -subject-, Sailor Jerry style, nautical themes, retro pin-up, aquatint
|
||||
Vintage tattoo flash print of -subject-, Sailor Jerry style, nautical themes, retro pin-up, aquatint
|
||||
Chromolithograph -subject-, Vibrant colors, intricate details, rich color saturation, meticulous registration, multi-layered printing, decorative elements, historical charm, artistic reproductions, commercial posters, nostalgic, ornate compositions
|
||||
Bauhaus-Style Poster, -subject-, simple geometric shapes, clean lines, primary colors, Bauhaus-Style Poster
|
||||
coloring book sheet, -subject-, Monochrome, centered black and white high contrast line drawing, blank white background, coloring book style
|
||||
punk collage style -subject-, mixed media, papercut,textured paper, overlapping, ripped posters, safety pins, chaotic layers, graffiti-style elements, anarchy symbols, vintage photos, cut-and-paste aesthetic, bold typography, distorted images, political messages, urban decay, distressed textures, newspaper clippings, spray paint, rebellious icons, DIY spirit, vivid colors, punk band logos, edgy and raw compositions, blank white background
|
||||
cinematic still -subject-, emotional, harmonious, vignette, 4k epic detailed, shot on kodak, 35mm photo, sharp focus, high budget, cinemascope, moody, epic, gorgeous, film grain, grainy
|
||||
(masterpiece), (best quality), (ultra-detailed), -subject-, illustration, disheveled hair, detailed eyes, perfect composition, moist skin, intricate details, earrings, by wlop
|
||||
photograph -subject-, 50mm, cinematic 4k epic detailed 4k epic detailed photograph shot on kodak detailed cinematic hbo dark moody, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage
|
||||
cinematic still -subject-, emotional, harmonious, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy
|
||||
Cross processing print -subject-, Experimental color shifts, unconventional tonalities, vibrant and surreal hues, heightened contrasts, unpredictable results, artistic unpredictability, retro and vintage feel, dynamic color interplay, abstract and dreamlike
|
||||
Dufaycolor photograph -subject-, Vintage color palette, distinctive color rendering, soft and dreamy atmosphere, historical charm, unique color process, grainy texture, evocative mood, nostalgic aesthetic, hand-tinted appearance, artistic patina
|
||||
Herbarium drawing -subject-, Botanical accuracy, old botanical book illustration, detailed illustrations, pressed plants, delicate and precise linework, scientific documentation, meticulous presentation, educational purpose, organic compositions, timeless aesthetic, naturalistic beauty
|
||||
mosaic style -subject-, fragmented, assembled, colorful, highly detailed
|
||||
Oil painting by Van Gogh, -subject-, Expressive, impasto, swirling brushwork, vibrant, brush strokes, Brushstroke-heavy, Textured, Impasto, Colorful, Dynamic, Bold, Distinctive, Vibrant, Whirling, Expressive, Dramatic, Swirling, Layered, Intense, Contrastive, Atmospheric, Luminous, Textural, Evocative, Spiraled, Van Gogh style
|
||||
Oil painting by John Singer Sargent, -subject-, Elegant, refined, masterful technique, realistic portrayal, subtle play of light, captivating expression, rich details, harmonious colors, skillful composition, brush strokes, chiaroscuro
|
||||
Oil painting by Jackson Pollock, -subject-, Abstract expressionism, drip painting, chaotic composition, energetic, spontaneous, unconventional technique, dynamic, bold, distinctive, vibrant, intense, expressive, energetic, layered, non-representational, gestural
|
||||
Artwork by Jean-Michel Basquiat, -subject-, Neo-expressionism, street art influence, graffiti-inspired, raw, energetic, bold colors, dynamic composition, chaotic, layered, textural, expressive, spontaneous, distinctive, symbolic,energetic brushstrokes
|
||||
Artwork in the style of Andy Warhol, -subject-, Pop art, vibrant colors, bold compositions, repetition of iconic imagery, celebrity culture, commercial aesthetics, mass production influence, stylized simplicity, cultural commentary, graphical elements, distinctive portraits
|
||||
Gond painting, -subject-, Intricate patterns, vibrant colors, detailed motifs, nature-inspired themes, tribal folklore, fine lines, intricate detailing, storytelling compositions, mystical and folkloric, cultural richness
|
||||
Albumen print -subject-, Sepia tones, fine details, subtle tonal gradations, delicate highlights, vintage aesthetic, soft and muted atmosphere, historical charm, rich textures, meticulous craftsmanship, classic photographic technique, vignetting
|
||||
Aquatint print -subject-, Soft tonal gradations, atmospheric effects, velvety textures, rich contrasts, fine details, etching process, delicate lines, nuanced shading, expressive and moody atmosphere, artistic depth
|
||||
Anthotype print -subject-, Monochrome dye, soft and muted colors, organic textures, ephemeral and delicate appearance, low details, watercolor canvas, low contrast, overexposed, silhouette, wet textured paper
|
||||
A sculpture made of ivory, -subject- made of ivory, Sculptures, Inuit art style, intricate carvings, natural materials, storytelling motifs, arctic wildlife themes, symbolic representations, cultural traditions, earthy tones, harmonious compositions, spiritual and mythological elements
|
||||
Bromoil print -subject-, Painterly effects, sepia tones, textured surfaces, rich contrasts, expressive brushwork, tonal variations, vintage aesthetic, atmospheric mood, handmade quality, artistic experimentation, darkroom craftsmanship, vignetting
|
||||
Calotype print -subject-, Soft focus, subtle tonal range, paper negative process, fine details, vintage aesthetic, artistic experimentation, atmospheric mood, early photographic charm, handmade quality, vignetting
|
||||
Color sketchnote -subject-, Hand-drawn elements, vibrant colors, visual hierarchy, playful illustrations, varied typography, graphic icons, organic and dynamic layout, personalized touches, creative expression, engaging storytelling
|
||||
A sculpture made of blue pattern porcelain of -subject-, Classic design, blue and white color scheme, intricate detailing, floral motifs, onion-shaped elements, historical charm, rococo, white ware, cobalt blue, underglaze pattern, fine craftsmanship, traditional elegance, delicate patterns, vintage aesthetic, Meissen, Blue Onion pattern, Cibulak
|
||||
Alcohol ink art -subject-, Fluid and vibrant colors, unpredictable patterns, organic textures, translucent layers, abstract compositions, ethereal and dreamy effects, free-flowing movement, expressive brushstrokes, contemporary aesthetic, wet textured paper
|
||||
One line art -subject-, Continuous and unbroken black line, minimalistic, simplicity, economical use of space, flowing and dynamic, symbolic representations, contemporary aesthetic, evocative and abstract, simplicity, white background
|
||||
Blacklight paint -subject-, Fluorescent pigments, vibrant and surreal colors, ethereal glow, otherworldly effects, dynamic and psychedelic compositions, neon aesthetics, transformative in ultraviolet light, contemporary and experimental
|
||||
A sculpture made of Carnival glass, -subject-, Iridescent surfaces, vibrant colors, intricate patterns, opalescent hues, reflective and prismatic effects, Art Nouveau and Art Deco influences, vintage charm, intricate detailing, lustrous and luminous appearance, Carnival Glass style
|
||||
Cyanotype print -subject-, Prussian blue tones, distinctive coloration, high contrast, blueprint aesthetics, atmospheric mood, sun-exposed paper, silhouette effects, delicate details, historical charm, handmade and experimental quality
|
||||
scifi fantasy illustration, -subject- in the style of realistic hyper-detailed portraits, dark white and orange, classicist portraiture, dark gold and aquamarine, realist detail, hard edge, technological marvels
|
||||
Cross-stitching -subject-, Intricate patterns, embroidery thread, sewing, fine details, precise stitches, textile artistry, symmetrical designs, varied color palette, traditional and contemporary motifs, handmade and crafted,canvas, nostalgic charm
|
||||
Encaustic paint -subject-, Textured surfaces, translucent layers, luminous quality, wax medium, rich color saturation, fluid and organic shapes, contemporary and historical influences, mixed media elements, atmospheric depth
|
||||
Embroidery -subject-, Intricate stitching, embroidery thread, fine details, varied thread textures, textile artistry, embellished surfaces, diverse color palette, traditional and contemporary motifs, handmade and crafted, tactile and ornate
|
||||
Gyotaku -subject-, Fish impressions, realistic details, ink rubbings, textured surfaces, traditional Japanese art form, nature-inspired compositions, artistic representation of marine life, black and white contrasts, cultural significance
|
||||
Luminogram -subject-, Photogram technique, ethereal and abstract effects, light and shadow interplay, luminous quality, experimental process, direct light exposure, unique and unpredictable results, artistic experimentation
|
||||
Lite Brite art -subject-, Luminous and colorful designs, pixelated compositions, retro aesthetic, glowing effects, creative patterns, interactive and playful, nostalgic charm, vibrant and dynamic arrangements
|
||||
Mokume-gane -subject-, Wood-grain patterns, mixed metal layers, intricate and organic designs, traditional Japanese metalwork, harmonious color combinations, artisanal craftsmanship, unique and layered textures, cultural and historical significance
|
||||
A sculpture made of pebbles, -subject-, Pebble art style, natural materials, textured surfaces, balanced compositions, organic forms, harmonious arrangements, tactile and 3D effects, beach-inspired aesthetic, creative storytelling, artisanal craftsmanship
|
||||
Palekh art -subject-, Miniature paintings, intricate details, vivid colors, folkloric themes, lacquer finish, storytelling compositions, symbolic elements, Russian folklore influence, cultural and historical significance
|
||||
Suminagashi -subject-, Floating ink patterns, marbled effects, delicate and ethereal designs, water-based ink, fluid and unpredictable compositions, meditative process, monochromatic or subtle color palette, Japanese artistic tradition
|
||||
A Scrimshaw engraving of -subject-, Intricate engravings on a spermwhale's teeth, marine motifs, detailed scenes, nautical themes, black and white contrasts, historical craftsmanship, artisanal carving, storytelling compositions, maritime heritage
|
||||
Shibori -subject-, Textured fabric, intricate patterns, resist-dyeing technique, indigo or vibrant colors, organic and flowing designs, Japanese textile art, cultural tradition, tactile and visual interest
|
||||
A sculpture made of Vitreous enamel -subject-, Smooth and glossy surfaces, vibrant colors, glass-like finish, durable and resilient, intricate detailing, traditional and contemporary applications, artistic craftsmanship, jewelry and decorative objects, Vitreous enamel, colored glass
|
||||
Ukiyo-e -subject-, Woodblock prints, vibrant colors, intricate details, depictions of landscapes, kabuki actors, beautiful women, cultural scenes, traditional Japanese art, artistic craftsmanship, historical significance
|
||||
vintage airline poster -subject-, classic aviation fonts, pastel colors, elegant aircraft illustrations, scenic destinations, distressed textures, retro travel allure
|
||||
vintage travel poster -subject-, retro fonts, muted colors, scenic illustrations, iconic landmarks, distressed textures, nostalgic vibes
|
||||
Bauhaus-inspired -subject-, minimalism, geometric precision, primary colors, sans-serif typography, asymmetry, functional design
|
||||
Afrofuturism illustration -subject-, vibrant colors, futuristic elements, cultural symbolism, cosmic imagery, dynamic patterns, empowering narratives
|
||||
Atompunk illustation, -subject-, retro-futuristic, atomic age aesthetics, sleek lines, metallic textures, futuristic technology, optimism, energy, pulp cover
|
||||
Constructivism -subject-, geometric abstraction, bold colors, industrial aesthetics, dynamic compositions, utilitarian design, revolutionary spirit
|
||||
UHD, 8K, ultra detailed, a cinematic photograph of -subject-, beautiful lighting, great composition
|
||||
Abstract Expressionism Art, -subject-, High contrast, minimalistic, colorful, stark, dramatic, expressionism
|
||||
Academia, -subject-, preppy Ivy League style, stark, dramatic, chic boarding school, academia
|
||||
Action Figure, -subject-, plastic collectable action figure, collectable toy action figure
|
||||
Adorable 3D Character, -subject-, 3D render, adorable character, 3D art
|
||||
Adorable Kawaii, -subject-, pretty, cute, adorable, kawaii
|
||||
Art Deco, -subject-, sleek, geometric forms, art deco style
|
||||
Art Nouveau, beautiful art, -subject-, sleek, organic forms, long, sinuous, art nouveau style
|
||||
Astral Aura, -subject-, astral, colorful aura, vibrant energy
|
||||
Avant-garde, -subject-, unusual, experimental, avant-garde art
|
||||
Baroque, -subject-, dramatic, exuberant, grandeur, baroque art
|
||||
Blueprint Schematic Drawing, -subject-, technical drawing, blueprint, schematic
|
||||
Caricature, -subject-, exaggerated, comical, caricature
|
||||
Cel Shaded Art, -subject-, 2D, flat color, toon shading, cel shaded style
|
||||
Character Design Sheet, -subject-, character reference sheet, character turn around
|
||||
Classicism Art, -subject-, inspired by Roman and Greek culture, clarity, harmonious, classicism art
|
||||
Color Field Painting, -subject-, abstract, simple, geometic, color field painting style
|
||||
Colored Pencil Art, -subject-, colored pencil strokes, light color, visible paper texture, colored pencil art
|
||||
Conceptual Art, -subject-, concept art
|
||||
Constructivism Art, -subject-, minimalistic, geometric forms, constructivism art
|
||||
Cubism Art, -subject-, flat geometric forms, cubism art
|
||||
Dadaism Art, -subject-, satirical, nonsensical, dadaism art
|
||||
Dark Fantasy Art, -subject-, dark, moody, dark fantasy style
|
||||
Dark Moody Atmosphere, -subject-, dramatic, mysterious, dark moody atmosphere
|
||||
DMT Art Style, -subject-, bright colors, surreal visuals, swirling patterns, DMT art style
|
||||
Doodle Art Style, -subject-, drawing, freeform, swirling patterns, doodle art style
|
||||
Double Exposure Style, -subject-, double image ghost effect, image combination, double exposure style
|
||||
Dripping Paint Splatter Art, -subject-, dramatic, paint drips, splatters, dripping paint
|
||||
Expressionism Art Style, -subject-, movement, contrast, emotional, exaggerated forms, expressionism art style
|
||||
Faded Polaroid Photo, -subject-, analog, old faded photo, old polaroid
|
||||
Fauvism Art, -subject-, painterly, bold colors, textured brushwork, fauvism art
|
||||
Flat 2D Art, -subject-, simple flat color, 2-dimensional, Flat 2D Art Style
|
||||
Fortnite Art Style, -subject-, 3D cartoon, colorful, Fortnite Art Style
|
||||
Futurism Art Style, -subject-, dynamic, dramatic, Futurism Art Style
|
||||
Glitchcore Art Style, -subject-, dynamic, dramatic, distorted, vibrant colors, glitchcore art style
|
||||
Glo-fi Art Style, -subject-, dynamic, dramatic, vibrant colors, glo-fi art style
|
||||
Googie Art Style, -subject-, dynamic, dramatic, 1950's futurism, bold boomerang angles, Googie art style
|
||||
Graffiti Art Style, -subject-, dynamic, dramatic, vibrant colors, graffiti art style
|
||||
Harlem Renaissance Art Style, -subject-, dynamic, dramatic, 1920s African American culture, Harlem Renaissance art style
|
||||
High Fashion, -subject-, dynamic, dramatic, haute couture, elegant, ornate clothing, High Fashion
|
||||
Idyllic, -subject-, peaceful, happy, pleasant, happy, harmonious, picturesque, charming
|
||||
Impressionism, -subject-, painterly, small brushstrokes, visible brushstrokes, impressionistic style
|
||||
Infographic Drawing, -subject-, diagram, infographic
|
||||
Ink Dripping Drawing, -subject-, ink drawing, dripping ink
|
||||
Japanese Ink Drawing, -subject-, ink drawing, inkwash, Japanese Ink Drawing
|
||||
Knolling Photography, -subject-, flat lay photography, object arrangment, knolling photography
|
||||
Light Cheery Atmosphere, -subject-, happy, joyful, cheerful, carefree, gleeful, lighthearted, pleasant atmosphere
|
||||
Logo Design, -subject-, dynamic graphic art, vector art, minimalist, professional logo design
|
||||
Luxurious Elegance, -subject-, extravagant, ornate, designer, opulent, picturesque, lavish
|
||||
Macro Photography, -subject-, close-up, macro 100mm, macro photography
|
||||
Mandola art style, -subject-, complex, circular design, mandola
|
||||
Marker Drawing, -subject-, bold marker lines, visibile paper texture, marker drawing
|
||||
Medievalism, -subject-, inspired by The Middle Ages, medieval art, elaborate patterns and decoration, Medievalism
|
||||
Minimalism, -subject-, abstract, simple geometic shapes, hard edges, sleek contours, Minimalism
|
||||
Neo-Baroque, -subject-, ornate and elaborate, dynaimc, Neo-Baroque
|
||||
Neo-Byzantine, -subject-, grand decorative religious style, Orthodox Christian inspired, Neo-Byzantine
|
||||
Neo-Futurism, -subject-, high-tech, curves, spirals, flowing lines, idealistic future, Neo-Futurism
|
||||
Neo-Impressionism, -subject-, tiny dabs of color, Pointillism, painterly, Neo-Impressionism
|
||||
Neo-Rococo, -subject-, curved forms, naturalistic ornamentation, elaborate, decorative, gaudy, Neo-Rococo
|
||||
Neoclassicism, -subject-, ancient Rome and Greece inspired, idealic, sober colors, Neoclassicism
|
||||
Op Art, -subject-, optical illusion, abstract, geometric pattern, impression of movement, Op Art
|
||||
Ornate and Intricate, -subject-, decorative, highly detailed, elaborate, ornate, intricate
|
||||
Pencil Sketch Drawing, -subject-, black and white drawing, graphite drawing
|
||||
Pop Art, -subject-, vivid colors, flat color, 2D, strong lines, Pop Art
|
||||
Rococo, -subject-, flamboyant, pastel colors, curved lines, elaborate detail, Rococo
|
||||
Silhouette Art, -subject-, high contrast, well defined, Silhouette Art
|
||||
Simple Vector Art, -subject-, 2D flat, simple shapes, minimalistic, professional graphic, flat color, high contrast, Simple Vector Art
|
||||
Sketchup, -subject-, CAD, professional design, Sketchup
|
||||
Steampunk, -subject-, retrofuturistic science fantasy, steam-powered tech, vintage industry, gears, neo-victorian, steampunk
|
||||
Surrealism, -subject-, expressive, dramatic, organic lines and forms, dreamlike and mysterious, Surrealism
|
||||
Suprematism, -subject-, abstract, limited color palette, geometric forms, Suprematism
|
||||
Terragen, -subject-, beautiful massive landscape, epic scenery, Terragen
|
||||
Tranquil Relaxing Atmosphere, -subject-, calming style, soothing colors, peaceful, idealic, Tranquil Relaxing Atmosphere
|
||||
Vector Art Stickers, -subject-, professional vector design, sticker designs, Sticker Sheet
|
||||
Vibrant Rim Light, -subject-, bright rim light, high contrast, bold edge light
|
||||
Volumetric Lighting, -subject-, light depth, dramatic atmospheric lighting, Volumetric Lighting
|
||||
Watercolor style painting, -subject-, visible paper texture, colorwash, watercolor
|
||||
Whimsical and Playful, -subject-, imaginative, fantastical, bight colors, stylized, happy, Whimsical and Playful
|
||||
epic cinematic shot of dynamic -subject- in motion, main subject of high budget action movie, raw photo, motion blur, best quality, high resolution
|
||||
spontaneous picture of -subject-, taken by talented amateur, best quality, high resolution, magical moment, natural look, simple but good looking
|
||||
powerful artistic vision of -subject-, breathtaking masterpiece made by great artist, best quality, high resolution
|
||||
dark and unsettling dream showing -subject-, best quality, high resolution, created by genius but depressed mad artist, grim beauty
|
||||
astonishing gloomy art made mainly of shadows and lighting, forming -subject-, masterful usage of lighting, shadows and chiaroscuro, made by black-hearted artist, drawing from darkness, best quality, high resolution
|
||||
picture from really bad dream about terrifying -subject-, true horror, bone-chilling vision, mad world that shouldn't exist, best quality, high resolution
|
||||
uncanny caliginous vision of -subject-, created by remarkable underground artist, best quality, high resolution, raw and brutal art, careless but impressive style, inspired by darkness and chaos
|
||||
surreal painting representing strange vision of -subject-, harmonious madness, synergy with chance, unique artstyle, mindbending art, magical surrealism, best quality, high resolution
|
||||
insanely dynamic illustration of -subject-, best quality, high resolution, crazy artstyle, careless brushstrokes, emotional and fun
|
||||
long forgotten art created by undead artist illustrating -subject-, tribute to the death and decay, miserable art of the damned, wretched and decaying world, best quality, high resolution
|
||||
art illustrating insane amounts of raging elemental energy turning into -subject-, avatar of elements, magical surrealism, wizardry, best quality, high resolution
|
||||
winner of inter-galactic art contest illustrating -subject-, symbol of the interstellar singularity, best quality, high resolution, artstyle previously unseen in the whole galaxy
|
||||
sublime ancient illustration of -subject-, predating human civilization, crude and simple, but also surprisingly beautiful artwork, made by genius primeval artist, best quality, high resolution
|
||||
brave, shocking, and brutally true art showing -subject-, inspired by courage and unlimited creativity, truth found in chaos, best quality, high resolution
|
||||
heroic fantasy painting of -subject-, in the dangerous fantasy world, airbrush over oil on canvas, best quality, high resolution
|
||||
dark cyberpunk illustration of brutal -subject- in a world without hope, ruled by ruthless criminal corporations, best quality, high resolution
|
||||
geometric and lyrical abstraction painting presenting -subject-, oil on metal, best quality, high resolution
|
||||
big long brushstrokes of deep black sumi-e turning into symbolic painting of -subject-, master level raw art, best quality, high resolution
|
||||
highly detailed black sumi-e painting of -subject-, in-depth study of perfection, created by a master, best quality, high resolution
|
||||
manga artwork presenting -subject-, created by japanese manga artist, highly emotional, best quality, high resolution
|
||||
anime artwork illustrating -subject-, created by japanese anime studio, highly emotional, best quality, high resolution
|
||||
breathtaking illustration from adult comic book presenting -subject-, fabulous artwork, best quality, high resolution
|
||||
-subject- with charisma, 50mm lens, f/2,8, focused on eyes, natural lighting
|
||||
cinematic portrait of -subject-, 85mm lens, f/1,8, dramatic side lighting, moody atmosphere
|
||||
environmental portrait of -subject-, 35mm lens, f/4, wider context, natural surroundings
|
||||
gripping reportage of -subject-, Wide-angle lens, f/8, focus on action, capture the moment
|
||||
candid shot of -subject-, 50mm lens, f/2,8, spontaneous, unposed
|
||||
documentary style of -subject-, 35mm lens, f/5,6, truthful representation, neutral perspective
|
||||
haute couture display of -subject-, 85mm lens, f/2,2, vibrant colors, dramatic lighting
|
||||
editorial fashion shot of -subject-, 50mm lens, f/2,5, storytelling, focused on outfit
|
||||
catalog shot of -subject-, 70mm lens, f/5,6, neutral background, clear focus on attire
|
||||
action-packed shot of -subject-, 200mm lens, f/2,8, high shutter speed, capture the peak moment
|
||||
emotional moment in -subject-, 135mm lens, f/4, capture expressions, ambient lighting
|
||||
narrative image of -subject-, 50mm lens, f/3,5, storytelling, context setting
|
||||
minimalistic composition of -subject-, 50mm lens, f/5,6, simplistic design, neutral colors
|
||||
dramatic still life of -subject-, 85mm lens, f/2,2, dramatic lighting, intense colors
|
||||
rustic presentation of -subject-, 35mm lens, f/4, natural elements, warm tones
|
||||
investigative shot of -subject-, 24mm lens, f/4, informative, intriguing
|
||||
lifestyle capture of -subject-, 50mm lens, f/2,8, candid, vibrant colors
|
||||
opinion image of -subject-, 35mm lens, f/5,6, emotive, storytelling
|
||||
historical capture of -subject-, 24mm lens, f/8, capture architectural details, natural lighting
|
||||
modernist view of -subject-, 18mm lens, f/4, minimalistic, strong lines
|
||||
surreal perspective of -subject-, Fisheye lens, f/2,8, abstract interpretation, vibrant colors
|
||||
steampunk-inspired -subject-, gears, brass, rivets, old-world technology, intricate, highly detailed, Victorian
|
||||
futuristic interpretation of -subject-, sleek, high-tech, metallic, smooth surfaces, neon, sharp edges, crystal clear, professional, ultra detailed
|
||||
Abstract Expressionist style of -subject-, bold colors, vigorous brushwork, non-representational, spontaneous, expressive, emotional
|
||||
surrealistic -subject-, dreamlike, subconscious, bizarre, highly detailed, intricate, imaginative, illogical juxtaposition
|
||||
watercolor painting of -subject-, fluid, soft edges, light colors, translucent, delicate, dreamy
|
||||
pointillist technique on -subject-, tiny dots of color, optical blend, detailed, vibrant, rich
|
||||
cubist interpretation of -subject-, geometric forms, multi-perspective, abstract, fragmented, complex
|
||||
gothic style -subject-, dark, mysterious, medieval, ornate, intricate, detailed, haunting
|
||||
pop art style -subject-, bold colors, mass culture, comic style, ironical, vibrant, detailed
|
||||
impressionist take on -subject-, loose brushwork, light color, emphasis on light and movement, emotive, painterly
|
||||
street art version of -subject-, urban, graffiti, spray paint, vibrant, bold, rough, rebellious
|
||||
art nouveau style -subject-, elegant, ornate, flowing lines, detailed, decorative
|
||||
charcoal sketch of -subject-, dark, grainy, high contrast, loose, dramatic
|
||||
collage of -subject-, mixed media, eclectic, detailed, layered, creative
|
||||
minimalist -subject-, clean lines, simple shapes, limited color palette, modern, sleek
|
||||
graffiti style -subject-, street art, bold, colorful, vibrant, dynamic, urban, rebellious, intricate
|
||||
trompe l'oeil of -subject-, hyperrealistic, 3d illusion, detailed, deceptive, intricate
|
||||
fauvist interpretation of -subject-, wild brushwork, vibrant color, expressive, bold, emotive, painterly
|
||||
hyperrealistic -subject-, photorealistic, extreme detail, lifelike, crisp, precise
|
||||
dadaist version of -subject-, anti-art, absurd, random, satirical, mixed media, collage
|
||||
calligraphy style -subject-, elegant, flowing, precise, detailed, intricate, hand-drawn
|
||||
baroque rendition of -subject-, opulent, grand, ornate, dramatic, detailed, decorative
|
||||
op art style -subject-, optical illusion, geometric, vibrant, dynamic, detailed, bold
|
||||
psychedelic version of -subject-, vibrant color, distorted visuals, swirling patterns, trippy, detailed, intricate
|
||||
scratchboard technique on -subject-, contrast, engraved, black and white, detailed, dramatic
|
||||
botanical illustration of -subject-, detailed, accurate, precise, delicate, naturalistic
|
||||
lithograph of -subject-, printmaking, smooth, detailed, bold, graphic
|
||||
mosaic of -subject-, tiled, geometric, vibrant, intricate, decorative
|
||||
woodcut style -subject-, carved, bold lines, high contrast, rustic, handmade
|
||||
stencil art of -subject-, sharp edges, bold, graphic, street art style, vibrant
|
||||
rotoscoped -subject-, traced, animation style, smooth, realistic, detailed
|
||||
glass painting of -subject-, translucent, vibrant, decorative, intricate, glossy
|
||||
art deco interpretation of -subject-, geometric, bold, symmetrical, ornate, detailed, decorative
|
||||
hard edge painting of -subject-, geometric, sharp edges, flat color, modern, bold
|
||||
drybrush technique on -subject-, rough texture, loose brushwork, subtle detail, expressive, painterly
|
||||
silhouette of -subject-, high contrast, dramatic, simple, bold, graphic
|
||||
plein air painting of -subject-, outdoor, natural light, vibrant, loose, expressive
|
||||
ink wash painting of -subject-, monochromatic, loose, fluid, expressive, delicate
|
||||
body painting of -subject-, human canvas, vibrant, detailed, transformative, expressive
|
||||
spray paint art of -subject-, street style, vibrant, spontaneous, bold, rough
|
||||
grisaille painting of -subject-, monochromatic, detailed, realistic, refined, tonal
|
||||
stippled technique on -subject-, dotted, texture, detailed, graphic, intricate
|
||||
pastel drawing of -subject-, soft, colorful, delicate, expressive, textured
|
||||
encaustic painting of -subject-, wax, textured, layered, luminous, rich
|
||||
macrame style -subject-, knotted, textile, intricate, handmade, decorative
|
||||
graffiti stencil art of -subject-, urban, bold, vibrant, street style, graphic
|
||||
action painting of -subject-, spontaneous, energetic, abstract, expressive, bold
|
||||
batik style -subject-, dyed, vibrant, patterned, textile, decorative
|
||||
folk art depiction of -subject-, traditional, handmade, decorative, vibrant, detailed
|
||||
glitch art of -subject-, distorted, digital, vibrant, abstract, modern
|
||||
chiaroscuro technique on -subject-, high contrast, dramatic, realistic, refined, tonal
|
||||
gouache painting of -subject-, vibrant, opaque, smooth, rich, detailed
|
||||
-subject- in haute couture, Luxury, designer brands, runway-ready, tailored, chic
|
||||
-subject- in a casual chic outfit, Comfortable, stylish, modern, accessible
|
||||
-subject- rocking the streetwear trend, Urban, hip-hop influence, sneakers, caps, oversized
|
||||
-subject- in athletic wear, Sporty, gym-ready, functional, sneakers, activewear
|
||||
-subject- in a vintage ensemble, Retro, nostalgia, classic styles, second-hand
|
||||
-subject- in boho fashion, Free-spirited, layered, patterns, ethnic-inspired, fringe
|
||||
-subject- sporting minimalist fashion, Simple, clean lines, neutral colors, unfussy
|
||||
-subject- dressed in preppy style, Collegiate, clean-cut, conservative, layered
|
||||
-subject- in a gothic getup, Dark, leather, lace, Victorian influence
|
||||
-subject- with a punk look, Rebellious, grungy, band tees, ripped denim
|
||||
-subject- sporting a grunge look, '90s influence, flannel, band tees, distressed
|
||||
-subject- looking glamorous, Luxury, sequins, fur, red carpet ready
|
||||
-subject- rocking the rock style, Leather, band tees, edgy, black
|
||||
-subject- in a hipster outfit, Eclectic, indie, non-mainstream, vintage
|
||||
-subject- wearing ethical fashion, Sustainable, fair trade, organic materials, eco-friendly
|
||||
-subject- dressed in business casual, Semi-formal, tailored, smart, professional
|
||||
-subject- in beachwear, cover-ups, sandals, straw hats, light fabrics
|
||||
-subject- in stylish activewear, Sporty, comfortable, functional, athleisure
|
||||
-subject- sporting country style, Western, cowboy boots, plaid, denim
|
||||
-subject- wearing military-inspired fashion, Camouflage, khaki, structured, badges
|
||||
-subject- in Kawaii style, Cute, pastel, girly, anime-inspired, frilly
|
||||
-subject- in a Lolita ensemble, Victorian-inspired, frilly, bows, lace, layered
|
||||
-subject- dressed in formal wear, Black tie, tuxedo, evening gown, polished
|
||||
-subject- rocking a tomboy look, Androgynous, loose, sneakers, caps
|
||||
-subject- dressed in normcore, Unpretentious, casual, basics, comfortable
|
||||
-subject- in an artistic outfit, Creative, unique, expressive, handmade
|
||||
-subject- in genderless fashion, Androgynous, neutral, modern, unisex
|
||||
-subject- in a monochromatic look, Single color, sleek, modern, minimalist
|
||||
-subject- dressed in Mod style, '60s influence, A-line, geometric patterns, bold
|
||||
-subject- in Harajuku style, Japanese street fashion, eclectic, colorful, anime
|
||||
-subject- in a cyberpunk outfit, Futuristic, dystopian, metallic, neon
|
||||
-subject- in rave wear, Bright colors, neon, sequins, fur
|
||||
-subject- in hippy style, '70s influence, tie-dye, bell-bottoms, fringe
|
||||
-subject- rocking skater style, Casual, sneakers, baggy, sporty, laid-back
|
||||
-subject- in a pin-up style, Retro, '50s influence, feminine, curves
|
||||
-subject- in a nautical outfit, Sailor-inspired, stripes, navy, white, red
|
||||
-subject- in futuristic fashion, Metallic, geometric, avant-garde, high-tech
|
||||
-subject- in an eccentric ensemble, Unique, quirky, stand-out, individualistic
|
||||
-subject- in a tailored suit, Formal, professional, sleek, well-fitted
|
||||
-subject- in sustainable fashion, Eco-friendly, organic, recycled materials, fair trade
|
||||
-subject- in a traditional outfit, Ethnic, regional, cultural, heritage
|
||||
-subject- captured in a candid moment, Unposed, natural, spontaneous, real-life situation
|
||||
portrait shot of -subject-, Close-up, eyes on camera, clear, sharp
|
||||
lifestyle photo of -subject-, Everyday activities, real-life situations, relatable
|
||||
editorial shot of -subject-, Fashion-forward, styled, professional, magazine-ready
|
||||
glamour shot of -subject-, Beauty focused, make-up, lighting, seductive
|
||||
fitness photo of -subject-, Athletic, workout gear, active, strong
|
||||
boudoir shot of -subject-, Intimate, sensual, classy, tasteful
|
||||
silhouette photo of -subject-, Dramatic, backlighting, mysterious, creative
|
||||
maternity shot of -subject-, Pregnancy, baby bump, motherhood, glowing
|
||||
black and white photo of -subject-, Monochrome, timeless, artistic, dramatic
|
||||
pin-up style photo of -subject-, Retro, feminine, seductive, fun
|
||||
headshot of -subject-, Professional, clear, neutral background, focused
|
||||
full body shot of -subject-, Whole outfit, clear, sharp, balanced
|
||||
high fashion photo of -subject-, Designer clothes, dramatic poses, avant-garde
|
||||
business photo of -subject-, Professional attire, workplace setting, confident
|
||||
beach photo of -subject-, Swimwear, sand, ocean, relaxed
|
||||
athletic shot of -subject-, Sportswear, action, energy, strength
|
||||
close-up photo of -subject-, Detailed, intimate, clear, personal
|
||||
nature shot with -subject-, Outdoors, greenery, natural light, fresh
|
||||
studio shot of -subject-, Controlled lighting, plain background, clear
|
||||
street shot of -subject-, Urban, casual, candid, trendy
|
||||
dance photo of -subject-, Movement, grace, energy, rhythm
|
||||
vintage style photo of -subject-, Retro, nostalgic, old-fashioned, timeless
|
||||
low light photo of -subject-, Ambient, moody, dramatic, shadowy
|
||||
underwater photo of -subject-, Aquatic, serene, dreamlike, floaty
|
||||
action shot of -subject-, Movement, energy, dynamic, intense
|
||||
fashion shot of -subject-, Trendy outfit, styled, runway-ready, chic
|
||||
aerial shot of -subject-, Birds-eye view, grand, adventurous, stunning
|
||||
music-related shot of -subject-, Playing an instrument, singing, energetic, passionate
|
||||
abstract photo of -subject-, Artistic, unique, creative, unconventional
|
||||
fine art photo of -subject-, Conceptual, creative, artistic, aesthetic
|
||||
cityscape shot with -subject-, Urban, skyline, architectural, dynamic
|
||||
landscape shot with -subject-, Scenic, outdoors, grand, beautiful
|
||||
macro shot of -subject-, Extremely close-up, detailed, intricate, revealing
|
||||
golden hour shot of -subject-, Warm light, sunset/sunrise, magical, serene
|
||||
blue hour shot of -subject-, Cool light, twilight, peaceful, moody
|
||||
night shot of -subject-, Dark, lit, moody, mysterious
|
||||
reflection shot of -subject-, Mirror image, symmetry, creative, thoughtful
|
||||
backlit photo of -subject-, Silhouette, dramatic, artistic, shadowy
|
||||
overhead shot of -subject-, Top-down view, unique perspective, revealing
|
||||
Chicano art -subject-, bold colors, cultural symbolism, muralism, lowrider aesthetics, barrio life, political messages, social activism, Mexico
|
||||
De Stijl Art -subject-, neoplasticism, primary colors, geometric abstraction, horizontal and vertical lines, simplicity, harmony, utopian ideals
|
||||
Dayak art sculpture of -subject-, intricate patterns, nature-inspired motifs, vibrant colors, traditional craftsmanship, cultural symbolism, storytelling
|
||||
Fayum portrait -subject-, encaustic painting, realistic facial features, warm earth tones, serene expressions, ancient Egyptian influences
|
||||
Illuminated manuscript -subject-, intricate calligraphy, rich colors, detailed illustrations, gold leaf accents, ornate borders, religious, historical, medieval
|
||||
Kalighat painting -subject-, bold lines, vibrant colors, narrative storytelling, cultural motifs, flat compositions, expressive characters
|
||||
Madhubani painting -subject-, intricate patterns, vibrant colors, nature-inspired motifs, cultural storytelling, symmetry, folk art aesthetics
|
||||
Pictorialism illustration-subject-, soft focus, atmospheric effects, artistic interpretation, tonality, muted colors, evocative storytelling
|
||||
Pichwai painting -subject-, intricate detailing, vibrant colors, religious themes, nature motifs, devotional storytelling, gold leaf accents
|
||||
Patachitra painting -subject-, bold outlines, vibrant colors, intricate detailing, mythological themes, storytelling, traditional craftsmanship
|
||||
Samoan art-inspired wooden sculpture -subject-, traditional motifs, natural elements, bold colors, cultural symbolism, storytelling, craftsmanship
|
||||
Tlingit art -subject-, formline design, natural elements, animal motifs, bold colors, cultural storytelling, traditional craftsmanship, Alaska traditional art, (totem:1.5)
|
||||
Painting by Adnate -subject-, realistic portraits, street art, large-scale murals, subdued color palette, social narratives
|
||||
Painting by Ron English -subject-, pop-surrealism, cultural subversion, iconic mash-ups, vibrant and bold colors, satirical commentary
|
||||
Painting by Shepard Fairey -subject-, street art, political activism, iconic stencils, bold typography, high contrast, red, black, and white color palette
|
||||
|
41
main.py
41
main.py
|
|
@ -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 = ""):
|
||||
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):
|
||||
loops = int(amount) # amount of images to generate
|
||||
steps = 0
|
||||
upscalefilelist=[]
|
||||
|
|
@ -22,10 +22,13 @@ def generateimages(amount = 1, size = "all",model = "currently selected model",s
|
|||
randomprompt = ""
|
||||
filename=""
|
||||
continuewithnextpart = True
|
||||
randomsubject = ""
|
||||
|
||||
originalmodel = model
|
||||
originalsamplingmethod = samplingmethod
|
||||
|
||||
originalnegativeprompt = negativeprompt
|
||||
|
||||
originalimg2imgmodel = img2imgmodel
|
||||
originalimg2imgsamplingmethod = img2imgsamplingmethod
|
||||
originalimg2imgupscaler = img2imgupscaler
|
||||
|
|
@ -133,23 +136,31 @@ def generateimages(amount = 1, size = "all",model = "currently selected model",s
|
|||
|
||||
|
||||
else:
|
||||
randomprompt = 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)
|
||||
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)
|
||||
randomprompt = randompromptlist[0]
|
||||
randomsubject = randompromptlist[1]
|
||||
|
||||
# make the filename, from from a to the first comma
|
||||
# find the index of the first comma after "of a" or end of the prompt
|
||||
if(randomprompt.find("of a ") != -1):
|
||||
start_index = randomprompt.find("of a ") + len("of a ")
|
||||
end_index = randomprompt.find(",", start_index)
|
||||
if(end_index == -1):
|
||||
end_index=len(randomprompt)
|
||||
else:
|
||||
start_index = 0
|
||||
end_index = 128
|
||||
|
||||
if(autonegativeprompt):
|
||||
negativeprompt = build_dynamic_negative(positive_prompt=randomprompt, insanitylevel=autonegativepromptstrength,enhance=autonegativepromptenhance, existing_negative_prompt=originalnegativeprompt)
|
||||
|
||||
if(randomsubject == ""):
|
||||
# make the filename, from from a to the first comma
|
||||
# find the index of the first comma after "of a" or end of the prompt
|
||||
if(randomprompt.find("of a ") != -1):
|
||||
start_index = randomprompt.find("of a ") + len("of a ")
|
||||
end_index = randomprompt.find(",", start_index)
|
||||
if(end_index == -1):
|
||||
end_index=len(randomprompt)
|
||||
else:
|
||||
start_index = 0
|
||||
end_index = 128
|
||||
|
||||
|
||||
|
||||
# extract the desired substring using slicing
|
||||
filename = randomprompt[start_index:end_index]
|
||||
# extract the desired substring using slicing
|
||||
filename = randomprompt[start_index:end_index]
|
||||
else:
|
||||
filename = randomsubject
|
||||
|
||||
# cleanup some unsafe things in the filename
|
||||
filename = filename.replace("\"", "")
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
import sys, os
|
||||
import random
|
||||
import uuid
|
||||
import re
|
||||
from datetime import datetime
|
||||
sys.path.append(os.path.abspath(".."))
|
||||
|
||||
|
||||
from build_dynamic_prompt import *
|
||||
|
||||
|
||||
|
||||
def generateprompts(amount = 1,positive_prompt = "",insanitylevel="0",enhance=False,existing_negative_prompt=""):
|
||||
loops = int(amount) # amount of images to generate
|
||||
steps = 0
|
||||
|
||||
insanitylevel = int(insanitylevel)
|
||||
while steps < loops:
|
||||
# build prompt
|
||||
if positive_prompt == "":
|
||||
positive_prompt = build_dynamic_prompt()
|
||||
result = build_dynamic_negative(positive_prompt=positive_prompt, insanitylevel=insanitylevel,enhance=enhance, existing_negative_prompt=existing_negative_prompt)
|
||||
print("negative prompt: " + result)
|
||||
print("")
|
||||
print("loop " + str(steps))
|
||||
print("")
|
||||
|
||||
|
||||
steps += 1
|
||||
|
||||
|
||||
print("")
|
||||
print("All done!")
|
||||
|
||||
generateprompts(1,"anime assassin",0,False,"")
|
||||
|
|
@ -103,8 +103,8 @@ generateprompts(10,5
|
|||
,"","","PREFIXPROMPT"
|
||||
,"SUFFIXPROMPT"
|
||||
,"",1,""
|
||||
,"TESTSUBJECT" # subject override
|
||||
,True,
|
||||
,"" # subject override
|
||||
,True, # smart subject
|
||||
"",20
|
||||
, "all" # gender
|
||||
, "all" # object types
|
||||
|
|
@ -113,6 +113,6 @@ generateprompts(10,5
|
|||
, False # prompt switching
|
||||
, True # Turn off emojis
|
||||
, 0 # seed
|
||||
, "TESTOUTFIT" #outfit override
|
||||
, True #prompt_g_and_l
|
||||
, "" #outfit override
|
||||
, False #prompt_g_and_l
|
||||
)
|
||||
|
|
@ -317,7 +317,6 @@ class Script(scripts.Script):
|
|||
with gr.Column(variant="compact"):
|
||||
prefixprompt = gr.Textbox(label="⬅️💬 Place this in front of generated prompt (prefix)",value="")
|
||||
suffixprompt = gr.Textbox(label="➡️💬 Place this at back of generated prompt (suffix)",value="")
|
||||
negativeprompt = gr.Textbox(label="🚫💬 Use this negative prompt",value="")
|
||||
with gr.Row(variant="compact"):
|
||||
gr.Markdown("""
|
||||
<font size="2">
|
||||
|
|
@ -652,6 +651,28 @@ class Script(scripts.Script):
|
|||
|
||||
"""
|
||||
)
|
||||
with gr.Tab("Negative prompt"):
|
||||
gr.Markdown(
|
||||
"""
|
||||
### Negative prompt settings
|
||||
</font>
|
||||
"""
|
||||
)
|
||||
with gr.Column(variant="compact"):
|
||||
with gr.Row(variant="compact"):
|
||||
autonegativeprompt = gr.Checkbox(label="🤖🚫💬 Auto generate negative prompt", value=True)
|
||||
autonegativepromptenhance = gr.Checkbox(label="📈🚫💬 Enable base enhancement prompt", value=False)
|
||||
with gr.Row(variant="compact"):
|
||||
autonegativepromptstrength = gr.Slider(0, 10, value="0", step=1, label="🎲🚫💬 Randomness of negative prompt (lower is more consistency)")
|
||||
gr.Markdown(
|
||||
"""
|
||||
### Base negative prompt is added on
|
||||
</font>
|
||||
"""
|
||||
)
|
||||
with gr.Row():
|
||||
negativeprompt = gr.Textbox(label="🚫💬 Base negative prompt",value="")
|
||||
|
||||
with gr.Tab("One Button Run and Upscale"):
|
||||
with gr.Row(variant="compact"):
|
||||
gr.Markdown(
|
||||
|
|
@ -835,7 +856,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])
|
||||
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])
|
||||
interrupt.click(tryinterrupt, inputs=[apiurl])
|
||||
|
||||
automatedoutputsfolderbutton.click(openfolder)
|
||||
|
|
@ -998,12 +1019,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]
|
||||
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]
|
||||
|
||||
|
||||
|
||||
|
||||
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):
|
||||
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):
|
||||
|
||||
images = []
|
||||
infotexts = []
|
||||
|
|
@ -1097,6 +1118,10 @@ class Script(scripts.Script):
|
|||
print(" ")
|
||||
print(p.prompt)
|
||||
|
||||
if(autonegativeprompt):
|
||||
p.negative_prompt = build_dynamic_negative(positive_prompt=p.prompt, insanitylevel=autonegativepromptstrength,enhance=autonegativepromptenhance, existing_negative_prompt=p.negative_prompt)
|
||||
|
||||
|
||||
promptlist = []
|
||||
if(batchsize>1):
|
||||
# finally figured out how to do multiple batch sizes
|
||||
|
|
|
|||
|
|
@ -0,0 +1,51 @@
|
|||
# Auto Negative Prompt
|
||||
|
||||
With the magic of an __Auto Negative Prompt__! Get better results from your prompts. Without any effort.
|
||||
|
||||
Go from this:
|
||||
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/ab176b85-c0e4-4444-85d9-93f5a7746c94.png" alt="Without Negative" width="30%" height="30%">
|
||||
To this:
|
||||
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/ce579d19-fe32-4048-8af2-00dac0832452.png" alt="With Auto Negative Prompt" width="30%" height="30%">
|
||||
|
||||
Go from this:
|
||||
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/bb206ee4-2ae1-4f54-b68e-c3c4b98abbee.png" alt="Without Negative" width="30%" height="30%">
|
||||
To this:
|
||||
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/5678edcc-d3fb-4053-8865-25677f11dece.png" alt="With Auto Negative Prompt" width="30%" height="30%">
|
||||
|
||||
Go from this:
|
||||
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/890b0f73-56f2-4a0e-9d55-888c3f0b933e.png" alt="Without Negative" width="30%" height="30%">
|
||||
To this:
|
||||
<img src="https://github.com/AIrjen/OneButtonPrompt/assets/130234949/4fe5268a-bb0a-4fa4-8109-1984615d6333.png" alt="With Auto Negative Prompt" width="30%" height="30%">
|
||||
|
||||
|
||||
|
||||
> colorful art designed by Loish and Krenz Cushart, Anime Graceful broad-shouldered (Woman:1.2), wearing costume, her costume has a crest on chest, royal pose, Auburn hair styled as Slicked-back, equirectangular 360, Fantasy, dreamy, perfect skin
|
||||
>
|
||||
> digital art, kawaii Woman of Performance Feudal lord, Bokeh, Alternative Art
|
||||
>
|
||||
> Water color painting, elegant, Thundering short Selene, her hair is Pink, Dynamic, dramatic lighting, One Color
|
||||
|
||||
With an __Auto Negative Prompt__! This is now default turned on in A1111. It's also available as a ComfyUI Node.
|
||||
|
||||
Auto Negative Prompt parses your prompt, and tries to invert some words of the prompt. For example, "anime" will add "photorealistic" to the negative prompt. "colorful" will add things like "drab" and "monochrome" to the negative prompt.
|
||||
|
||||
It tries to follow the intent of the positive prompt.
|
||||
|
||||
## Options
|
||||
|
||||

|
||||
|
||||
### 🤖🚫💬 Auto generate negative prompt
|
||||
This turns the generation of the negative prompt on or off. Default, it is turned on.
|
||||
|
||||
### 📈🚫💬 Enable base enhancement prompt
|
||||
This adds a bunch of quality enhancing statements to the negative prompt. Default, it is turned off.
|
||||
|
||||
### 🎲🚫💬 Randomness of negative prompt
|
||||
Increasing this value will remove more parts of the negative prompt. A setting of 5 will randomly remove about 50%. Standardly this is turned off, and is at value 0.
|
||||
|
||||
### 🚫💬 Base negative prompt
|
||||
This is your normal negative prompt. This will get fully added, at the end of the generated negative prompt.
|
||||
|
||||
## ComfyUI example
|
||||

|
||||
|
|
@ -1,10 +1,11 @@
|
|||
# ComfyUI integration
|
||||
One Button Prompt is now also a ComfyUI extension.
|
||||
|
||||
There are 3 nodes currently availabe, with One Button Prompt node being the main one.
|
||||
There are 4 nodes currently availabe, with One Button Prompt node being the main one.
|
||||
You can slam it in every workflow, where you replace it with the Positive Prompt node.
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## Installing in ComfyUI
|
||||
One Button Prompt is available in ComfyUI manager.
|
||||
|
|
@ -78,7 +79,20 @@ You can also use other extension for this. But I thought it was nice to include
|
|||
|
||||
Just simply also connect the output of One Button Prompt to the Postive Prompt node.
|
||||
|
||||

|
||||

|
||||
|
||||
### Auto Negative Prompt
|
||||
|
||||
The Auto Negative Prompt node, generates a negative prompt, based on the positive input. It can be used stand-alone as well, with any prompt field. It will try to enhance what was in the positive prompt. For example "anime" in the positive prompt, will add "photorealistic" in the negative prompt.
|
||||
|
||||
The following options are available:
|
||||
|
||||
base_negative --> Will be added onto the negative prompt
|
||||
|
||||
enhancenegative --> Will push a lot of quality enhancing terms into the negative prompt. Default value = 0
|
||||
|
||||
insanitylevel --> Larger numbers will randomly lower the amount of things in the negative prompt. Default value = 0
|
||||
|
||||
|
||||
|
||||
### Known issues
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
primer;negative
|
||||
assassin;assassins creed
|
||||
|
Loading…
Reference in New Issue