From c66ea5ca57c224974e9787501a15203ca67e94b5 Mon Sep 17 00:00:00 2001 From: Clawdio Date: Wed, 18 Mar 2026 20:01:09 +0000 Subject: [PATCH] feat: add fps (25.0) as third output to all video nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enables direct wiring to VHS_VideoCombine (Save Video): - frames → images input - fps → frame_rate input RETURN_TYPES: (IMAGE, STRING) → (IMAGE, STRING, FLOAT) RETURN_NAMES: (frames, video_path) → (frames, video_path, fps) --- __init__.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/__init__.py b/__init__.py index ae49d5e..e265f22 100644 --- a/__init__.py +++ b/__init__.py @@ -383,8 +383,8 @@ class LTXAudioToVideo: }, } - RETURN_TYPES = ("IMAGE", "STRING") - RETURN_NAMES = ("frames", "video_path") + RETURN_TYPES = ("IMAGE", "STRING", "FLOAT") + RETURN_NAMES = ("frames", "video_path", "fps") FUNCTION = "generate" CATEGORY = "LTX Video" OUTPUT_NODE = True @@ -420,7 +420,7 @@ class LTXAudioToVideo: payload["duration"] = duration frames, video_path = ltx_post("audio-to-video", api_key.strip(), payload) - return (frames, video_path) + return (frames, video_path, 25.0) # ───────────────────────────────────────────────────────────────────────────── @@ -450,8 +450,8 @@ class LTXTextToVideo: }, } - RETURN_TYPES = ("IMAGE", "STRING") - RETURN_NAMES = ("frames", "video_path") + RETURN_TYPES = ("IMAGE", "STRING", "FLOAT") + RETURN_NAMES = ("frames", "video_path", "fps") FUNCTION = "generate" CATEGORY = "LTX Video" OUTPUT_NODE = True @@ -474,7 +474,7 @@ class LTXTextToVideo: payload["seed"] = seed frames, video_path = ltx_post("text-to-video", api_key.strip(), payload) - return (frames, video_path) + return (frames, video_path, 25.0) # ───────────────────────────────────────────────────────────────────────────── @@ -504,8 +504,8 @@ class LTXImageToVideo: }, } - RETURN_TYPES = ("IMAGE", "STRING") - RETURN_NAMES = ("frames", "video_path") + RETURN_TYPES = ("IMAGE", "STRING", "FLOAT") + RETURN_NAMES = ("frames", "video_path", "fps") FUNCTION = "generate" CATEGORY = "LTX Video" OUTPUT_NODE = True @@ -533,7 +533,7 @@ class LTXImageToVideo: payload["seed"] = seed frames, video_path = ltx_post("image-to-video", api_key.strip(), payload) - return (frames, video_path) + return (frames, video_path, 25.0) # ───────────────────────────────────────────────────────────────────────────── @@ -566,8 +566,8 @@ class LTXExtendVideo: }, } - RETURN_TYPES = ("IMAGE", "STRING") - RETURN_NAMES = ("frames", "video_path") + RETURN_TYPES = ("IMAGE", "STRING", "FLOAT") + RETURN_NAMES = ("frames", "video_path", "fps") FUNCTION = "extend" CATEGORY = "LTX Video" OUTPUT_NODE = True @@ -588,7 +588,7 @@ class LTXExtendVideo: payload["negative_prompt"] = negative_prompt frames, video_path = ltx_post("extend", api_key.strip(), payload) - return (frames, video_path) + return (frames, video_path, 25.0) # ───────────────────────────────────────────────────────────────────────────── @@ -621,8 +621,8 @@ class LTXRetakeVideo: }, } - RETURN_TYPES = ("IMAGE", "STRING") - RETURN_NAMES = ("frames", "video_path") + RETURN_TYPES = ("IMAGE", "STRING", "FLOAT") + RETURN_NAMES = ("frames", "video_path", "fps") FUNCTION = "retake" CATEGORY = "LTX Video" OUTPUT_NODE = True @@ -643,7 +643,7 @@ class LTXRetakeVideo: payload["negative_prompt"] = negative_prompt frames, video_path = ltx_post("retake", api_key.strip(), payload) - return (frames, video_path) + return (frames, video_path, 25.0) # ─────────────────────────────────────────────────────────────────────────────