diff --git a/comfy_extras/nodes_audio.py b/comfy_extras/nodes_audio.py index e5cc4dff..df011c04 100644 --- a/comfy_extras/nodes_audio.py +++ b/comfy_extras/nodes_audio.py @@ -121,6 +121,7 @@ def insert_or_replace_vorbis_comment(flac_io, comment_dict): class SaveAudio: def __init__(self): + self.id: str self.output_dir = folder_paths.get_output_directory() self.type = "output" self.prefix_append = "" @@ -151,6 +152,7 @@ class SaveAudio: if extra_pnginfo is not None: for x in extra_pnginfo: metadata[x] = json.dumps(extra_pnginfo[x]) + metadata["output_node_id"] = self.id for (batch_number, waveform) in enumerate(audio["waveform"].cpu()): filename_with_batch_num = filename.replace("%batch_num%", str(batch_number)) diff --git a/execution.py b/execution.py index 6c386341..1381c663 100644 --- a/execution.py +++ b/execution.py @@ -287,6 +287,7 @@ def execute(server, dynprompt, caches, current_item, extra_data, executed, promp obj = caches.objects.get(unique_id) if obj is None: obj = class_def() + obj.id = unique_id caches.objects.set(unique_id, obj) if hasattr(obj, "check_lazy_status"): diff --git a/nodes.py b/nodes.py index 15a78352..89422641 100644 --- a/nodes.py +++ b/nodes.py @@ -1472,6 +1472,7 @@ class KSamplerAdvanced: class SaveImage: def __init__(self): + self.id: str self.output_dir = folder_paths.get_output_directory() self.type = "output" self.prefix_append = "" @@ -1512,6 +1513,7 @@ class SaveImage: if extra_pnginfo is not None: for x in extra_pnginfo: metadata.add_text(x, json.dumps(extra_pnginfo[x])) + metadata.add_text("output_node_id", self.id) filename_with_batch_num = filename.replace("%batch_num%", str(batch_number)) file = f"{filename_with_batch_num}_{counter:05}_.png"