From 2559003f402fbb64888120c4980218431e3ed258 Mon Sep 17 00:00:00 2001 From: kijai <40791699+kijai@users.noreply.github.com> Date: Sat, 8 Mar 2025 11:21:54 +0200 Subject: [PATCH] Add option to skip latents on decode node Helps to mitigate the flashing on the new I2V results --- nodes.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index 04f4ce4..43f674f 100644 --- a/nodes.py +++ b/nodes.py @@ -1413,14 +1413,18 @@ class HyVideoDecode: "spatial_tile_sample_min_size": ("INT", {"default": 256, "min": 32, "max": 2048, "step": 32, "tooltip": "Spatial tile minimum size in pixels, smaller values use less VRAM, may introduce more seams"}), "auto_tile_size": ("BOOLEAN", {"default": True, "tooltip": "Automatically set tile size based on defaults, above settings are ignored"}), }, + + "optional": { + "skip_latents": ("INT", {"default": 0, "min": 0, "max": 1000, "step": 1, "tooltip": "Number of latents to skip from the start, can help with flashing"}), } + } RETURN_TYPES = ("IMAGE",) RETURN_NAMES = ("images",) FUNCTION = "decode" CATEGORY = "HunyuanVideoWrapper" - def decode(self, vae, samples, enable_vae_tiling, temporal_tiling_sample_size, spatial_tile_sample_min_size, auto_tile_size): + def decode(self, vae, samples, enable_vae_tiling, temporal_tiling_sample_size, spatial_tile_sample_min_size, auto_tile_size, skip_latents=0): device = mm.get_torch_device() offload_device = mm.unet_offload_device() mm.soft_empty_cache() @@ -1456,6 +1460,9 @@ class HyVideoDecode: #latents = latents / vae.config.scaling_factor latents = latents.to(vae.dtype).to(device) + if skip_latents > 0: + latents = latents[:, :, skip_latents:] + if enable_vae_tiling: vae.enable_tiling() video = vae.decode(