diffusers 0.33.1__py3-none-any.whl → 0.35.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. diffusers/__init__.py +145 -1
  2. diffusers/callbacks.py +35 -0
  3. diffusers/commands/__init__.py +1 -1
  4. diffusers/commands/custom_blocks.py +134 -0
  5. diffusers/commands/diffusers_cli.py +3 -1
  6. diffusers/commands/env.py +1 -1
  7. diffusers/commands/fp16_safetensors.py +2 -2
  8. diffusers/configuration_utils.py +11 -2
  9. diffusers/dependency_versions_check.py +1 -1
  10. diffusers/dependency_versions_table.py +3 -3
  11. diffusers/experimental/rl/value_guided_sampling.py +1 -1
  12. diffusers/guiders/__init__.py +41 -0
  13. diffusers/guiders/adaptive_projected_guidance.py +188 -0
  14. diffusers/guiders/auto_guidance.py +190 -0
  15. diffusers/guiders/classifier_free_guidance.py +141 -0
  16. diffusers/guiders/classifier_free_zero_star_guidance.py +152 -0
  17. diffusers/guiders/frequency_decoupled_guidance.py +327 -0
  18. diffusers/guiders/guider_utils.py +309 -0
  19. diffusers/guiders/perturbed_attention_guidance.py +271 -0
  20. diffusers/guiders/skip_layer_guidance.py +262 -0
  21. diffusers/guiders/smoothed_energy_guidance.py +251 -0
  22. diffusers/guiders/tangential_classifier_free_guidance.py +143 -0
  23. diffusers/hooks/__init__.py +17 -0
  24. diffusers/hooks/_common.py +56 -0
  25. diffusers/hooks/_helpers.py +293 -0
  26. diffusers/hooks/faster_cache.py +9 -8
  27. diffusers/hooks/first_block_cache.py +259 -0
  28. diffusers/hooks/group_offloading.py +332 -227
  29. diffusers/hooks/hooks.py +58 -3
  30. diffusers/hooks/layer_skip.py +263 -0
  31. diffusers/hooks/layerwise_casting.py +5 -10
  32. diffusers/hooks/pyramid_attention_broadcast.py +15 -12
  33. diffusers/hooks/smoothed_energy_guidance_utils.py +167 -0
  34. diffusers/hooks/utils.py +43 -0
  35. diffusers/image_processor.py +7 -2
  36. diffusers/loaders/__init__.py +10 -0
  37. diffusers/loaders/ip_adapter.py +260 -18
  38. diffusers/loaders/lora_base.py +261 -127
  39. diffusers/loaders/lora_conversion_utils.py +657 -35
  40. diffusers/loaders/lora_pipeline.py +2778 -1246
  41. diffusers/loaders/peft.py +78 -112
  42. diffusers/loaders/single_file.py +2 -2
  43. diffusers/loaders/single_file_model.py +64 -15
  44. diffusers/loaders/single_file_utils.py +395 -7
  45. diffusers/loaders/textual_inversion.py +3 -2
  46. diffusers/loaders/transformer_flux.py +10 -11
  47. diffusers/loaders/transformer_sd3.py +8 -3
  48. diffusers/loaders/unet.py +24 -21
  49. diffusers/loaders/unet_loader_utils.py +6 -3
  50. diffusers/loaders/utils.py +1 -1
  51. diffusers/models/__init__.py +23 -1
  52. diffusers/models/activations.py +5 -5
  53. diffusers/models/adapter.py +2 -3
  54. diffusers/models/attention.py +488 -7
  55. diffusers/models/attention_dispatch.py +1218 -0
  56. diffusers/models/attention_flax.py +10 -10
  57. diffusers/models/attention_processor.py +113 -667
  58. diffusers/models/auto_model.py +49 -12
  59. diffusers/models/autoencoders/__init__.py +2 -0
  60. diffusers/models/autoencoders/autoencoder_asym_kl.py +4 -4
  61. diffusers/models/autoencoders/autoencoder_dc.py +17 -4
  62. diffusers/models/autoencoders/autoencoder_kl.py +5 -5
  63. diffusers/models/autoencoders/autoencoder_kl_allegro.py +4 -4
  64. diffusers/models/autoencoders/autoencoder_kl_cogvideox.py +6 -6
  65. diffusers/models/autoencoders/autoencoder_kl_cosmos.py +1110 -0
  66. diffusers/models/autoencoders/autoencoder_kl_hunyuan_video.py +2 -2
  67. diffusers/models/autoencoders/autoencoder_kl_ltx.py +3 -3
  68. diffusers/models/autoencoders/autoencoder_kl_magvit.py +4 -4
  69. diffusers/models/autoencoders/autoencoder_kl_mochi.py +3 -3
  70. diffusers/models/autoencoders/autoencoder_kl_qwenimage.py +1070 -0
  71. diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +4 -4
  72. diffusers/models/autoencoders/autoencoder_kl_wan.py +626 -62
  73. diffusers/models/autoencoders/autoencoder_oobleck.py +1 -1
  74. diffusers/models/autoencoders/autoencoder_tiny.py +3 -3
  75. diffusers/models/autoencoders/consistency_decoder_vae.py +1 -1
  76. diffusers/models/autoencoders/vae.py +13 -2
  77. diffusers/models/autoencoders/vq_model.py +2 -2
  78. diffusers/models/cache_utils.py +32 -10
  79. diffusers/models/controlnet.py +1 -1
  80. diffusers/models/controlnet_flux.py +1 -1
  81. diffusers/models/controlnet_sd3.py +1 -1
  82. diffusers/models/controlnet_sparsectrl.py +1 -1
  83. diffusers/models/controlnets/__init__.py +1 -0
  84. diffusers/models/controlnets/controlnet.py +3 -3
  85. diffusers/models/controlnets/controlnet_flax.py +1 -1
  86. diffusers/models/controlnets/controlnet_flux.py +21 -20
  87. diffusers/models/controlnets/controlnet_hunyuan.py +2 -2
  88. diffusers/models/controlnets/controlnet_sana.py +290 -0
  89. diffusers/models/controlnets/controlnet_sd3.py +1 -1
  90. diffusers/models/controlnets/controlnet_sparsectrl.py +2 -2
  91. diffusers/models/controlnets/controlnet_union.py +5 -5
  92. diffusers/models/controlnets/controlnet_xs.py +7 -7
  93. diffusers/models/controlnets/multicontrolnet.py +4 -5
  94. diffusers/models/controlnets/multicontrolnet_union.py +5 -6
  95. diffusers/models/downsampling.py +2 -2
  96. diffusers/models/embeddings.py +36 -46
  97. diffusers/models/embeddings_flax.py +2 -2
  98. diffusers/models/lora.py +3 -3
  99. diffusers/models/model_loading_utils.py +233 -1
  100. diffusers/models/modeling_flax_utils.py +1 -2
  101. diffusers/models/modeling_utils.py +203 -108
  102. diffusers/models/normalization.py +4 -4
  103. diffusers/models/resnet.py +2 -2
  104. diffusers/models/resnet_flax.py +1 -1
  105. diffusers/models/transformers/__init__.py +7 -0
  106. diffusers/models/transformers/auraflow_transformer_2d.py +70 -24
  107. diffusers/models/transformers/cogvideox_transformer_3d.py +1 -1
  108. diffusers/models/transformers/consisid_transformer_3d.py +1 -1
  109. diffusers/models/transformers/dit_transformer_2d.py +2 -2
  110. diffusers/models/transformers/dual_transformer_2d.py +1 -1
  111. diffusers/models/transformers/hunyuan_transformer_2d.py +2 -2
  112. diffusers/models/transformers/latte_transformer_3d.py +4 -5
  113. diffusers/models/transformers/lumina_nextdit2d.py +2 -2
  114. diffusers/models/transformers/pixart_transformer_2d.py +3 -3
  115. diffusers/models/transformers/prior_transformer.py +1 -1
  116. diffusers/models/transformers/sana_transformer.py +8 -3
  117. diffusers/models/transformers/stable_audio_transformer.py +5 -9
  118. diffusers/models/transformers/t5_film_transformer.py +3 -3
  119. diffusers/models/transformers/transformer_2d.py +1 -1
  120. diffusers/models/transformers/transformer_allegro.py +1 -1
  121. diffusers/models/transformers/transformer_chroma.py +641 -0
  122. diffusers/models/transformers/transformer_cogview3plus.py +5 -10
  123. diffusers/models/transformers/transformer_cogview4.py +353 -27
  124. diffusers/models/transformers/transformer_cosmos.py +586 -0
  125. diffusers/models/transformers/transformer_flux.py +376 -138
  126. diffusers/models/transformers/transformer_hidream_image.py +942 -0
  127. diffusers/models/transformers/transformer_hunyuan_video.py +12 -8
  128. diffusers/models/transformers/transformer_hunyuan_video_framepack.py +416 -0
  129. diffusers/models/transformers/transformer_ltx.py +105 -24
  130. diffusers/models/transformers/transformer_lumina2.py +1 -1
  131. diffusers/models/transformers/transformer_mochi.py +1 -1
  132. diffusers/models/transformers/transformer_omnigen.py +2 -2
  133. diffusers/models/transformers/transformer_qwenimage.py +645 -0
  134. diffusers/models/transformers/transformer_sd3.py +7 -7
  135. diffusers/models/transformers/transformer_skyreels_v2.py +607 -0
  136. diffusers/models/transformers/transformer_temporal.py +1 -1
  137. diffusers/models/transformers/transformer_wan.py +316 -87
  138. diffusers/models/transformers/transformer_wan_vace.py +387 -0
  139. diffusers/models/unets/unet_1d.py +1 -1
  140. diffusers/models/unets/unet_1d_blocks.py +1 -1
  141. diffusers/models/unets/unet_2d.py +1 -1
  142. diffusers/models/unets/unet_2d_blocks.py +1 -1
  143. diffusers/models/unets/unet_2d_blocks_flax.py +8 -7
  144. diffusers/models/unets/unet_2d_condition.py +4 -3
  145. diffusers/models/unets/unet_2d_condition_flax.py +2 -2
  146. diffusers/models/unets/unet_3d_blocks.py +1 -1
  147. diffusers/models/unets/unet_3d_condition.py +3 -3
  148. diffusers/models/unets/unet_i2vgen_xl.py +3 -3
  149. diffusers/models/unets/unet_kandinsky3.py +1 -1
  150. diffusers/models/unets/unet_motion_model.py +2 -2
  151. diffusers/models/unets/unet_stable_cascade.py +1 -1
  152. diffusers/models/upsampling.py +2 -2
  153. diffusers/models/vae_flax.py +2 -2
  154. diffusers/models/vq_model.py +1 -1
  155. diffusers/modular_pipelines/__init__.py +83 -0
  156. diffusers/modular_pipelines/components_manager.py +1068 -0
  157. diffusers/modular_pipelines/flux/__init__.py +66 -0
  158. diffusers/modular_pipelines/flux/before_denoise.py +689 -0
  159. diffusers/modular_pipelines/flux/decoders.py +109 -0
  160. diffusers/modular_pipelines/flux/denoise.py +227 -0
  161. diffusers/modular_pipelines/flux/encoders.py +412 -0
  162. diffusers/modular_pipelines/flux/modular_blocks.py +181 -0
  163. diffusers/modular_pipelines/flux/modular_pipeline.py +59 -0
  164. diffusers/modular_pipelines/modular_pipeline.py +2446 -0
  165. diffusers/modular_pipelines/modular_pipeline_utils.py +672 -0
  166. diffusers/modular_pipelines/node_utils.py +665 -0
  167. diffusers/modular_pipelines/stable_diffusion_xl/__init__.py +77 -0
  168. diffusers/modular_pipelines/stable_diffusion_xl/before_denoise.py +1874 -0
  169. diffusers/modular_pipelines/stable_diffusion_xl/decoders.py +208 -0
  170. diffusers/modular_pipelines/stable_diffusion_xl/denoise.py +771 -0
  171. diffusers/modular_pipelines/stable_diffusion_xl/encoders.py +887 -0
  172. diffusers/modular_pipelines/stable_diffusion_xl/modular_blocks.py +380 -0
  173. diffusers/modular_pipelines/stable_diffusion_xl/modular_pipeline.py +365 -0
  174. diffusers/modular_pipelines/wan/__init__.py +66 -0
  175. diffusers/modular_pipelines/wan/before_denoise.py +365 -0
  176. diffusers/modular_pipelines/wan/decoders.py +105 -0
  177. diffusers/modular_pipelines/wan/denoise.py +261 -0
  178. diffusers/modular_pipelines/wan/encoders.py +242 -0
  179. diffusers/modular_pipelines/wan/modular_blocks.py +144 -0
  180. diffusers/modular_pipelines/wan/modular_pipeline.py +90 -0
  181. diffusers/pipelines/__init__.py +68 -6
  182. diffusers/pipelines/allegro/pipeline_allegro.py +11 -11
  183. diffusers/pipelines/amused/pipeline_amused.py +7 -6
  184. diffusers/pipelines/amused/pipeline_amused_img2img.py +6 -5
  185. diffusers/pipelines/amused/pipeline_amused_inpaint.py +6 -5
  186. diffusers/pipelines/animatediff/pipeline_animatediff.py +6 -6
  187. diffusers/pipelines/animatediff/pipeline_animatediff_controlnet.py +6 -6
  188. diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py +16 -15
  189. diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py +6 -6
  190. diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +5 -5
  191. diffusers/pipelines/animatediff/pipeline_animatediff_video2video_controlnet.py +5 -5
  192. diffusers/pipelines/audioldm/pipeline_audioldm.py +8 -7
  193. diffusers/pipelines/audioldm2/modeling_audioldm2.py +1 -1
  194. diffusers/pipelines/audioldm2/pipeline_audioldm2.py +22 -13
  195. diffusers/pipelines/aura_flow/pipeline_aura_flow.py +48 -11
  196. diffusers/pipelines/auto_pipeline.py +23 -20
  197. diffusers/pipelines/blip_diffusion/modeling_blip2.py +1 -1
  198. diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py +2 -2
  199. diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +11 -10
  200. diffusers/pipelines/chroma/__init__.py +49 -0
  201. diffusers/pipelines/chroma/pipeline_chroma.py +949 -0
  202. diffusers/pipelines/chroma/pipeline_chroma_img2img.py +1034 -0
  203. diffusers/pipelines/chroma/pipeline_output.py +21 -0
  204. diffusers/pipelines/cogvideo/pipeline_cogvideox.py +17 -16
  205. diffusers/pipelines/cogvideo/pipeline_cogvideox_fun_control.py +17 -16
  206. diffusers/pipelines/cogvideo/pipeline_cogvideox_image2video.py +18 -17
  207. diffusers/pipelines/cogvideo/pipeline_cogvideox_video2video.py +17 -16
  208. diffusers/pipelines/cogview3/pipeline_cogview3plus.py +9 -9
  209. diffusers/pipelines/cogview4/pipeline_cogview4.py +23 -22
  210. diffusers/pipelines/cogview4/pipeline_cogview4_control.py +7 -7
  211. diffusers/pipelines/consisid/consisid_utils.py +2 -2
  212. diffusers/pipelines/consisid/pipeline_consisid.py +8 -8
  213. diffusers/pipelines/consistency_models/pipeline_consistency_models.py +1 -1
  214. diffusers/pipelines/controlnet/pipeline_controlnet.py +7 -7
  215. diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +11 -10
  216. diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +7 -7
  217. diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +7 -7
  218. diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +14 -14
  219. diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +10 -6
  220. diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +13 -13
  221. diffusers/pipelines/controlnet/pipeline_controlnet_union_inpaint_sd_xl.py +226 -107
  222. diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl.py +12 -8
  223. diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl_img2img.py +207 -105
  224. diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +1 -1
  225. diffusers/pipelines/controlnet_hunyuandit/pipeline_hunyuandit_controlnet.py +8 -8
  226. diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet.py +7 -7
  227. diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet_inpainting.py +7 -7
  228. diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +12 -10
  229. diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py +9 -7
  230. diffusers/pipelines/cosmos/__init__.py +54 -0
  231. diffusers/pipelines/cosmos/pipeline_cosmos2_text2image.py +673 -0
  232. diffusers/pipelines/cosmos/pipeline_cosmos2_video2world.py +792 -0
  233. diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +664 -0
  234. diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +826 -0
  235. diffusers/pipelines/cosmos/pipeline_output.py +40 -0
  236. diffusers/pipelines/dance_diffusion/pipeline_dance_diffusion.py +5 -4
  237. diffusers/pipelines/ddim/pipeline_ddim.py +4 -4
  238. diffusers/pipelines/ddpm/pipeline_ddpm.py +1 -1
  239. diffusers/pipelines/deepfloyd_if/pipeline_if.py +10 -10
  240. diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +10 -10
  241. diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +10 -10
  242. diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +10 -10
  243. diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +10 -10
  244. diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +10 -10
  245. diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion.py +8 -8
  246. diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion_img2img.py +5 -5
  247. diffusers/pipelines/deprecated/audio_diffusion/mel.py +1 -1
  248. diffusers/pipelines/deprecated/audio_diffusion/pipeline_audio_diffusion.py +3 -3
  249. diffusers/pipelines/deprecated/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +1 -1
  250. diffusers/pipelines/deprecated/pndm/pipeline_pndm.py +2 -2
  251. diffusers/pipelines/deprecated/repaint/pipeline_repaint.py +4 -3
  252. diffusers/pipelines/deprecated/score_sde_ve/pipeline_score_sde_ve.py +1 -1
  253. diffusers/pipelines/deprecated/spectrogram_diffusion/continuous_encoder.py +1 -1
  254. diffusers/pipelines/deprecated/spectrogram_diffusion/midi_utils.py +1 -1
  255. diffusers/pipelines/deprecated/spectrogram_diffusion/notes_encoder.py +1 -1
  256. diffusers/pipelines/deprecated/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +1 -1
  257. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +8 -8
  258. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_onnx_stable_diffusion_inpaint_legacy.py +9 -9
  259. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +10 -10
  260. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +10 -8
  261. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +5 -5
  262. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +18 -18
  263. diffusers/pipelines/deprecated/stochastic_karras_ve/pipeline_stochastic_karras_ve.py +1 -1
  264. diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +2 -2
  265. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion.py +6 -6
  266. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +5 -5
  267. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +5 -5
  268. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +5 -5
  269. diffusers/pipelines/deprecated/vq_diffusion/pipeline_vq_diffusion.py +1 -1
  270. diffusers/pipelines/dit/pipeline_dit.py +4 -2
  271. diffusers/pipelines/easyanimate/pipeline_easyanimate.py +4 -4
  272. diffusers/pipelines/easyanimate/pipeline_easyanimate_control.py +4 -4
  273. diffusers/pipelines/easyanimate/pipeline_easyanimate_inpaint.py +7 -6
  274. diffusers/pipelines/flux/__init__.py +4 -0
  275. diffusers/pipelines/flux/modeling_flux.py +1 -1
  276. diffusers/pipelines/flux/pipeline_flux.py +37 -36
  277. diffusers/pipelines/flux/pipeline_flux_control.py +9 -9
  278. diffusers/pipelines/flux/pipeline_flux_control_img2img.py +7 -7
  279. diffusers/pipelines/flux/pipeline_flux_control_inpaint.py +7 -7
  280. diffusers/pipelines/flux/pipeline_flux_controlnet.py +7 -7
  281. diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py +31 -23
  282. diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py +3 -2
  283. diffusers/pipelines/flux/pipeline_flux_fill.py +7 -7
  284. diffusers/pipelines/flux/pipeline_flux_img2img.py +40 -7
  285. diffusers/pipelines/flux/pipeline_flux_inpaint.py +12 -7
  286. diffusers/pipelines/flux/pipeline_flux_kontext.py +1134 -0
  287. diffusers/pipelines/flux/pipeline_flux_kontext_inpaint.py +1460 -0
  288. diffusers/pipelines/flux/pipeline_flux_prior_redux.py +2 -2
  289. diffusers/pipelines/flux/pipeline_output.py +6 -4
  290. diffusers/pipelines/free_init_utils.py +2 -2
  291. diffusers/pipelines/free_noise_utils.py +3 -3
  292. diffusers/pipelines/hidream_image/__init__.py +47 -0
  293. diffusers/pipelines/hidream_image/pipeline_hidream_image.py +1026 -0
  294. diffusers/pipelines/hidream_image/pipeline_output.py +35 -0
  295. diffusers/pipelines/hunyuan_video/__init__.py +2 -0
  296. diffusers/pipelines/hunyuan_video/pipeline_hunyuan_skyreels_image2video.py +8 -8
  297. diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video.py +26 -25
  298. diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video_framepack.py +1114 -0
  299. diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video_image2video.py +71 -15
  300. diffusers/pipelines/hunyuan_video/pipeline_output.py +19 -0
  301. diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +8 -8
  302. diffusers/pipelines/i2vgen_xl/pipeline_i2vgen_xl.py +10 -8
  303. diffusers/pipelines/kandinsky/pipeline_kandinsky.py +6 -6
  304. diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +34 -34
  305. diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +19 -26
  306. diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +7 -7
  307. diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +11 -11
  308. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +6 -6
  309. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +35 -35
  310. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +6 -6
  311. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +17 -39
  312. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +17 -45
  313. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +7 -7
  314. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +10 -10
  315. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +10 -10
  316. diffusers/pipelines/kandinsky3/pipeline_kandinsky3.py +7 -7
  317. diffusers/pipelines/kandinsky3/pipeline_kandinsky3_img2img.py +17 -38
  318. diffusers/pipelines/kolors/pipeline_kolors.py +10 -10
  319. diffusers/pipelines/kolors/pipeline_kolors_img2img.py +12 -12
  320. diffusers/pipelines/kolors/text_encoder.py +3 -3
  321. diffusers/pipelines/kolors/tokenizer.py +1 -1
  322. diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +2 -2
  323. diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +2 -2
  324. diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +1 -1
  325. diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion_superresolution.py +3 -3
  326. diffusers/pipelines/latte/pipeline_latte.py +12 -12
  327. diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion.py +13 -13
  328. diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion_xl.py +17 -16
  329. diffusers/pipelines/ltx/__init__.py +4 -0
  330. diffusers/pipelines/ltx/modeling_latent_upsampler.py +188 -0
  331. diffusers/pipelines/ltx/pipeline_ltx.py +64 -18
  332. diffusers/pipelines/ltx/pipeline_ltx_condition.py +117 -38
  333. diffusers/pipelines/ltx/pipeline_ltx_image2video.py +63 -18
  334. diffusers/pipelines/ltx/pipeline_ltx_latent_upsample.py +277 -0
  335. diffusers/pipelines/lumina/pipeline_lumina.py +13 -13
  336. diffusers/pipelines/lumina2/pipeline_lumina2.py +10 -10
  337. diffusers/pipelines/marigold/marigold_image_processing.py +2 -2
  338. diffusers/pipelines/mochi/pipeline_mochi.py +15 -14
  339. diffusers/pipelines/musicldm/pipeline_musicldm.py +16 -13
  340. diffusers/pipelines/omnigen/pipeline_omnigen.py +13 -11
  341. diffusers/pipelines/omnigen/processor_omnigen.py +8 -3
  342. diffusers/pipelines/onnx_utils.py +15 -2
  343. diffusers/pipelines/pag/pag_utils.py +2 -2
  344. diffusers/pipelines/pag/pipeline_pag_controlnet_sd.py +12 -8
  345. diffusers/pipelines/pag/pipeline_pag_controlnet_sd_inpaint.py +7 -7
  346. diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl.py +10 -6
  347. diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl_img2img.py +14 -14
  348. diffusers/pipelines/pag/pipeline_pag_hunyuandit.py +8 -8
  349. diffusers/pipelines/pag/pipeline_pag_kolors.py +10 -10
  350. diffusers/pipelines/pag/pipeline_pag_pixart_sigma.py +11 -11
  351. diffusers/pipelines/pag/pipeline_pag_sana.py +18 -12
  352. diffusers/pipelines/pag/pipeline_pag_sd.py +8 -8
  353. diffusers/pipelines/pag/pipeline_pag_sd_3.py +7 -7
  354. diffusers/pipelines/pag/pipeline_pag_sd_3_img2img.py +7 -7
  355. diffusers/pipelines/pag/pipeline_pag_sd_animatediff.py +6 -6
  356. diffusers/pipelines/pag/pipeline_pag_sd_img2img.py +5 -5
  357. diffusers/pipelines/pag/pipeline_pag_sd_inpaint.py +8 -8
  358. diffusers/pipelines/pag/pipeline_pag_sd_xl.py +16 -15
  359. diffusers/pipelines/pag/pipeline_pag_sd_xl_img2img.py +18 -17
  360. diffusers/pipelines/pag/pipeline_pag_sd_xl_inpaint.py +12 -12
  361. diffusers/pipelines/paint_by_example/image_encoder.py +1 -1
  362. diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +8 -7
  363. diffusers/pipelines/pia/pipeline_pia.py +8 -6
  364. diffusers/pipelines/pipeline_flax_utils.py +5 -6
  365. diffusers/pipelines/pipeline_loading_utils.py +113 -15
  366. diffusers/pipelines/pipeline_utils.py +127 -48
  367. diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +14 -12
  368. diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +31 -11
  369. diffusers/pipelines/qwenimage/__init__.py +55 -0
  370. diffusers/pipelines/qwenimage/pipeline_output.py +21 -0
  371. diffusers/pipelines/qwenimage/pipeline_qwenimage.py +726 -0
  372. diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py +882 -0
  373. diffusers/pipelines/qwenimage/pipeline_qwenimage_img2img.py +829 -0
  374. diffusers/pipelines/qwenimage/pipeline_qwenimage_inpaint.py +1015 -0
  375. diffusers/pipelines/sana/__init__.py +4 -0
  376. diffusers/pipelines/sana/pipeline_sana.py +23 -21
  377. diffusers/pipelines/sana/pipeline_sana_controlnet.py +1106 -0
  378. diffusers/pipelines/sana/pipeline_sana_sprint.py +23 -19
  379. diffusers/pipelines/sana/pipeline_sana_sprint_img2img.py +981 -0
  380. diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +7 -6
  381. diffusers/pipelines/shap_e/camera.py +1 -1
  382. diffusers/pipelines/shap_e/pipeline_shap_e.py +1 -1
  383. diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +1 -1
  384. diffusers/pipelines/shap_e/renderer.py +3 -3
  385. diffusers/pipelines/skyreels_v2/__init__.py +59 -0
  386. diffusers/pipelines/skyreels_v2/pipeline_output.py +20 -0
  387. diffusers/pipelines/skyreels_v2/pipeline_skyreels_v2.py +610 -0
  388. diffusers/pipelines/skyreels_v2/pipeline_skyreels_v2_diffusion_forcing.py +978 -0
  389. diffusers/pipelines/skyreels_v2/pipeline_skyreels_v2_diffusion_forcing_i2v.py +1059 -0
  390. diffusers/pipelines/skyreels_v2/pipeline_skyreels_v2_diffusion_forcing_v2v.py +1063 -0
  391. diffusers/pipelines/skyreels_v2/pipeline_skyreels_v2_i2v.py +745 -0
  392. diffusers/pipelines/stable_audio/modeling_stable_audio.py +1 -1
  393. diffusers/pipelines/stable_audio/pipeline_stable_audio.py +5 -5
  394. diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py +8 -8
  395. diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py +13 -13
  396. diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py +9 -9
  397. diffusers/pipelines/stable_diffusion/__init__.py +0 -7
  398. diffusers/pipelines/stable_diffusion/clip_image_project_model.py +1 -1
  399. diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +11 -4
  400. diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +1 -1
  401. diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_img2img.py +1 -1
  402. diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_inpaint.py +1 -1
  403. diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +12 -11
  404. diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py +10 -10
  405. diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint.py +11 -11
  406. diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +10 -10
  407. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +10 -9
  408. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +5 -5
  409. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +5 -5
  410. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +5 -5
  411. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +5 -5
  412. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +5 -5
  413. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +4 -4
  414. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +5 -5
  415. diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +7 -7
  416. diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +5 -5
  417. diffusers/pipelines/stable_diffusion/safety_checker.py +1 -1
  418. diffusers/pipelines/stable_diffusion/safety_checker_flax.py +1 -1
  419. diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py +1 -1
  420. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +13 -12
  421. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +7 -7
  422. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +7 -7
  423. diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +12 -8
  424. diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +15 -9
  425. diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +11 -9
  426. diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +11 -9
  427. diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +18 -12
  428. diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_xl_k_diffusion.py +11 -8
  429. diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +11 -8
  430. diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +15 -12
  431. diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +8 -6
  432. diffusers/pipelines/stable_diffusion_safe/safety_checker.py +1 -1
  433. diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +15 -11
  434. diffusers/pipelines/stable_diffusion_xl/pipeline_flax_stable_diffusion_xl.py +1 -1
  435. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +16 -15
  436. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +18 -17
  437. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +12 -12
  438. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_instruct_pix2pix.py +16 -15
  439. diffusers/pipelines/stable_video_diffusion/pipeline_stable_video_diffusion.py +3 -3
  440. diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +12 -12
  441. diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_xl_adapter.py +18 -17
  442. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +12 -7
  443. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +12 -7
  444. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +15 -13
  445. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero_sdxl.py +24 -21
  446. diffusers/pipelines/unclip/pipeline_unclip.py +4 -3
  447. diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +4 -3
  448. diffusers/pipelines/unclip/text_proj.py +2 -2
  449. diffusers/pipelines/unidiffuser/modeling_text_decoder.py +2 -2
  450. diffusers/pipelines/unidiffuser/modeling_uvit.py +1 -1
  451. diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +8 -7
  452. diffusers/pipelines/visualcloze/__init__.py +52 -0
  453. diffusers/pipelines/visualcloze/pipeline_visualcloze_combined.py +444 -0
  454. diffusers/pipelines/visualcloze/pipeline_visualcloze_generation.py +952 -0
  455. diffusers/pipelines/visualcloze/visualcloze_utils.py +251 -0
  456. diffusers/pipelines/wan/__init__.py +2 -0
  457. diffusers/pipelines/wan/pipeline_wan.py +91 -30
  458. diffusers/pipelines/wan/pipeline_wan_i2v.py +145 -45
  459. diffusers/pipelines/wan/pipeline_wan_vace.py +975 -0
  460. diffusers/pipelines/wan/pipeline_wan_video2video.py +14 -16
  461. diffusers/pipelines/wuerstchen/modeling_paella_vq_model.py +1 -1
  462. diffusers/pipelines/wuerstchen/modeling_wuerstchen_diffnext.py +1 -1
  463. diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +1 -1
  464. diffusers/pipelines/wuerstchen/pipeline_wuerstchen.py +8 -8
  465. diffusers/pipelines/wuerstchen/pipeline_wuerstchen_combined.py +16 -15
  466. diffusers/pipelines/wuerstchen/pipeline_wuerstchen_prior.py +6 -6
  467. diffusers/quantizers/__init__.py +3 -1
  468. diffusers/quantizers/base.py +17 -1
  469. diffusers/quantizers/bitsandbytes/bnb_quantizer.py +4 -0
  470. diffusers/quantizers/bitsandbytes/utils.py +10 -7
  471. diffusers/quantizers/gguf/gguf_quantizer.py +13 -4
  472. diffusers/quantizers/gguf/utils.py +108 -16
  473. diffusers/quantizers/pipe_quant_config.py +202 -0
  474. diffusers/quantizers/quantization_config.py +18 -16
  475. diffusers/quantizers/quanto/quanto_quantizer.py +4 -0
  476. diffusers/quantizers/torchao/torchao_quantizer.py +31 -1
  477. diffusers/schedulers/__init__.py +3 -1
  478. diffusers/schedulers/deprecated/scheduling_karras_ve.py +4 -3
  479. diffusers/schedulers/deprecated/scheduling_sde_vp.py +1 -1
  480. diffusers/schedulers/scheduling_consistency_models.py +1 -1
  481. diffusers/schedulers/scheduling_cosine_dpmsolver_multistep.py +10 -5
  482. diffusers/schedulers/scheduling_ddim.py +8 -8
  483. diffusers/schedulers/scheduling_ddim_cogvideox.py +5 -5
  484. diffusers/schedulers/scheduling_ddim_flax.py +6 -6
  485. diffusers/schedulers/scheduling_ddim_inverse.py +6 -6
  486. diffusers/schedulers/scheduling_ddim_parallel.py +22 -22
  487. diffusers/schedulers/scheduling_ddpm.py +9 -9
  488. diffusers/schedulers/scheduling_ddpm_flax.py +7 -7
  489. diffusers/schedulers/scheduling_ddpm_parallel.py +18 -18
  490. diffusers/schedulers/scheduling_ddpm_wuerstchen.py +2 -2
  491. diffusers/schedulers/scheduling_deis_multistep.py +16 -9
  492. diffusers/schedulers/scheduling_dpm_cogvideox.py +5 -5
  493. diffusers/schedulers/scheduling_dpmsolver_multistep.py +18 -12
  494. diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +22 -20
  495. diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +11 -11
  496. diffusers/schedulers/scheduling_dpmsolver_sde.py +2 -2
  497. diffusers/schedulers/scheduling_dpmsolver_singlestep.py +19 -13
  498. diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +13 -8
  499. diffusers/schedulers/scheduling_edm_euler.py +20 -11
  500. diffusers/schedulers/scheduling_euler_ancestral_discrete.py +3 -3
  501. diffusers/schedulers/scheduling_euler_discrete.py +3 -3
  502. diffusers/schedulers/scheduling_euler_discrete_flax.py +3 -3
  503. diffusers/schedulers/scheduling_flow_match_euler_discrete.py +20 -5
  504. diffusers/schedulers/scheduling_flow_match_heun_discrete.py +1 -1
  505. diffusers/schedulers/scheduling_flow_match_lcm.py +561 -0
  506. diffusers/schedulers/scheduling_heun_discrete.py +2 -2
  507. diffusers/schedulers/scheduling_ipndm.py +2 -2
  508. diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +2 -2
  509. diffusers/schedulers/scheduling_k_dpm_2_discrete.py +2 -2
  510. diffusers/schedulers/scheduling_karras_ve_flax.py +5 -5
  511. diffusers/schedulers/scheduling_lcm.py +3 -3
  512. diffusers/schedulers/scheduling_lms_discrete.py +2 -2
  513. diffusers/schedulers/scheduling_lms_discrete_flax.py +1 -1
  514. diffusers/schedulers/scheduling_pndm.py +4 -4
  515. diffusers/schedulers/scheduling_pndm_flax.py +4 -4
  516. diffusers/schedulers/scheduling_repaint.py +9 -9
  517. diffusers/schedulers/scheduling_sasolver.py +15 -15
  518. diffusers/schedulers/scheduling_scm.py +1 -2
  519. diffusers/schedulers/scheduling_sde_ve.py +1 -1
  520. diffusers/schedulers/scheduling_sde_ve_flax.py +2 -2
  521. diffusers/schedulers/scheduling_tcd.py +3 -3
  522. diffusers/schedulers/scheduling_unclip.py +5 -5
  523. diffusers/schedulers/scheduling_unipc_multistep.py +21 -12
  524. diffusers/schedulers/scheduling_utils.py +3 -3
  525. diffusers/schedulers/scheduling_utils_flax.py +2 -2
  526. diffusers/schedulers/scheduling_vq_diffusion.py +1 -1
  527. diffusers/training_utils.py +91 -5
  528. diffusers/utils/__init__.py +15 -0
  529. diffusers/utils/accelerate_utils.py +1 -1
  530. diffusers/utils/constants.py +4 -0
  531. diffusers/utils/doc_utils.py +1 -1
  532. diffusers/utils/dummy_pt_objects.py +432 -0
  533. diffusers/utils/dummy_torch_and_transformers_objects.py +480 -0
  534. diffusers/utils/dynamic_modules_utils.py +85 -8
  535. diffusers/utils/export_utils.py +1 -1
  536. diffusers/utils/hub_utils.py +33 -17
  537. diffusers/utils/import_utils.py +151 -18
  538. diffusers/utils/logging.py +1 -1
  539. diffusers/utils/outputs.py +2 -1
  540. diffusers/utils/peft_utils.py +96 -10
  541. diffusers/utils/state_dict_utils.py +20 -3
  542. diffusers/utils/testing_utils.py +195 -17
  543. diffusers/utils/torch_utils.py +43 -5
  544. diffusers/video_processor.py +2 -2
  545. {diffusers-0.33.1.dist-info → diffusers-0.35.0.dist-info}/METADATA +72 -57
  546. diffusers-0.35.0.dist-info/RECORD +703 -0
  547. {diffusers-0.33.1.dist-info → diffusers-0.35.0.dist-info}/WHEEL +1 -1
  548. diffusers-0.33.1.dist-info/RECORD +0 -608
  549. {diffusers-0.33.1.dist-info → diffusers-0.35.0.dist-info}/LICENSE +0 -0
  550. {diffusers-0.33.1.dist-info → diffusers-0.35.0.dist-info}/entry_points.txt +0 -0
  551. {diffusers-0.33.1.dist-info → diffusers-0.35.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,90 @@
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ from ...loaders import WanLoraLoaderMixin
17
+ from ...pipelines.pipeline_utils import StableDiffusionMixin
18
+ from ...utils import logging
19
+ from ..modular_pipeline import ModularPipeline
20
+
21
+
22
+ logger = logging.get_logger(__name__) # pylint: disable=invalid-name
23
+
24
+
25
+ class WanModularPipeline(
26
+ ModularPipeline,
27
+ StableDiffusionMixin,
28
+ WanLoraLoaderMixin,
29
+ ):
30
+ """
31
+ A ModularPipeline for Wan.
32
+
33
+ <Tip warning={true}>
34
+
35
+ This is an experimental feature and is likely to change in the future.
36
+
37
+ </Tip>
38
+ """
39
+
40
+ @property
41
+ def default_height(self):
42
+ return self.default_sample_height * self.vae_scale_factor_spatial
43
+
44
+ @property
45
+ def default_width(self):
46
+ return self.default_sample_width * self.vae_scale_factor_spatial
47
+
48
+ @property
49
+ def default_num_frames(self):
50
+ return (self.default_sample_num_frames - 1) * self.vae_scale_factor_temporal + 1
51
+
52
+ @property
53
+ def default_sample_height(self):
54
+ return 60
55
+
56
+ @property
57
+ def default_sample_width(self):
58
+ return 104
59
+
60
+ @property
61
+ def default_sample_num_frames(self):
62
+ return 21
63
+
64
+ @property
65
+ def vae_scale_factor_spatial(self):
66
+ vae_scale_factor = 8
67
+ if hasattr(self, "vae") and self.vae is not None:
68
+ vae_scale_factor = 2 ** len(self.vae.temperal_downsample)
69
+ return vae_scale_factor
70
+
71
+ @property
72
+ def vae_scale_factor_temporal(self):
73
+ vae_scale_factor = 4
74
+ if hasattr(self, "vae") and self.vae is not None:
75
+ vae_scale_factor = 2 ** sum(self.vae.temperal_downsample)
76
+ return vae_scale_factor
77
+
78
+ @property
79
+ def num_channels_transformer(self):
80
+ num_channels_transformer = 16
81
+ if hasattr(self, "transformer") and self.transformer is not None:
82
+ num_channels_transformer = self.transformer.config.in_channels
83
+ return num_channels_transformer
84
+
85
+ @property
86
+ def num_channels_latents(self):
87
+ num_channels_latents = 16
88
+ if hasattr(self, "vae") and self.vae is not None:
89
+ num_channels_latents = self.vae.config.z_dim
90
+ return num_channels_latents
@@ -140,6 +140,8 @@ else:
140
140
  "FluxFillPipeline",
141
141
  "FluxPriorReduxPipeline",
142
142
  "ReduxImageEncoder",
143
+ "FluxKontextPipeline",
144
+ "FluxKontextInpaintPipeline",
143
145
  ]
144
146
  _import_structure["audioldm"] = ["AudioLDMPipeline"]
145
147
  _import_structure["audioldm2"] = [
@@ -148,6 +150,7 @@ else:
148
150
  "AudioLDM2UNet2DConditionModel",
149
151
  ]
150
152
  _import_structure["blip_diffusion"] = ["BlipDiffusionPipeline"]
153
+ _import_structure["chroma"] = ["ChromaPipeline", "ChromaImg2ImgPipeline"]
151
154
  _import_structure["cogvideo"] = [
152
155
  "CogVideoXPipeline",
153
156
  "CogVideoXImageToVideoPipeline",
@@ -156,6 +159,13 @@ else:
156
159
  ]
157
160
  _import_structure["cogview3"] = ["CogView3PlusPipeline"]
158
161
  _import_structure["cogview4"] = ["CogView4Pipeline", "CogView4ControlPipeline"]
162
+ _import_structure["consisid"] = ["ConsisIDPipeline"]
163
+ _import_structure["cosmos"] = [
164
+ "Cosmos2TextToImagePipeline",
165
+ "CosmosTextToWorldPipeline",
166
+ "CosmosVideoToWorldPipeline",
167
+ "Cosmos2VideoToWorldPipeline",
168
+ ]
159
169
  _import_structure["controlnet"].extend(
160
170
  [
161
171
  "BlipDiffusionControlNetPipeline",
@@ -221,11 +231,13 @@ else:
221
231
  "EasyAnimateInpaintPipeline",
222
232
  "EasyAnimateControlPipeline",
223
233
  ]
234
+ _import_structure["hidream_image"] = ["HiDreamImagePipeline"]
224
235
  _import_structure["hunyuandit"] = ["HunyuanDiTPipeline"]
225
236
  _import_structure["hunyuan_video"] = [
226
237
  "HunyuanVideoPipeline",
227
238
  "HunyuanSkyreelsImageToVideoPipeline",
228
239
  "HunyuanVideoImageToVideoPipeline",
240
+ "HunyuanVideoFramepackPipeline",
229
241
  ]
230
242
  _import_structure["kandinsky"] = [
231
243
  "KandinskyCombinedPipeline",
@@ -264,7 +276,12 @@ else:
264
276
  ]
265
277
  )
266
278
  _import_structure["latte"] = ["LattePipeline"]
267
- _import_structure["ltx"] = ["LTXPipeline", "LTXImageToVideoPipeline", "LTXConditionPipeline"]
279
+ _import_structure["ltx"] = [
280
+ "LTXPipeline",
281
+ "LTXImageToVideoPipeline",
282
+ "LTXConditionPipeline",
283
+ "LTXLatentUpsamplePipeline",
284
+ ]
268
285
  _import_structure["lumina"] = ["LuminaPipeline", "LuminaText2ImgPipeline"]
269
286
  _import_structure["lumina2"] = ["Lumina2Pipeline", "Lumina2Text2ImgPipeline"]
270
287
  _import_structure["marigold"].extend(
@@ -277,10 +294,16 @@ else:
277
294
  _import_structure["mochi"] = ["MochiPipeline"]
278
295
  _import_structure["musicldm"] = ["MusicLDMPipeline"]
279
296
  _import_structure["omnigen"] = ["OmniGenPipeline"]
297
+ _import_structure["visualcloze"] = ["VisualClozePipeline", "VisualClozeGenerationPipeline"]
280
298
  _import_structure["paint_by_example"] = ["PaintByExamplePipeline"]
281
299
  _import_structure["pia"] = ["PIAPipeline"]
282
300
  _import_structure["pixart_alpha"] = ["PixArtAlphaPipeline", "PixArtSigmaPipeline"]
283
- _import_structure["sana"] = ["SanaPipeline", "SanaSprintPipeline"]
301
+ _import_structure["sana"] = [
302
+ "SanaPipeline",
303
+ "SanaSprintPipeline",
304
+ "SanaControlNetPipeline",
305
+ "SanaSprintImg2ImgPipeline",
306
+ ]
284
307
  _import_structure["semantic_stable_diffusion"] = ["SemanticStableDiffusionPipeline"]
285
308
  _import_structure["shap_e"] = ["ShapEImg2ImgPipeline", "ShapEPipeline"]
286
309
  _import_structure["stable_audio"] = [
@@ -356,7 +379,20 @@ else:
356
379
  "WuerstchenDecoderPipeline",
357
380
  "WuerstchenPriorPipeline",
358
381
  ]
359
- _import_structure["wan"] = ["WanPipeline", "WanImageToVideoPipeline", "WanVideoToVideoPipeline"]
382
+ _import_structure["wan"] = ["WanPipeline", "WanImageToVideoPipeline", "WanVideoToVideoPipeline", "WanVACEPipeline"]
383
+ _import_structure["skyreels_v2"] = [
384
+ "SkyReelsV2DiffusionForcingPipeline",
385
+ "SkyReelsV2DiffusionForcingImageToVideoPipeline",
386
+ "SkyReelsV2DiffusionForcingVideoToVideoPipeline",
387
+ "SkyReelsV2ImageToVideoPipeline",
388
+ "SkyReelsV2Pipeline",
389
+ ]
390
+ _import_structure["qwenimage"] = [
391
+ "QwenImagePipeline",
392
+ "QwenImageImg2ImgPipeline",
393
+ "QwenImageInpaintPipeline",
394
+ "QwenImageEditPipeline",
395
+ ]
360
396
  try:
361
397
  if not is_onnx_available():
362
398
  raise OptionalDependencyNotAvailable()
@@ -516,6 +552,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
516
552
  )
517
553
  from .aura_flow import AuraFlowPipeline
518
554
  from .blip_diffusion import BlipDiffusionPipeline
555
+ from .chroma import ChromaImg2ImgPipeline, ChromaPipeline
519
556
  from .cogvideo import (
520
557
  CogVideoXFunControlPipeline,
521
558
  CogVideoXImageToVideoPipeline,
@@ -544,6 +581,12 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
544
581
  StableDiffusionControlNetXSPipeline,
545
582
  StableDiffusionXLControlNetXSPipeline,
546
583
  )
584
+ from .cosmos import (
585
+ Cosmos2TextToImagePipeline,
586
+ Cosmos2VideoToWorldPipeline,
587
+ CosmosTextToWorldPipeline,
588
+ CosmosVideoToWorldPipeline,
589
+ )
547
590
  from .deepfloyd_if import (
548
591
  IFImg2ImgPipeline,
549
592
  IFImg2ImgSuperResolutionPipeline,
@@ -581,12 +624,16 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
581
624
  FluxFillPipeline,
582
625
  FluxImg2ImgPipeline,
583
626
  FluxInpaintPipeline,
627
+ FluxKontextInpaintPipeline,
628
+ FluxKontextPipeline,
584
629
  FluxPipeline,
585
630
  FluxPriorReduxPipeline,
586
631
  ReduxImageEncoder,
587
632
  )
633
+ from .hidream_image import HiDreamImagePipeline
588
634
  from .hunyuan_video import (
589
635
  HunyuanSkyreelsImageToVideoPipeline,
636
+ HunyuanVideoFramepackPipeline,
590
637
  HunyuanVideoImageToVideoPipeline,
591
638
  HunyuanVideoPipeline,
592
639
  )
@@ -629,7 +676,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
629
676
  LEditsPPPipelineStableDiffusion,
630
677
  LEditsPPPipelineStableDiffusionXL,
631
678
  )
632
- from .ltx import LTXConditionPipeline, LTXImageToVideoPipeline, LTXPipeline
679
+ from .ltx import LTXConditionPipeline, LTXImageToVideoPipeline, LTXLatentUpsamplePipeline, LTXPipeline
633
680
  from .lumina import LuminaPipeline, LuminaText2ImgPipeline
634
681
  from .lumina2 import Lumina2Pipeline, Lumina2Text2ImgPipeline
635
682
  from .marigold import (
@@ -662,7 +709,13 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
662
709
  from .paint_by_example import PaintByExamplePipeline
663
710
  from .pia import PIAPipeline
664
711
  from .pixart_alpha import PixArtAlphaPipeline, PixArtSigmaPipeline
665
- from .sana import SanaPipeline, SanaSprintPipeline
712
+ from .qwenimage import (
713
+ QwenImageEditPipeline,
714
+ QwenImageImg2ImgPipeline,
715
+ QwenImageInpaintPipeline,
716
+ QwenImagePipeline,
717
+ )
718
+ from .sana import SanaControlNetPipeline, SanaPipeline, SanaSprintImg2ImgPipeline, SanaSprintPipeline
666
719
  from .semantic_stable_diffusion import SemanticStableDiffusionPipeline
667
720
  from .shap_e import ShapEImg2ImgPipeline, ShapEPipeline
668
721
  from .stable_audio import StableAudioPipeline, StableAudioProjectionModel
@@ -720,7 +773,8 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
720
773
  UniDiffuserPipeline,
721
774
  UniDiffuserTextDecoder,
722
775
  )
723
- from .wan import WanImageToVideoPipeline, WanPipeline, WanVideoToVideoPipeline
776
+ from .visualcloze import VisualClozeGenerationPipeline, VisualClozePipeline
777
+ from .wan import WanImageToVideoPipeline, WanPipeline, WanVACEPipeline, WanVideoToVideoPipeline
724
778
  from .wuerstchen import (
725
779
  WuerstchenCombinedPipeline,
726
780
  WuerstchenDecoderPipeline,
@@ -816,6 +870,14 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
816
870
  SpectrogramDiffusionPipeline,
817
871
  )
818
872
 
873
+ from .skyreels_v2 import (
874
+ SkyReelsV2DiffusionForcingImageToVideoPipeline,
875
+ SkyReelsV2DiffusionForcingPipeline,
876
+ SkyReelsV2DiffusionForcingVideoToVideoPipeline,
877
+ SkyReelsV2ImageToVideoPipeline,
878
+ SkyReelsV2Pipeline,
879
+ )
880
+
819
881
  else:
820
882
  import sys
821
883
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The RhymesAI and The HuggingFace Team.
1
+ # Copyright 2025 The RhymesAI and The HuggingFace Team.
2
2
  # All rights reserved.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -351,7 +351,7 @@ class AllegroPipeline(DiffusionPipeline):
351
351
  def prepare_extra_step_kwargs(self, generator, eta):
352
352
  # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
353
353
  # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
354
- # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502
354
+ # eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
355
355
  # and should be between [0, 1]
356
356
 
357
357
  accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
@@ -514,7 +514,7 @@ class AllegroPipeline(DiffusionPipeline):
514
514
  # &amp
515
515
  caption = re.sub(r"&amp", "", caption)
516
516
 
517
- # ip adresses:
517
+ # ip addresses:
518
518
  caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
519
519
 
520
520
  # article ids:
@@ -738,11 +738,11 @@ class AllegroPipeline(DiffusionPipeline):
738
738
  Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
739
739
  timesteps are used. Must be in descending order.
740
740
  guidance_scale (`float`, *optional*, defaults to 7.5):
741
- Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).
742
- `guidance_scale` is defined as `w` of equation 2. of [Imagen
743
- Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >
744
- 1`. Higher guidance scale encourages to generate videos that are closely linked to the text `prompt`,
745
- usually at the expense of lower video quality.
741
+ Guidance scale as defined in [Classifier-Free Diffusion
742
+ Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
743
+ of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
744
+ `guidance_scale > 1`. Higher guidance scale encourages to generate videos that are closely linked to
745
+ the text `prompt`, usually at the expense of lower video quality.
746
746
  num_videos_per_prompt (`int`, *optional*, defaults to 1):
747
747
  The number of videos to generate per prompt.
748
748
  num_frames: (`int`, *optional*, defaults to 88):
@@ -752,8 +752,8 @@ class AllegroPipeline(DiffusionPipeline):
752
752
  width (`int`, *optional*, defaults to self.unet.config.sample_size):
753
753
  The width in pixels of the generated video.
754
754
  eta (`float`, *optional*, defaults to 0.0):
755
- Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to
756
- [`schedulers.DDIMScheduler`], will be ignored for others.
755
+ Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
756
+ applies to [`schedulers.DDIMScheduler`], will be ignored for others.
757
757
  generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
758
758
  One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
759
759
  to make generation deterministic.
@@ -833,7 +833,7 @@ class AllegroPipeline(DiffusionPipeline):
833
833
  device = self._execution_device
834
834
 
835
835
  # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
836
- # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`
836
+ # of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
837
837
  # corresponds to doing no classifier free guidance.
838
838
  do_classifier_free_guidance = guidance_scale > 1.0
839
839
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The HuggingFace Team. All rights reserved.
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@ from ...image_processor import VaeImageProcessor
21
21
  from ...models import UVit2DModel, VQModel
22
22
  from ...schedulers import AmusedScheduler
23
23
  from ...utils import is_torch_xla_available, replace_example_docstring
24
- from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
24
+ from ..pipeline_utils import DeprecatedPipelineMixin, DiffusionPipeline, ImagePipelineOutput
25
25
 
26
26
 
27
27
  if is_torch_xla_available():
@@ -47,7 +47,8 @@ EXAMPLE_DOC_STRING = """
47
47
  """
48
48
 
49
49
 
50
- class AmusedPipeline(DiffusionPipeline):
50
+ class AmusedPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
51
+ _last_supported_version = "0.33.1"
51
52
  image_processor: VaeImageProcessor
52
53
  vqvae: VQModel
53
54
  tokenizer: CLIPTokenizer
@@ -131,7 +132,7 @@ class AmusedPipeline(DiffusionPipeline):
131
132
  generation deterministic.
132
133
  latents (`torch.IntTensor`, *optional*):
133
134
  Pre-generated tokens representing latent vectors in `self.vqvae`, to be used as inputs for image
134
- gneration. If not provided, the starting latents will be completely masked.
135
+ generation. If not provided, the starting latents will be completely masked.
135
136
  prompt_embeds (`torch.Tensor`, *optional*):
136
137
  Pre-generated text embeddings. Can be used to easily tweak text inputs (prompt weighting). If not
137
138
  provided, text embeddings are generated from the `prompt` input argument. A single vector from the
@@ -160,10 +161,10 @@ class AmusedPipeline(DiffusionPipeline):
160
161
  micro_conditioning_aesthetic_score (`int`, *optional*, defaults to 6):
161
162
  The targeted aesthetic score according to the laion aesthetic classifier. See
162
163
  https://laion.ai/blog/laion-aesthetics/ and the micro-conditioning section of
163
- https://arxiv.org/abs/2307.01952.
164
+ https://huggingface.co/papers/2307.01952.
164
165
  micro_conditioning_crop_coord (`Tuple[int]`, *optional*, defaults to (0, 0)):
165
166
  The targeted height, width crop coordinates. See the micro-conditioning section of
166
- https://arxiv.org/abs/2307.01952.
167
+ https://huggingface.co/papers/2307.01952.
167
168
  temperature (`Union[int, Tuple[int, int], List[int]]`, *optional*, defaults to (2, 0)):
168
169
  Configures the temperature scheduler on `self.scheduler` see `AmusedScheduler#set_timesteps`.
169
170
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The HuggingFace Team. All rights reserved.
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@ from ...image_processor import PipelineImageInput, VaeImageProcessor
21
21
  from ...models import UVit2DModel, VQModel
22
22
  from ...schedulers import AmusedScheduler
23
23
  from ...utils import is_torch_xla_available, replace_example_docstring
24
- from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
24
+ from ..pipeline_utils import DeprecatedPipelineMixin, DiffusionPipeline, ImagePipelineOutput
25
25
 
26
26
 
27
27
  if is_torch_xla_available():
@@ -57,7 +57,8 @@ EXAMPLE_DOC_STRING = """
57
57
  """
58
58
 
59
59
 
60
- class AmusedImg2ImgPipeline(DiffusionPipeline):
60
+ class AmusedImg2ImgPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
61
+ _last_supported_version = "0.33.1"
61
62
  image_processor: VaeImageProcessor
62
63
  vqvae: VQModel
63
64
  tokenizer: CLIPTokenizer
@@ -179,10 +180,10 @@ class AmusedImg2ImgPipeline(DiffusionPipeline):
179
180
  micro_conditioning_aesthetic_score (`int`, *optional*, defaults to 6):
180
181
  The targeted aesthetic score according to the laion aesthetic classifier. See
181
182
  https://laion.ai/blog/laion-aesthetics/ and the micro-conditioning section of
182
- https://arxiv.org/abs/2307.01952.
183
+ https://huggingface.co/papers/2307.01952.
183
184
  micro_conditioning_crop_coord (`Tuple[int]`, *optional*, defaults to (0, 0)):
184
185
  The targeted height, width crop coordinates. See the micro-conditioning section of
185
- https://arxiv.org/abs/2307.01952.
186
+ https://huggingface.co/papers/2307.01952.
186
187
  temperature (`Union[int, Tuple[int, int], List[int]]`, *optional*, defaults to (2, 0)):
187
188
  Configures the temperature scheduler on `self.scheduler` see `AmusedScheduler#set_timesteps`.
188
189
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The HuggingFace Team. All rights reserved.
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -22,7 +22,7 @@ from ...image_processor import PipelineImageInput, VaeImageProcessor
22
22
  from ...models import UVit2DModel, VQModel
23
23
  from ...schedulers import AmusedScheduler
24
24
  from ...utils import is_torch_xla_available, replace_example_docstring
25
- from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
25
+ from ..pipeline_utils import DeprecatedPipelineMixin, DiffusionPipeline, ImagePipelineOutput
26
26
 
27
27
 
28
28
  if is_torch_xla_available():
@@ -65,7 +65,8 @@ EXAMPLE_DOC_STRING = """
65
65
  """
66
66
 
67
67
 
68
- class AmusedInpaintPipeline(DiffusionPipeline):
68
+ class AmusedInpaintPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
69
+ _last_supported_version = "0.33.1"
69
70
  image_processor: VaeImageProcessor
70
71
  vqvae: VQModel
71
72
  tokenizer: CLIPTokenizer
@@ -203,10 +204,10 @@ class AmusedInpaintPipeline(DiffusionPipeline):
203
204
  micro_conditioning_aesthetic_score (`int`, *optional*, defaults to 6):
204
205
  The targeted aesthetic score according to the laion aesthetic classifier. See
205
206
  https://laion.ai/blog/laion-aesthetics/ and the micro-conditioning section of
206
- https://arxiv.org/abs/2307.01952.
207
+ https://huggingface.co/papers/2307.01952.
207
208
  micro_conditioning_crop_coord (`Tuple[int]`, *optional*, defaults to (0, 0)):
208
209
  The targeted height, width crop coordinates. See the micro-conditioning section of
209
- https://arxiv.org/abs/2307.01952.
210
+ https://huggingface.co/papers/2307.01952.
210
211
  temperature (`Union[int, Tuple[int, int], List[int]]`, *optional*, defaults to (2, 0)):
211
212
  Configures the temperature scheduler on `self.scheduler` see `AmusedScheduler#set_timesteps`.
212
213
 
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The HuggingFace Team. All rights reserved.
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -428,7 +428,7 @@ class AnimateDiffPipeline(
428
428
  def prepare_extra_step_kwargs(self, generator, eta):
429
429
  # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
430
430
  # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
431
- # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502
431
+ # eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
432
432
  # and should be between [0, 1]
433
433
 
434
434
  accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
@@ -514,7 +514,7 @@ class AnimateDiffPipeline(
514
514
  def prepare_latents(
515
515
  self, batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents=None
516
516
  ):
517
- # If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://arxiv.org/abs/2310.15169)
517
+ # If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://huggingface.co/papers/2310.15169)
518
518
  if self.free_noise_enabled:
519
519
  latents = self._prepare_latents_free_noise(
520
520
  batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents
@@ -552,7 +552,7 @@ class AnimateDiffPipeline(
552
552
  return self._clip_skip
553
553
 
554
554
  # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
555
- # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`
555
+ # of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
556
556
  # corresponds to doing no classifier free guidance.
557
557
  @property
558
558
  def do_classifier_free_guidance(self):
@@ -621,8 +621,8 @@ class AnimateDiffPipeline(
621
621
  The prompt or prompts to guide what to not include in image generation. If not defined, you need to
622
622
  pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
623
623
  eta (`float`, *optional*, defaults to 0.0):
624
- Corresponds to parameter eta (η) from the [DDIM](https://arxiv.org/abs/2010.02502) paper. Only applies
625
- to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
624
+ Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
625
+ applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
626
626
  generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
627
627
  A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
628
628
  generation deterministic.
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The HuggingFace Team. All rights reserved.
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -472,7 +472,7 @@ class AnimateDiffControlNetPipeline(
472
472
  def prepare_extra_step_kwargs(self, generator, eta):
473
473
  # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
474
474
  # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
475
- # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502
475
+ # eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
476
476
  # and should be between [0, 1]
477
477
 
478
478
  accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
@@ -630,7 +630,7 @@ class AnimateDiffControlNetPipeline(
630
630
  def prepare_latents(
631
631
  self, batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents=None
632
632
  ):
633
- # If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://arxiv.org/abs/2310.15169)
633
+ # If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://huggingface.co/papers/2310.15169)
634
634
  if self.free_noise_enabled:
635
635
  latents = self._prepare_latents_free_noise(
636
636
  batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents
@@ -700,7 +700,7 @@ class AnimateDiffControlNetPipeline(
700
700
  return self._clip_skip
701
701
 
702
702
  # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
703
- # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`
703
+ # of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
704
704
  # corresponds to doing no classifier free guidance.
705
705
  @property
706
706
  def do_classifier_free_guidance(self):
@@ -772,8 +772,8 @@ class AnimateDiffControlNetPipeline(
772
772
  The prompt or prompts to guide what to not include in image generation. If not defined, you need to
773
773
  pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
774
774
  eta (`float`, *optional*, defaults to 0.0):
775
- Corresponds to parameter eta (η) from the [DDIM](https://arxiv.org/abs/2010.02502) paper. Only applies
776
- to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
775
+ Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
776
+ applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
777
777
  generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
778
778
  A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
779
779
  generation deterministic.
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The HuggingFace Team. All rights reserved.
1
+ # Copyright 2025 The HuggingFace Team. All rights reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -125,7 +125,7 @@ def rescale_noise_cfg(noise_cfg, noise_pred_text, guidance_rescale=0.0):
125
125
  r"""
126
126
  Rescales `noise_cfg` tensor based on `guidance_rescale` to improve image quality and fix overexposure. Based on
127
127
  Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are
128
- Flawed](https://arxiv.org/pdf/2305.08891.pdf).
128
+ Flawed](https://huggingface.co/papers/2305.08891).
129
129
 
130
130
  Args:
131
131
  noise_cfg (`torch.Tensor`):
@@ -652,7 +652,7 @@ class AnimateDiffSDXLPipeline(
652
652
  def prepare_extra_step_kwargs(self, generator, eta):
653
653
  # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
654
654
  # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
655
- # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502
655
+ # eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
656
656
  # and should be between [0, 1]
657
657
 
658
658
  accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
@@ -844,7 +844,7 @@ class AnimateDiffSDXLPipeline(
844
844
  return self._clip_skip
845
845
 
846
846
  # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
847
- # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`
847
+ # of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
848
848
  # corresponds to doing no classifier free guidance.
849
849
  @property
850
850
  def do_classifier_free_guidance(self):
@@ -948,11 +948,11 @@ class AnimateDiffSDXLPipeline(
948
948
  "Mixture of Denoisers" multi-pipeline setup, as elaborated in [**Refining the Image
949
949
  Output**](https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion/stable_diffusion_xl#refining-the-image-output)
950
950
  guidance_scale (`float`, *optional*, defaults to 5.0):
951
- Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).
952
- `guidance_scale` is defined as `w` of equation 2. of [Imagen
953
- Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >
954
- 1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,
955
- usually at the expense of lower video quality.
951
+ Guidance scale as defined in [Classifier-Free Diffusion
952
+ Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
953
+ of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
954
+ `guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
955
+ the text `prompt`, usually at the expense of lower video quality.
956
956
  negative_prompt (`str` or `List[str]`, *optional*):
957
957
  The prompt or prompts not to guide the video generation. If not defined, one has to pass
958
958
  `negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
@@ -963,8 +963,8 @@ class AnimateDiffSDXLPipeline(
963
963
  num_videos_per_prompt (`int`, *optional*, defaults to 1):
964
964
  The number of videos to generate per prompt.
965
965
  eta (`float`, *optional*, defaults to 0.0):
966
- Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to
967
- [`schedulers.DDIMScheduler`], will be ignored for others.
966
+ Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
967
+ applies to [`schedulers.DDIMScheduler`], will be ignored for others.
968
968
  generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
969
969
  One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
970
970
  to make generation deterministic.
@@ -1003,9 +1003,10 @@ class AnimateDiffSDXLPipeline(
1003
1003
  [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).
1004
1004
  guidance_rescale (`float`, *optional*, defaults to 0.0):
1005
1005
  Guidance rescale factor proposed by [Common Diffusion Noise Schedules and Sample Steps are
1006
- Flawed](https://arxiv.org/pdf/2305.08891.pdf) `guidance_scale` is defined as `φ` in equation 16. of
1007
- [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://arxiv.org/pdf/2305.08891.pdf).
1008
- Guidance rescale factor should fix overexposure when using zero terminal SNR.
1006
+ Flawed](https://huggingface.co/papers/2305.08891) `guidance_scale` is defined as `φ` in equation 16. of
1007
+ [Common Diffusion Noise Schedules and Sample Steps are
1008
+ Flawed](https://huggingface.co/papers/2305.08891). Guidance rescale factor should fix overexposure when
1009
+ using zero terminal SNR.
1009
1010
  original_size (`Tuple[int]`, *optional*, defaults to (1024, 1024)):
1010
1011
  If `original_size` is not the same as `target_size` the image will appear to be down- or upsampled.
1011
1012
  `original_size` defaults to `(height, width)` if not specified. Part of SDXL's micro-conditioning as
@@ -1252,7 +1253,7 @@ class AnimateDiffSDXLPipeline(
1252
1253
  noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
1253
1254
 
1254
1255
  if self.do_classifier_free_guidance and self.guidance_rescale > 0.0:
1255
- # Based on 3.4. in https://arxiv.org/pdf/2305.08891.pdf
1256
+ # Based on 3.4. in https://huggingface.co/papers/2305.08891
1256
1257
  noise_pred = rescale_noise_cfg(
1257
1258
  noise_pred, noise_pred_text, guidance_rescale=self.guidance_rescale
1258
1259
  )