From cd1d02a53370d06b7a7a746083ff3d579e20da7e Mon Sep 17 00:00:00 2001 From: zanllp Date: Sun, 10 Nov 2024 18:27:39 +0800 Subject: [PATCH] Enhance prompt parsing compatibility with ComfyUI Flux --- scripts/iib/parsers/comfyui.py | 2 +- scripts/iib/tool.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/iib/parsers/comfyui.py b/scripts/iib/parsers/comfyui.py index 4a48eba..9a4d206 100644 --- a/scripts/iib/parsers/comfyui.py +++ b/scripts/iib/parsers/comfyui.py @@ -30,7 +30,7 @@ class ComfyUIParser: else: params = get_comfyui_exif_data(img) info = comfyui_exif_data_to_str(params) - except Exception: + except Exception as e: logger.error('parse comfyui image failed. prompt:') logger.error(img.info.get('prompt')) return ImageGenerationInfo() diff --git a/scripts/iib/tool.py b/scripts/iib/tool.py index 9027f88..5408b77 100644 --- a/scripts/iib/tool.py +++ b/scripts/iib/tool.py @@ -422,7 +422,8 @@ def get_comfyui_exif_data(img: Image): meta["Model"] = data[KSampler_entry["model"][0]]["inputs"]["ckpt_name"] meta["Source Identifier"] = "ComfyUI" def get_text_from_clip(idx: str) : - text = data[idx]["inputs"]["text"] + inputs = data[idx]["inputs"] + text = inputs["text"] if "text" in inputs else inputs["t5xxl"] if isinstance(text, list): # type:CLIPTextEncode (NSP) mode:Wildcards text = data[text[0]]["inputs"]["text"] return text.strip()