Prevent black images in VAE Decode (Tiled) node.

Overlap should be minimum 1 with tiling 2 for tiled temporal VAE decoding.
This commit is contained in:
comfyanonymous 2024-12-24 07:36:30 -05:00
parent 5388df784a
commit 73e04987f7
2 changed files with 5 additions and 2 deletions

View File

@ -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)

View File

@ -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)