diff --git a/comfy/sd.py b/comfy/sd.py index 2db00fa4..de3ce677 100644 --- a/comfy/sd.py +++ b/comfy/sd.py @@ -509,9 +509,10 @@ class VAE: if overlap_t is None: args["overlap"] = (1, overlap, overlap) else: - args["overlap"] = (overlap_t, overlap, overlap) + args["overlap"] = (max(1, overlap_t), overlap, overlap) if tile_t is not None: - args["tile_t"] = tile_t + args["tile_t"] = max(2, tile_t) + output = self.decode_tiled_3d(samples, **args) return output.movedim(1, -1) diff --git a/nodes.py b/nodes.py index e95abc40..a135a612 100644 --- a/nodes.py +++ b/nodes.py @@ -304,6 +304,8 @@ class VAEDecodeTiled: def decode(self, vae, samples, tile_size, overlap=64, temporal_size=64, temporal_overlap=8): if tile_size < overlap * 4: overlap = tile_size // 4 + if temporal_size < temporal_overlap * 2: + temporal_overlap = temporal_overlap // 2 temporal_compression = vae.temporal_compression_decode() if temporal_compression is not None: temporal_size = max(2, temporal_size // temporal_compression)