From c85b302a610c2dafc847d766db18e9994942017a Mon Sep 17 00:00:00 2001 From: Dijkstra Date: Thu, 31 Oct 2024 19:49:13 +0100 Subject: [PATCH 1/2] chore: CLIP is not optional in the LoraLoaderVanilla and LoraLoaderAdvanced --- nodes_autotrigger.py | 9 ++++----- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/nodes_autotrigger.py b/nodes_autotrigger.py index 95f373e..375a48c 100644 --- a/nodes_autotrigger.py +++ b/nodes_autotrigger.py @@ -14,7 +14,6 @@ class LoraLoaderVanilla: return { "required": { "model": ("MODEL",), - "clip": ("CLIP", ), "lora_name": (LORA_LIST, ), "strength_model": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), "strength_clip": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), @@ -22,6 +21,7 @@ class LoraLoaderVanilla: "append_loraname_if_empty": ("BOOLEAN", {"default": False}), }, "optional": { + "clip": ("CLIP", ), "override_lora_name":("STRING", {"forceInput": True}), } } @@ -31,7 +31,7 @@ class LoraLoaderVanilla: FUNCTION = "load_lora" CATEGORY = "autotrigger" - def load_lora(self, model, clip, lora_name, strength_model, strength_clip, force_fetch, append_loraname_if_empty, override_lora_name=""): + def load_lora(self, model, lora_name, strength_model, strength_clip, force_fetch, append_loraname_if_empty, clip=None, override_lora_name=""): if override_lora_name != "": lora_name = override_lora_name meta_tags_list = sort_tags_by_frequency(get_metadata(lora_name, "loras")) @@ -109,7 +109,6 @@ class LoraLoaderAdvanced: return { "required": { "model": ("MODEL",), - "clip": ("CLIP", ), "lora_name": (LORA_LIST, ), "strength_model": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), "strength_clip": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.01}), @@ -118,6 +117,7 @@ class LoraLoaderAdvanced: "append_loraname_if_empty": ("BOOLEAN", {"default": False}), }, "optional": { + "clip": ("CLIP", ), "override_lora_name":("STRING", {"forceInput": True}), } } @@ -127,7 +127,7 @@ class LoraLoaderAdvanced: FUNCTION = "load_lora" CATEGORY = "autotrigger" - def load_lora(self, model, clip, lora_name, strength_model, strength_clip, force_fetch, enable_preview, append_loraname_if_empty, override_lora_name=""): + def load_lora(self, model, lora_name, strength_model, strength_clip, force_fetch, enable_preview, append_loraname_if_empty, clip=None, override_lora_name=""): if override_lora_name != "": has_preview, prev = get_preview_path(override_lora_name, "loras") prev = f"loras/{prev}" if has_preview else None @@ -253,7 +253,6 @@ class LoraTagsOnly: return (civitai_tags_list, meta_tags_list) - # A dictionary that contains all nodes you want to export with their names # NOTE: names should be globally unique NODE_CLASS_MAPPINGS = { diff --git a/pyproject.toml b/pyproject.toml index 0e2fccc..2011a80 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui-lora-auto-trigger-words" description = "The aim of these custom nodes is to get an easy access to the tags used to trigger a lora / lycoris. Extract the tags from civitai or from the safetensors metadatas when available." -version = "1.0.2" +version = "1.0.3" license = "MIT" [project.urls] From 763152c041599d8c570b2f09dfb3e5b19c0e09fb Mon Sep 17 00:00:00 2001 From: Dijkstra Date: Thu, 31 Oct 2024 19:51:46 +0100 Subject: [PATCH 2/2] chore: set clip strength to 0 when there is no CLIP. (just in case) --- nodes_autotrigger.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nodes_autotrigger.py b/nodes_autotrigger.py index 375a48c..061af02 100644 --- a/nodes_autotrigger.py +++ b/nodes_autotrigger.py @@ -32,6 +32,8 @@ class LoraLoaderVanilla: CATEGORY = "autotrigger" def load_lora(self, model, lora_name, strength_model, strength_clip, force_fetch, append_loraname_if_empty, clip=None, override_lora_name=""): + if clip is None: + strength_clip=0 if override_lora_name != "": lora_name = override_lora_name meta_tags_list = sort_tags_by_frequency(get_metadata(lora_name, "loras")) @@ -128,6 +130,8 @@ class LoraLoaderAdvanced: CATEGORY = "autotrigger" def load_lora(self, model, lora_name, strength_model, strength_clip, force_fetch, enable_preview, append_loraname_if_empty, clip=None, override_lora_name=""): + if clip is None: + strength_clip=0 if override_lora_name != "": has_preview, prev = get_preview_path(override_lora_name, "loras") prev = f"loras/{prev}" if has_preview else None