From 0af0f5f8f326f67a1dcd1abeb8b91c69d88d8958 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Thu, 29 Jan 2026 14:35:31 +0530 Subject: [PATCH] fix wan 2.2 when either of the transformers isn't present. --- src/diffusers/pipelines/wan/pipeline_wan.py | 9 +++++++-- src/diffusers/pipelines/wan/pipeline_wan_i2v.py | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/diffusers/pipelines/wan/pipeline_wan.py b/src/diffusers/pipelines/wan/pipeline_wan.py index 362440c8c9c8..e77a3356b883 100644 --- a/src/diffusers/pipelines/wan/pipeline_wan.py +++ b/src/diffusers/pipelines/wan/pipeline_wan.py @@ -496,8 +496,13 @@ def __call__( num_frames = num_frames // self.vae_scale_factor_temporal * self.vae_scale_factor_temporal + 1 num_frames = max(num_frames, 1) - h_multiple_of = self.vae_scale_factor_spatial * self.transformer.config.patch_size[1] - w_multiple_of = self.vae_scale_factor_spatial * self.transformer.config.patch_size[2] + patch_size = ( + self.transformer.config.patch_size + if self.transformer is not None + else self.transformer_2.config.patch_size + ) + h_multiple_of = self.vae_scale_factor_spatial * patch_size[1] + w_multiple_of = self.vae_scale_factor_spatial * patch_size[2] calc_height = height // h_multiple_of * h_multiple_of calc_width = width // w_multiple_of * w_multiple_of if height != calc_height or width != calc_width: diff --git a/src/diffusers/pipelines/wan/pipeline_wan_i2v.py b/src/diffusers/pipelines/wan/pipeline_wan_i2v.py index e22d8393bd1a..c1c4a92c2c39 100644 --- a/src/diffusers/pipelines/wan/pipeline_wan_i2v.py +++ b/src/diffusers/pipelines/wan/pipeline_wan_i2v.py @@ -637,8 +637,13 @@ def __call__( num_frames = num_frames // self.vae_scale_factor_temporal * self.vae_scale_factor_temporal + 1 num_frames = max(num_frames, 1) - h_multiple_of = self.vae_scale_factor_spatial * self.transformer.config.patch_size[1] - w_multiple_of = self.vae_scale_factor_spatial * self.transformer.config.patch_size[2] + patch_size = ( + self.transformer.config.patch_size + if self.transformer is not None + else self.transformer_2.config.patch_size + ) + h_multiple_of = self.vae_scale_factor_spatial * patch_size[1] + w_multiple_of = self.vae_scale_factor_spatial * patch_size[2] calc_height = height // h_multiple_of * h_multiple_of calc_width = width // w_multiple_of * w_multiple_of if height != calc_height or width != calc_width: