
    +h
                     r    S SK Jr  S SKJr  S SKJr  SSKJr  \R                  " \	5      r
 " S S\\\5      rg)	   )WanLoraLoaderMixin)StableDiffusionMixin)logging   )ModularPipelinec                       \ rS rSrSr\S 5       r\S 5       r\S 5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       rSrg)WanModularPipeline   z
A ModularPipeline for Wan.

<Tip warning={true}>

    This is an experimental feature and is likely to change in the future.

</Tip>
c                 4    U R                   U R                  -  $ N)default_sample_heightvae_scale_factor_spatialselfs    j/home/james-whalen/.local/lib/python3.13/site-packages/diffusers/modular_pipelines/wan/modular_pipeline.pydefault_height!WanModularPipeline.default_height(   s    ))D,I,III    c                 4    U R                   U R                  -  $ r   )default_sample_widthr   r   s    r   default_width WanModularPipeline.default_width,   s    ((4+H+HHHr   c                 @    U R                   S-
  U R                  -  S-   $ )N   )default_sample_num_framesvae_scale_factor_temporalr   s    r   default_num_frames%WanModularPipeline.default_num_frames0   s$    ..2d6T6TTWXXXr   c                     g)N<    r   s    r   r   (WanModularPipeline.default_sample_height4       r   c                     g)Nh   r!   r   s    r   r   'WanModularPipeline.default_sample_width8   s    r   c                     g)N   r!   r   s    r   r   ,WanModularPipeline.default_sample_num_frames<   r#   r   c                     Sn[        U S5      (       a/  U R                  b"  S[        U R                  R                  5      -  nU$ )N   vaer   )hasattrr,   lentemperal_downsampler   vae_scale_factors     r   r   +WanModularPipeline.vae_scale_factor_spatial@   >    4DHH$8 C(D(D$EEr   c                     Sn[        U S5      (       a/  U R                  b"  S[        U R                  R                  5      -  nU$ )N   r,   r   )r-   r,   sumr/   r0   s     r   r   ,WanModularPipeline.vae_scale_factor_temporalG   r3   r   c                     Sn[        U S5      (       a-  U R                  b   U R                  R                  R                  nU$ )N   transformer)r-   r:   configin_channels)r   num_channels_transformers     r   r=   +WanModularPipeline.num_channels_transformerN   s>    #% 4''D,<,<,H'+'7'7'>'>'J'J$''r   c                     Sn[        U S5      (       a-  U R                  b   U R                  R                  R                  nU$ )Nr9   r,   )r-   r,   r;   z_dim)r   num_channels_latentss     r   rA   'WanModularPipeline.num_channels_latentsU   s8    !4DHH$8#'88??#8#8 ##r   r!   N)__name__
__module____qualname____firstlineno____doc__propertyr   r   r   r   r   r   r   r   r=   rA   __static_attributes__r!   r   r   r	   r	      s    
 J J I I Y Y               ( ( $ $r   r	   N)loadersr   pipelines.pipeline_utilsr   utilsr   modular_pipeliner   
get_loggerrC   loggerr	   r!   r   r   <module>rP      s:     * <  . 
		H	%A$A$r   