diff --git a/nodes.py b/nodes.py index 1ab9041..c916ef2 100644 --- a/nodes.py +++ b/nodes.py @@ -2541,14 +2541,28 @@ class WanVideoDecode: return {"required": { "vae": ("WANVAE",), "samples": ("LATENT",), - "enable_vae_tiling": ("BOOLEAN", {"default": False, "tooltip": "Drastically reduces memory use but may introduce seams"}), - "tile_x": ("INT", {"default": 272, "min": 64, "max": 2048, "step": 1, "tooltip": "Tile size in pixels, smaller values use less VRAM, may introduce more seams"}), - "tile_y": ("INT", {"default": 272, "min": 64, "max": 2048, "step": 1, "tooltip": "Tile size in pixels, smaller values use less VRAM, may introduce more seams"}), - "tile_stride_x": ("INT", {"default": 144, "min": 32, "max": 2048, "step": 32, "tooltip": "Tile stride in pixels, smaller values use less VRAM, may introduce more seams"}), - "tile_stride_y": ("INT", {"default": 128, "min": 32, "max": 2048, "step": 32, "tooltip": "Tile stride in pixels, smaller values use less VRAM, may introduce more seams"}), + "enable_vae_tiling": ("BOOLEAN", {"default": False, "tooltip": ( + "Drastically reduces memory use but will introduce seams at tile stride boundaries. " + "The location and number of seams is dictated by the tile stride size. " + "The visibility of seams can be controlled by increasing the tile size. " + "Seams become less obvious at 1.5x stride and are barely noticeable at 2x stride size. " + "Which is to say if you use a stride width of 160, the seams are barely noticeable with a tile width of 320." + )}), + "tile_x": ("INT", {"default": 272, "min": 40, "max": 2048, "step": 8, "tooltip": "Tile width in pixels. Smaller values use less VRAM but will make seams more obvious."}), + "tile_y": ("INT", {"default": 272, "min": 40, "max": 2048, "step": 8, "tooltip": "Tile height in pixels. Smaller values use less VRAM but will make seams more obvious."}), + "tile_stride_x": ("INT", {"default": 144, "min": 32, "max": 2040, "step": 8, "tooltip": "Tile stride width in pixels. Smaller values use less VRAM but will introduce more seams."}), + "tile_stride_y": ("INT", {"default": 128, "min": 32, "max": 2040, "step": 8, "tooltip": "Tile stride height in pixels. Smaller values use less VRAM but will introduce more seams."}), }, } + @classmethod + def VALIDATE_INPUTS(s, tile_x, tile_y, tile_stride_x, tile_stride_y): + if tile_x <= tile_stride_x: + return "Tile width must be larger than the tile stride width." + if tile_y <= tile_stride_y: + return "Tile height must be larger than the tile stride height." + return True + RETURN_TYPES = ("IMAGE",) RETURN_NAMES = ("images",) FUNCTION = "decode"