From aab41a9ddb3cb586024a75141fcc2f5e838da12c Mon Sep 17 00:00:00 2001 From: Edoardo Carmignani Date: Thu, 21 May 2026 17:47:20 +0200 Subject: [PATCH] fix(lanczos): correct dimension transposition for single-channel tensors (#12679) --- comfy/utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/comfy/utils.py b/comfy/utils.py index 00e382fac..31052714a 100644 --- a/comfy/utils.py +++ b/comfy/utils.py @@ -1019,10 +1019,11 @@ def bislerp(samples, width, height): def lanczos(samples, width, height): #the below API is strict and expects grayscale to be squeezed - samples = samples.squeeze(1) if samples.shape[1] == 1 else samples.movedim(1, -1) + if samples.ndim == 4: + samples = samples.squeeze(1) if samples.shape[1] == 1 else samples.movedim(1, -1) images = [Image.fromarray(np.clip(255. * image.cpu().numpy(), 0, 255).astype(np.uint8)) for image in samples] images = [image.resize((width, height), resample=Image.Resampling.LANCZOS) for image in images] - images = [torch.from_numpy(np.array(image).astype(np.float32) / 255.0).movedim(-1, 0) for image in images] + images = [torch.from_numpy(t).movedim(-1, 0) if (t := np.array(image).astype(np.float32) / 255.0).ndim == 3 else torch.from_numpy(t) for image in images] result = torch.stack(images) return result.to(samples.device, samples.dtype)