From c8f15aac4b9d774a34c8bea5e9ecd154647d61bd Mon Sep 17 00:00:00 2001 From: "SEKiN.VR" <112916323+SEkINVR@users.noreply.github.com> Date: Thu, 27 Jun 2024 21:11:44 -0700 Subject: [PATCH] Create BatchImageSaveNode.py --- BatchImageSaveNode.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 BatchImageSaveNode.py diff --git a/BatchImageSaveNode.py b/BatchImageSaveNode.py new file mode 100644 index 0000000..e4d9f52 --- /dev/null +++ b/BatchImageSaveNode.py @@ -0,0 +1,32 @@ +import os + +class BatchImageSaveNode: + RETURN_TYPES = ("IMAGE",) + FUNCTION = "execute" + CATEGORY = "Image Processing" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "images": ("IMAGE",), + "extension": ([".png", ".ico", ".jpeg", ".gif"],), + } + } + + def execute(self, images, save_path=None, extension=".png"): + # Set default save path + default_save_path = os.path.join("C:", "ComfyUI_windows_portable", "ComfyUI", "output") + + # Check if the default path exists and is writable + if not os.path.exists(default_save_path): + os.makedirs(default_save_path, exist_ok=True) # Create directory if it doesn't exist + + saved_files = [] + for i, image in enumerate(images): + filename = f"image_{i}.{extension.strip('.')}" + full_path = os.path.join(default_save_path, filename) + # Example save operation + image.save(full_path) # Replace with actual saving logic + saved_files.append(full_path) + return (saved_files,)