From 0c70446c9b0b7afc29ff198e2f8ea0a3f455c469 Mon Sep 17 00:00:00 2001 From: Rattus Date: Tue, 14 Apr 2026 11:12:47 +1000 Subject: [PATCH] nodes_video: save stream: Make audio optional --- comfy_extras/nodes_video.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/comfy_extras/nodes_video.py b/comfy_extras/nodes_video.py index f04653d28..92fce02cf 100644 --- a/comfy_extras/nodes_video.py +++ b/comfy_extras/nodes_video.py @@ -278,11 +278,11 @@ class SavePassthroughVideoStream(io.ComfyNode): has_intermediate_output=True, inputs=[ io.ImageStream.Input("stream", tooltip="The image stream to save."), - io.Audio.Input("audio", optional=True, tooltip="The audio to add to the video."), io.Float.Input("fps", default=30.0, min=1.0, max=120.0, step=1.0), io.String.Input("filename_prefix", default="video/ComfyUI", tooltip="The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes."), io.Combo.Input("format", options=Types.VideoContainer.as_input(), default="auto", tooltip="The format to save the video as."), io.Combo.Input("codec", options=Types.VideoCodec.as_input(), default="auto", tooltip="The codec to use for the video."), + io.Audio.Input("audio", optional=True, tooltip="The audio to add to the video."), ], outputs=[ io.ImageStream.Output(display_name="passthrough"), @@ -294,11 +294,11 @@ class SavePassthroughVideoStream(io.ComfyNode): def execute( cls, stream: Input.ImageStream, - audio: Optional[Input.Audio], fps: float, filename_prefix, format: str, codec, + audio: Optional[Input.Audio] = None, ) -> io.NodeOutput: return io.NodeOutput(_build_saved_stream(cls.hidden, stream, audio, fps, filename_prefix, format, codec)) @@ -316,12 +316,12 @@ class SaveVideoStream(io.ComfyNode): is_output_node=True, inputs=[ io.ImageStream.Input("stream", tooltip="The image stream to save."), - io.Audio.Input("audio", optional=True, tooltip="The audio to add to the video."), io.Float.Input("fps", default=30.0, min=1.0, max=120.0, step=1.0), io.Int.Input("chunk_size", default=8, min=1, max=4096), io.String.Input("filename_prefix", default="video/ComfyUI", tooltip="The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes."), io.Combo.Input("format", options=Types.VideoContainer.as_input(), default="auto", tooltip="The format to save the video as."), io.Combo.Input("codec", options=Types.VideoCodec.as_input(), default="auto", tooltip="The codec to use for the video."), + io.Audio.Input("audio", optional=True, tooltip="The audio to add to the video."), ], outputs=[], hidden=[io.Hidden.prompt, io.Hidden.extra_pnginfo, io.Hidden.unique_id, io.Hidden.dynprompt], @@ -331,12 +331,12 @@ class SaveVideoStream(io.ComfyNode): def execute( cls, stream: Input.ImageStream, - audio: Optional[Input.Audio], fps: float, chunk_size: int, filename_prefix, format: str, codec, + audio: Optional[Input.Audio] = None, ) -> io.NodeOutput: saved_stream = _build_saved_stream( cls.hidden,