diff --git a/comfy_extras/nodes_audio.py b/comfy_extras/nodes_audio.py index 136ad615..3ce5f6d2 100644 --- a/comfy_extras/nodes_audio.py +++ b/comfy_extras/nodes_audio.py @@ -146,6 +146,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 = "" @@ -176,6 +177,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 9a5e2777..e41e44a0 100644 --- a/execution.py +++ b/execution.py @@ -309,6 +309,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 8c1720c1..a1b1acce 100644 --- a/nodes.py +++ b/nodes.py @@ -1582,6 +1582,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 = "" @@ -1622,6 +1623,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"