From f48d29b1beb17c9887ee5541f8a15ff64af9e647 Mon Sep 17 00:00:00 2001 From: GeorgLegato Date: Fri, 28 Apr 2023 03:22:54 +0200 Subject: [PATCH 1/5] filtering in settings paint/inpainting models in dropdown --- iz_helpers/settings.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iz_helpers/settings.py b/iz_helpers/settings.py index 4338526..e201588 100644 --- a/iz_helpers/settings.py +++ b/iz_helpers/settings.py @@ -67,7 +67,7 @@ def on_ui_settings(): None, "Name of your desired model to render keyframes (txt2img)", gr.Dropdown, - lambda: {"choices": shared.list_checkpoint_tiles()}, + lambda: {"choices": [x for x in list(shared.list_checkpoint_tiles()) if "inpainting" not in x]}, section=section, ), ) @@ -78,7 +78,7 @@ def on_ui_settings(): None, "Name of your desired inpaint model (img2img-inpaint). Default is vanilla sd-v1-5-inpainting.ckpt ", gr.Dropdown, - lambda: {"choices": shared.list_checkpoint_tiles()}, + lambda: {"choices": [x for x in list(shared.list_checkpoint_tiles()) if "inpainting" in x]}, section=section, ), ) From c284fa24e5318d0878aa1567e42c8095f1e13b8a Mon Sep 17 00:00:00 2001 From: GeorgLegato Date: Fri, 28 Apr 2023 21:48:56 +0200 Subject: [PATCH 2/5] changed JSON schema: negPrompt, prePrompt, postPrompt, less name length --- iz_helpers/ui.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iz_helpers/ui.py b/iz_helpers/ui.py index 0b7b998..51ce9d2 100644 --- a/iz_helpers/ui.py +++ b/iz_helpers/ui.py @@ -50,7 +50,7 @@ def on_ui_tabs(): jpr = readJsonPrompt(pr, True) main_common_prompt_pre = gr.Textbox( - value=jpr["commonPromptPrefix"], label="Common Prompt Prefix" + value=jpr["prePrompt"], label="Common Prompt Prefix" ) main_prompts = gr.Dataframe( @@ -64,7 +64,7 @@ def on_ui_tabs(): ) main_common_prompt_suf = gr.Textbox( - value=jpr["commonPromptSuffix"], label="Common Prompt Suffix" + value=jpr["postPrompt"], label="Common Prompt Suffix" ) main_negative_prompt = gr.Textbox( From 14b2f4edaa3ca89acca3f61191e52841a528e087 Mon Sep 17 00:00:00 2001 From: GeorgLegato Date: Fri, 28 Apr 2023 21:49:41 +0200 Subject: [PATCH 3/5] shorter names in json schema (neg/pre/postPrompt) --- iz_helpers/helpers.py | 4 ++-- iz_helpers/prompt_util.py | 44 ++++++++++------------------------ iz_helpers/promptschema.json | 9 +++---- iz_helpers/static_variables.py | 10 ++++---- scripts/infinite-zoom.py | 2 -- 5 files changed, 23 insertions(+), 46 deletions(-) diff --git a/iz_helpers/helpers.py b/iz_helpers/helpers.py index 4373bac..72b8f34 100644 --- a/iz_helpers/helpers.py +++ b/iz_helpers/helpers.py @@ -100,9 +100,9 @@ def putPrompts(files): data = readJsonPrompt(file_contents,False) return [ - gr.Textbox.update(data["commonPromptPrefix"]), + gr.Textbox.update(data["prePrompt"]), gr.DataFrame.update(data["prompts"]), - gr.Textbox.update(data["commonPromptSuffix"]), + gr.Textbox.update(data["postPromt"]), gr.Textbox.update(data["negPrompt"]) ] diff --git a/iz_helpers/prompt_util.py b/iz_helpers/prompt_util.py index a1bd445..95519a8 100644 --- a/iz_helpers/prompt_util.py +++ b/iz_helpers/prompt_util.py @@ -7,40 +7,21 @@ from .static_variables import ( jsonprompt_schemafile ) -""" - json is valid, but not our current schema. - lets try something. - does it look like something usable? -def fixJson(j): - fixedJ = empty_prompt - try: - if isinstance(j, dict): - if "prompts" in j: - if "data" in j["prompts"]: - if isinstance (j["prompts"]["data"],list): - fixedJ["prompts"]["data"] = j["prompts"]["data"] - if not isinstance (fixedJ["prompts"]["data"][0]. - - if "headers" not in j["prompts"]: - fixedJ["prompts"]["headers"] = ["outpaint steps","prompt"] - else: - fixedJ["prompts"]["headers"] = j["prompts"]["headers"] - - if "negPrompt" in j: - fixedJ["prompts"]["headers"] - - if "commonPrompt" in j: - return j - except Exception: - raise "JsonFix: Failed on recovering json prompt" - return j -""" - -def fixHeaders(j): +def completeOptionals(j): if isinstance(j, dict): if "prompts" in j: if "headers" not in j["prompts"]: j["prompts"]["headers"] = ["outpaint steps","prompt"] + + if "negPrompt" not in j: + j["prompts"]["negPrompt"]="" + + if "prePrompt" not in j: + j["prompts"]["prePrompt"]="" + + if "postPrompt" not in j: + j["prompts"]["postPrompt"]="" + return j @@ -49,11 +30,12 @@ def validatePromptJson_throws(data): schema = json.load(s) try: validate(instance=data, schema=schema) + except Exception: raise "Your prompts are not schema valid." #fixJson(data) - return fixHeaders(data) + return completeOptionals(data) def readJsonPrompt(txt, returnFailPrompt=False): diff --git a/iz_helpers/promptschema.json b/iz_helpers/promptschema.json index 396a554..ec513e0 100644 --- a/iz_helpers/promptschema.json +++ b/iz_helpers/promptschema.json @@ -47,17 +47,14 @@ "negPrompt": { "type": "string" }, - "commonPromptPrefix": { + "prePrompt": { "type": "string" }, - "commonPromptSuffix": { + "postPrompt": { "type": "string" } }, "required": [ - "prompts", - "negPrompt", - "commonPromptPrefix", - "commonPromptSuffix" + "prompts" ] } \ No newline at end of file diff --git a/iz_helpers/static_variables.py b/iz_helpers/static_variables.py index b52b31d..503dec3 100644 --- a/iz_helpers/static_variables.py +++ b/iz_helpers/static_variables.py @@ -4,20 +4,20 @@ import modules.sd_samplers default_prompt = """ { - "commonPromptPrefix":" ", + "prePrompt":" ", "prompts":{ "headers":["outpaint steps","prompt","img"], "data":[ [0,"Huge spectacular Waterfall in a dense tropical forest,epic perspective,(vegetation overgrowth:1.3)(intricate, ornamentation:1.1),(baroque:1.1), fantasy, (realistic:1) digital painting , (magical,mystical:1.2) , (wide angle shot:1.4), (landscape composed:1.2)(medieval:1.1), divine,cinematic,(tropical forest:1.4),(river:1.3)mythology,india, volumetric lighting, Hindu ,epic"] ] }, - "commonPromptSuffix":"style by Alex Horley Wenjun Lin greg rutkowski Ruan Jia (Wayne Barlowe:1.2)", + "postPrompt":"style by Alex Horley Wenjun Lin greg rutkowski Ruan Jia (Wayne Barlowe:1.2)", "negPrompt":"frames, border, edges, borderline, text, character, duplicate, error, out of frame, watermark, low quality, ugly, deformed, blur, bad-artist" } """ empty_prompt = ( - '{"prompts":{"data":[],"headers":["outpaint steps","prompt"]},"negPrompt":"", commonPromptPrefix:"", commonPromptSuffix}' + '{"prompts":{"data":[],"headers":["outpaint steps","prompt"]},"negPrompt":"", prePrompt:"", postPrompt:""}' ) invalid_prompt = { @@ -26,8 +26,8 @@ invalid_prompt = { "headers": ["outpaint steps", "prompt"], }, "negPrompt": "Invalid prompt-json", - "commonPromptPrefix": "Invalid prompt", - "commonPromptSuffix": "Invalid prompt" + "prePromp": "Invalid prompt", + "postPrompt": "Invalid prompt" } available_samplers = [ diff --git a/scripts/infinite-zoom.py b/scripts/infinite-zoom.py index a68461f..ab2764d 100644 --- a/scripts/infinite-zoom.py +++ b/scripts/infinite-zoom.py @@ -1,7 +1,5 @@ from modules import script_callbacks from iz_helpers.ui import on_ui_tabs from iz_helpers.settings import on_ui_settings - - script_callbacks.on_ui_tabs(on_ui_tabs) script_callbacks.on_ui_settings(on_ui_settings) From 8da2fb1ba7ce7f46b47aab20b0982aa580fcf353 Mon Sep 17 00:00:00 2001 From: GeorgLegato Date: Sun, 30 Apr 2023 22:38:51 +0200 Subject: [PATCH 4/5] Hotfix: copy paste, post/preprompts on main level of jason Signed-off-by: GeorgLegato --- iz_helpers/prompt_util.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/iz_helpers/prompt_util.py b/iz_helpers/prompt_util.py index 95519a8..d246829 100644 --- a/iz_helpers/prompt_util.py +++ b/iz_helpers/prompt_util.py @@ -17,10 +17,10 @@ def completeOptionals(j): j["prompts"]["negPrompt"]="" if "prePrompt" not in j: - j["prompts"]["prePrompt"]="" + j["prePrompt"]="" if "postPrompt" not in j: - j["prompts"]["postPrompt"]="" + j["postPrompt"]="" return j @@ -56,4 +56,4 @@ def readJsonPrompt(txt, returnFailPrompt=False): if returnFailPrompt: return invalid_prompt pass - \ No newline at end of file + From 7591a9615531721d6b5a38a6fb3e20ec2563540a Mon Sep 17 00:00:00 2001 From: GeorgLegato Date: Sun, 30 Apr 2023 22:40:52 +0200 Subject: [PATCH 5/5] hotfix: fix prompts neg/post/pre Signed-off-by: GeorgLegato --- iz_helpers/prompt_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iz_helpers/prompt_util.py b/iz_helpers/prompt_util.py index d246829..ab978ee 100644 --- a/iz_helpers/prompt_util.py +++ b/iz_helpers/prompt_util.py @@ -14,7 +14,7 @@ def completeOptionals(j): j["prompts"]["headers"] = ["outpaint steps","prompt"] if "negPrompt" not in j: - j["prompts"]["negPrompt"]="" + j["negPrompt"]="" if "prePrompt" not in j: j["prePrompt"]=""