diffusers 0.27.1__py3-none-any.whl → 0.32.2__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (445) hide show
  1. diffusers/__init__.py +233 -6
  2. diffusers/callbacks.py +209 -0
  3. diffusers/commands/env.py +102 -6
  4. diffusers/configuration_utils.py +45 -16
  5. diffusers/dependency_versions_table.py +4 -3
  6. diffusers/image_processor.py +434 -110
  7. diffusers/loaders/__init__.py +42 -9
  8. diffusers/loaders/ip_adapter.py +626 -36
  9. diffusers/loaders/lora_base.py +900 -0
  10. diffusers/loaders/lora_conversion_utils.py +991 -125
  11. diffusers/loaders/lora_pipeline.py +3812 -0
  12. diffusers/loaders/peft.py +571 -7
  13. diffusers/loaders/single_file.py +405 -173
  14. diffusers/loaders/single_file_model.py +385 -0
  15. diffusers/loaders/single_file_utils.py +1783 -713
  16. diffusers/loaders/textual_inversion.py +41 -23
  17. diffusers/loaders/transformer_flux.py +181 -0
  18. diffusers/loaders/transformer_sd3.py +89 -0
  19. diffusers/loaders/unet.py +464 -540
  20. diffusers/loaders/unet_loader_utils.py +163 -0
  21. diffusers/models/__init__.py +76 -7
  22. diffusers/models/activations.py +65 -10
  23. diffusers/models/adapter.py +53 -53
  24. diffusers/models/attention.py +605 -18
  25. diffusers/models/attention_flax.py +1 -1
  26. diffusers/models/attention_processor.py +4304 -687
  27. diffusers/models/autoencoders/__init__.py +8 -0
  28. diffusers/models/autoencoders/autoencoder_asym_kl.py +15 -17
  29. diffusers/models/autoencoders/autoencoder_dc.py +620 -0
  30. diffusers/models/autoencoders/autoencoder_kl.py +110 -28
  31. diffusers/models/autoencoders/autoencoder_kl_allegro.py +1149 -0
  32. diffusers/models/autoencoders/autoencoder_kl_cogvideox.py +1482 -0
  33. diffusers/models/autoencoders/autoencoder_kl_hunyuan_video.py +1176 -0
  34. diffusers/models/autoencoders/autoencoder_kl_ltx.py +1338 -0
  35. diffusers/models/autoencoders/autoencoder_kl_mochi.py +1166 -0
  36. diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +19 -24
  37. diffusers/models/autoencoders/autoencoder_oobleck.py +464 -0
  38. diffusers/models/autoencoders/autoencoder_tiny.py +21 -18
  39. diffusers/models/autoencoders/consistency_decoder_vae.py +45 -20
  40. diffusers/models/autoencoders/vae.py +41 -29
  41. diffusers/models/autoencoders/vq_model.py +182 -0
  42. diffusers/models/controlnet.py +47 -800
  43. diffusers/models/controlnet_flux.py +70 -0
  44. diffusers/models/controlnet_sd3.py +68 -0
  45. diffusers/models/controlnet_sparsectrl.py +116 -0
  46. diffusers/models/controlnets/__init__.py +23 -0
  47. diffusers/models/controlnets/controlnet.py +872 -0
  48. diffusers/models/{controlnet_flax.py → controlnets/controlnet_flax.py} +9 -9
  49. diffusers/models/controlnets/controlnet_flux.py +536 -0
  50. diffusers/models/controlnets/controlnet_hunyuan.py +401 -0
  51. diffusers/models/controlnets/controlnet_sd3.py +489 -0
  52. diffusers/models/controlnets/controlnet_sparsectrl.py +788 -0
  53. diffusers/models/controlnets/controlnet_union.py +832 -0
  54. diffusers/models/controlnets/controlnet_xs.py +1946 -0
  55. diffusers/models/controlnets/multicontrolnet.py +183 -0
  56. diffusers/models/downsampling.py +85 -18
  57. diffusers/models/embeddings.py +1856 -158
  58. diffusers/models/embeddings_flax.py +23 -9
  59. diffusers/models/model_loading_utils.py +480 -0
  60. diffusers/models/modeling_flax_pytorch_utils.py +2 -1
  61. diffusers/models/modeling_flax_utils.py +2 -7
  62. diffusers/models/modeling_outputs.py +14 -0
  63. diffusers/models/modeling_pytorch_flax_utils.py +1 -1
  64. diffusers/models/modeling_utils.py +611 -146
  65. diffusers/models/normalization.py +361 -20
  66. diffusers/models/resnet.py +18 -23
  67. diffusers/models/transformers/__init__.py +16 -0
  68. diffusers/models/transformers/auraflow_transformer_2d.py +544 -0
  69. diffusers/models/transformers/cogvideox_transformer_3d.py +542 -0
  70. diffusers/models/transformers/dit_transformer_2d.py +240 -0
  71. diffusers/models/transformers/dual_transformer_2d.py +9 -8
  72. diffusers/models/transformers/hunyuan_transformer_2d.py +578 -0
  73. diffusers/models/transformers/latte_transformer_3d.py +327 -0
  74. diffusers/models/transformers/lumina_nextdit2d.py +340 -0
  75. diffusers/models/transformers/pixart_transformer_2d.py +445 -0
  76. diffusers/models/transformers/prior_transformer.py +13 -13
  77. diffusers/models/transformers/sana_transformer.py +488 -0
  78. diffusers/models/transformers/stable_audio_transformer.py +458 -0
  79. diffusers/models/transformers/t5_film_transformer.py +17 -19
  80. diffusers/models/transformers/transformer_2d.py +297 -187
  81. diffusers/models/transformers/transformer_allegro.py +422 -0
  82. diffusers/models/transformers/transformer_cogview3plus.py +386 -0
  83. diffusers/models/transformers/transformer_flux.py +593 -0
  84. diffusers/models/transformers/transformer_hunyuan_video.py +791 -0
  85. diffusers/models/transformers/transformer_ltx.py +469 -0
  86. diffusers/models/transformers/transformer_mochi.py +499 -0
  87. diffusers/models/transformers/transformer_sd3.py +461 -0
  88. diffusers/models/transformers/transformer_temporal.py +21 -19
  89. diffusers/models/unets/unet_1d.py +8 -8
  90. diffusers/models/unets/unet_1d_blocks.py +31 -31
  91. diffusers/models/unets/unet_2d.py +17 -10
  92. diffusers/models/unets/unet_2d_blocks.py +225 -149
  93. diffusers/models/unets/unet_2d_condition.py +41 -40
  94. diffusers/models/unets/unet_2d_condition_flax.py +6 -5
  95. diffusers/models/unets/unet_3d_blocks.py +192 -1057
  96. diffusers/models/unets/unet_3d_condition.py +22 -27
  97. diffusers/models/unets/unet_i2vgen_xl.py +22 -18
  98. diffusers/models/unets/unet_kandinsky3.py +2 -2
  99. diffusers/models/unets/unet_motion_model.py +1413 -89
  100. diffusers/models/unets/unet_spatio_temporal_condition.py +40 -16
  101. diffusers/models/unets/unet_stable_cascade.py +19 -18
  102. diffusers/models/unets/uvit_2d.py +2 -2
  103. diffusers/models/upsampling.py +95 -26
  104. diffusers/models/vq_model.py +12 -164
  105. diffusers/optimization.py +1 -1
  106. diffusers/pipelines/__init__.py +202 -3
  107. diffusers/pipelines/allegro/__init__.py +48 -0
  108. diffusers/pipelines/allegro/pipeline_allegro.py +938 -0
  109. diffusers/pipelines/allegro/pipeline_output.py +23 -0
  110. diffusers/pipelines/amused/pipeline_amused.py +12 -12
  111. diffusers/pipelines/amused/pipeline_amused_img2img.py +14 -12
  112. diffusers/pipelines/amused/pipeline_amused_inpaint.py +13 -11
  113. diffusers/pipelines/animatediff/__init__.py +8 -0
  114. diffusers/pipelines/animatediff/pipeline_animatediff.py +122 -109
  115. diffusers/pipelines/animatediff/pipeline_animatediff_controlnet.py +1106 -0
  116. diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py +1288 -0
  117. diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py +1010 -0
  118. diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +236 -180
  119. diffusers/pipelines/animatediff/pipeline_animatediff_video2video_controlnet.py +1341 -0
  120. diffusers/pipelines/animatediff/pipeline_output.py +3 -2
  121. diffusers/pipelines/audioldm/pipeline_audioldm.py +14 -14
  122. diffusers/pipelines/audioldm2/modeling_audioldm2.py +58 -39
  123. diffusers/pipelines/audioldm2/pipeline_audioldm2.py +121 -36
  124. diffusers/pipelines/aura_flow/__init__.py +48 -0
  125. diffusers/pipelines/aura_flow/pipeline_aura_flow.py +584 -0
  126. diffusers/pipelines/auto_pipeline.py +196 -28
  127. diffusers/pipelines/blip_diffusion/blip_image_processing.py +1 -1
  128. diffusers/pipelines/blip_diffusion/modeling_blip2.py +6 -6
  129. diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py +1 -1
  130. diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +2 -2
  131. diffusers/pipelines/cogvideo/__init__.py +54 -0
  132. diffusers/pipelines/cogvideo/pipeline_cogvideox.py +772 -0
  133. diffusers/pipelines/cogvideo/pipeline_cogvideox_fun_control.py +825 -0
  134. diffusers/pipelines/cogvideo/pipeline_cogvideox_image2video.py +885 -0
  135. diffusers/pipelines/cogvideo/pipeline_cogvideox_video2video.py +851 -0
  136. diffusers/pipelines/cogvideo/pipeline_output.py +20 -0
  137. diffusers/pipelines/cogview3/__init__.py +47 -0
  138. diffusers/pipelines/cogview3/pipeline_cogview3plus.py +674 -0
  139. diffusers/pipelines/cogview3/pipeline_output.py +21 -0
  140. diffusers/pipelines/consistency_models/pipeline_consistency_models.py +6 -6
  141. diffusers/pipelines/controlnet/__init__.py +86 -80
  142. diffusers/pipelines/controlnet/multicontrolnet.py +7 -182
  143. diffusers/pipelines/controlnet/pipeline_controlnet.py +134 -87
  144. diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +2 -2
  145. diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +93 -77
  146. diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +88 -197
  147. diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +136 -90
  148. diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +176 -80
  149. diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +125 -89
  150. diffusers/pipelines/controlnet/pipeline_controlnet_union_inpaint_sd_xl.py +1790 -0
  151. diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl.py +1501 -0
  152. diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl_img2img.py +1627 -0
  153. diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +2 -2
  154. diffusers/pipelines/controlnet_hunyuandit/__init__.py +48 -0
  155. diffusers/pipelines/controlnet_hunyuandit/pipeline_hunyuandit_controlnet.py +1060 -0
  156. diffusers/pipelines/controlnet_sd3/__init__.py +57 -0
  157. diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet.py +1133 -0
  158. diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet_inpainting.py +1153 -0
  159. diffusers/pipelines/controlnet_xs/__init__.py +68 -0
  160. diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +916 -0
  161. diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py +1111 -0
  162. diffusers/pipelines/ddpm/pipeline_ddpm.py +2 -2
  163. diffusers/pipelines/deepfloyd_if/pipeline_if.py +16 -30
  164. diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +20 -35
  165. diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +23 -41
  166. diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +22 -38
  167. diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +25 -41
  168. diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +19 -34
  169. diffusers/pipelines/deepfloyd_if/pipeline_output.py +6 -5
  170. diffusers/pipelines/deepfloyd_if/watermark.py +1 -1
  171. diffusers/pipelines/deprecated/alt_diffusion/modeling_roberta_series.py +11 -11
  172. diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion.py +70 -30
  173. diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion_img2img.py +48 -25
  174. diffusers/pipelines/deprecated/repaint/pipeline_repaint.py +2 -2
  175. diffusers/pipelines/deprecated/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +7 -7
  176. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +21 -20
  177. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +27 -29
  178. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +33 -27
  179. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +33 -23
  180. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +36 -30
  181. diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +102 -69
  182. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion.py +13 -13
  183. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +10 -5
  184. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +11 -6
  185. diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +10 -5
  186. diffusers/pipelines/deprecated/vq_diffusion/pipeline_vq_diffusion.py +5 -5
  187. diffusers/pipelines/dit/pipeline_dit.py +7 -4
  188. diffusers/pipelines/flux/__init__.py +69 -0
  189. diffusers/pipelines/flux/modeling_flux.py +47 -0
  190. diffusers/pipelines/flux/pipeline_flux.py +957 -0
  191. diffusers/pipelines/flux/pipeline_flux_control.py +889 -0
  192. diffusers/pipelines/flux/pipeline_flux_control_img2img.py +945 -0
  193. diffusers/pipelines/flux/pipeline_flux_control_inpaint.py +1141 -0
  194. diffusers/pipelines/flux/pipeline_flux_controlnet.py +1006 -0
  195. diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py +998 -0
  196. diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py +1204 -0
  197. diffusers/pipelines/flux/pipeline_flux_fill.py +969 -0
  198. diffusers/pipelines/flux/pipeline_flux_img2img.py +856 -0
  199. diffusers/pipelines/flux/pipeline_flux_inpaint.py +1022 -0
  200. diffusers/pipelines/flux/pipeline_flux_prior_redux.py +492 -0
  201. diffusers/pipelines/flux/pipeline_output.py +37 -0
  202. diffusers/pipelines/free_init_utils.py +41 -38
  203. diffusers/pipelines/free_noise_utils.py +596 -0
  204. diffusers/pipelines/hunyuan_video/__init__.py +48 -0
  205. diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video.py +687 -0
  206. diffusers/pipelines/hunyuan_video/pipeline_output.py +20 -0
  207. diffusers/pipelines/hunyuandit/__init__.py +48 -0
  208. diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +916 -0
  209. diffusers/pipelines/i2vgen_xl/pipeline_i2vgen_xl.py +33 -48
  210. diffusers/pipelines/kandinsky/pipeline_kandinsky.py +8 -8
  211. diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +32 -29
  212. diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +11 -11
  213. diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +12 -12
  214. diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +10 -10
  215. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +6 -6
  216. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +34 -31
  217. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +10 -10
  218. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +10 -10
  219. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +6 -6
  220. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +8 -8
  221. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +7 -7
  222. diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +6 -6
  223. diffusers/pipelines/kandinsky3/convert_kandinsky3_unet.py +3 -3
  224. diffusers/pipelines/kandinsky3/pipeline_kandinsky3.py +22 -35
  225. diffusers/pipelines/kandinsky3/pipeline_kandinsky3_img2img.py +26 -37
  226. diffusers/pipelines/kolors/__init__.py +54 -0
  227. diffusers/pipelines/kolors/pipeline_kolors.py +1070 -0
  228. diffusers/pipelines/kolors/pipeline_kolors_img2img.py +1250 -0
  229. diffusers/pipelines/kolors/pipeline_output.py +21 -0
  230. diffusers/pipelines/kolors/text_encoder.py +889 -0
  231. diffusers/pipelines/kolors/tokenizer.py +338 -0
  232. diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +82 -62
  233. diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +77 -60
  234. diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +12 -12
  235. diffusers/pipelines/latte/__init__.py +48 -0
  236. diffusers/pipelines/latte/pipeline_latte.py +881 -0
  237. diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion.py +80 -74
  238. diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion_xl.py +85 -76
  239. diffusers/pipelines/ledits_pp/pipeline_output.py +2 -2
  240. diffusers/pipelines/ltx/__init__.py +50 -0
  241. diffusers/pipelines/ltx/pipeline_ltx.py +789 -0
  242. diffusers/pipelines/ltx/pipeline_ltx_image2video.py +885 -0
  243. diffusers/pipelines/ltx/pipeline_output.py +20 -0
  244. diffusers/pipelines/lumina/__init__.py +48 -0
  245. diffusers/pipelines/lumina/pipeline_lumina.py +890 -0
  246. diffusers/pipelines/marigold/__init__.py +50 -0
  247. diffusers/pipelines/marigold/marigold_image_processing.py +576 -0
  248. diffusers/pipelines/marigold/pipeline_marigold_depth.py +813 -0
  249. diffusers/pipelines/marigold/pipeline_marigold_normals.py +690 -0
  250. diffusers/pipelines/mochi/__init__.py +48 -0
  251. diffusers/pipelines/mochi/pipeline_mochi.py +748 -0
  252. diffusers/pipelines/mochi/pipeline_output.py +20 -0
  253. diffusers/pipelines/musicldm/pipeline_musicldm.py +14 -14
  254. diffusers/pipelines/pag/__init__.py +80 -0
  255. diffusers/pipelines/pag/pag_utils.py +243 -0
  256. diffusers/pipelines/pag/pipeline_pag_controlnet_sd.py +1328 -0
  257. diffusers/pipelines/pag/pipeline_pag_controlnet_sd_inpaint.py +1543 -0
  258. diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl.py +1610 -0
  259. diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl_img2img.py +1683 -0
  260. diffusers/pipelines/pag/pipeline_pag_hunyuandit.py +969 -0
  261. diffusers/pipelines/pag/pipeline_pag_kolors.py +1136 -0
  262. diffusers/pipelines/pag/pipeline_pag_pixart_sigma.py +865 -0
  263. diffusers/pipelines/pag/pipeline_pag_sana.py +886 -0
  264. diffusers/pipelines/pag/pipeline_pag_sd.py +1062 -0
  265. diffusers/pipelines/pag/pipeline_pag_sd_3.py +994 -0
  266. diffusers/pipelines/pag/pipeline_pag_sd_3_img2img.py +1058 -0
  267. diffusers/pipelines/pag/pipeline_pag_sd_animatediff.py +866 -0
  268. diffusers/pipelines/pag/pipeline_pag_sd_img2img.py +1094 -0
  269. diffusers/pipelines/pag/pipeline_pag_sd_inpaint.py +1356 -0
  270. diffusers/pipelines/pag/pipeline_pag_sd_xl.py +1345 -0
  271. diffusers/pipelines/pag/pipeline_pag_sd_xl_img2img.py +1544 -0
  272. diffusers/pipelines/pag/pipeline_pag_sd_xl_inpaint.py +1776 -0
  273. diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +17 -12
  274. diffusers/pipelines/pia/pipeline_pia.py +74 -164
  275. diffusers/pipelines/pipeline_flax_utils.py +5 -10
  276. diffusers/pipelines/pipeline_loading_utils.py +515 -53
  277. diffusers/pipelines/pipeline_utils.py +411 -222
  278. diffusers/pipelines/pixart_alpha/__init__.py +8 -1
  279. diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +76 -93
  280. diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +873 -0
  281. diffusers/pipelines/sana/__init__.py +47 -0
  282. diffusers/pipelines/sana/pipeline_output.py +21 -0
  283. diffusers/pipelines/sana/pipeline_sana.py +884 -0
  284. diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +27 -23
  285. diffusers/pipelines/shap_e/pipeline_shap_e.py +3 -3
  286. diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +14 -14
  287. diffusers/pipelines/shap_e/renderer.py +1 -1
  288. diffusers/pipelines/stable_audio/__init__.py +50 -0
  289. diffusers/pipelines/stable_audio/modeling_stable_audio.py +158 -0
  290. diffusers/pipelines/stable_audio/pipeline_stable_audio.py +756 -0
  291. diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py +71 -25
  292. diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py +23 -19
  293. diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py +35 -34
  294. diffusers/pipelines/stable_diffusion/__init__.py +0 -1
  295. diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +20 -11
  296. diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +1 -1
  297. diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +2 -2
  298. diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +6 -6
  299. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +145 -79
  300. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +43 -28
  301. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +13 -8
  302. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +100 -68
  303. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +109 -201
  304. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +131 -32
  305. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +247 -87
  306. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +30 -29
  307. diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +35 -27
  308. diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +49 -42
  309. diffusers/pipelines/stable_diffusion/safety_checker.py +2 -1
  310. diffusers/pipelines/stable_diffusion_3/__init__.py +54 -0
  311. diffusers/pipelines/stable_diffusion_3/pipeline_output.py +21 -0
  312. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +1140 -0
  313. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +1036 -0
  314. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +1250 -0
  315. diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +29 -20
  316. diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +59 -58
  317. diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +31 -25
  318. diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +38 -22
  319. diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +30 -24
  320. diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_xl_k_diffusion.py +24 -23
  321. diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +107 -67
  322. diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +316 -69
  323. diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +10 -5
  324. diffusers/pipelines/stable_diffusion_safe/safety_checker.py +1 -1
  325. diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +98 -30
  326. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +121 -83
  327. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +161 -105
  328. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +142 -218
  329. diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_instruct_pix2pix.py +45 -29
  330. diffusers/pipelines/stable_diffusion_xl/watermark.py +9 -3
  331. diffusers/pipelines/stable_video_diffusion/pipeline_stable_video_diffusion.py +110 -57
  332. diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +69 -39
  333. diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_xl_adapter.py +105 -74
  334. diffusers/pipelines/text_to_video_synthesis/pipeline_output.py +3 -2
  335. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +29 -49
  336. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +32 -93
  337. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +37 -25
  338. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero_sdxl.py +54 -40
  339. diffusers/pipelines/unclip/pipeline_unclip.py +6 -6
  340. diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +6 -6
  341. diffusers/pipelines/unidiffuser/modeling_text_decoder.py +1 -1
  342. diffusers/pipelines/unidiffuser/modeling_uvit.py +12 -12
  343. diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +29 -28
  344. diffusers/pipelines/wuerstchen/modeling_paella_vq_model.py +5 -5
  345. diffusers/pipelines/wuerstchen/modeling_wuerstchen_common.py +5 -10
  346. diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +6 -8
  347. diffusers/pipelines/wuerstchen/pipeline_wuerstchen.py +4 -4
  348. diffusers/pipelines/wuerstchen/pipeline_wuerstchen_combined.py +12 -12
  349. diffusers/pipelines/wuerstchen/pipeline_wuerstchen_prior.py +15 -14
  350. diffusers/{models/dual_transformer_2d.py → quantizers/__init__.py} +2 -6
  351. diffusers/quantizers/auto.py +139 -0
  352. diffusers/quantizers/base.py +233 -0
  353. diffusers/quantizers/bitsandbytes/__init__.py +2 -0
  354. diffusers/quantizers/bitsandbytes/bnb_quantizer.py +561 -0
  355. diffusers/quantizers/bitsandbytes/utils.py +306 -0
  356. diffusers/quantizers/gguf/__init__.py +1 -0
  357. diffusers/quantizers/gguf/gguf_quantizer.py +159 -0
  358. diffusers/quantizers/gguf/utils.py +456 -0
  359. diffusers/quantizers/quantization_config.py +669 -0
  360. diffusers/quantizers/torchao/__init__.py +15 -0
  361. diffusers/quantizers/torchao/torchao_quantizer.py +292 -0
  362. diffusers/schedulers/__init__.py +12 -2
  363. diffusers/schedulers/deprecated/__init__.py +1 -1
  364. diffusers/schedulers/deprecated/scheduling_karras_ve.py +25 -25
  365. diffusers/schedulers/scheduling_amused.py +5 -5
  366. diffusers/schedulers/scheduling_consistency_decoder.py +11 -11
  367. diffusers/schedulers/scheduling_consistency_models.py +23 -25
  368. diffusers/schedulers/scheduling_cosine_dpmsolver_multistep.py +572 -0
  369. diffusers/schedulers/scheduling_ddim.py +27 -26
  370. diffusers/schedulers/scheduling_ddim_cogvideox.py +452 -0
  371. diffusers/schedulers/scheduling_ddim_flax.py +2 -1
  372. diffusers/schedulers/scheduling_ddim_inverse.py +16 -16
  373. diffusers/schedulers/scheduling_ddim_parallel.py +32 -31
  374. diffusers/schedulers/scheduling_ddpm.py +27 -30
  375. diffusers/schedulers/scheduling_ddpm_flax.py +7 -3
  376. diffusers/schedulers/scheduling_ddpm_parallel.py +33 -36
  377. diffusers/schedulers/scheduling_ddpm_wuerstchen.py +14 -14
  378. diffusers/schedulers/scheduling_deis_multistep.py +150 -50
  379. diffusers/schedulers/scheduling_dpm_cogvideox.py +489 -0
  380. diffusers/schedulers/scheduling_dpmsolver_multistep.py +221 -84
  381. diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +2 -2
  382. diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +158 -52
  383. diffusers/schedulers/scheduling_dpmsolver_sde.py +153 -34
  384. diffusers/schedulers/scheduling_dpmsolver_singlestep.py +275 -86
  385. diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +81 -57
  386. diffusers/schedulers/scheduling_edm_euler.py +62 -39
  387. diffusers/schedulers/scheduling_euler_ancestral_discrete.py +30 -29
  388. diffusers/schedulers/scheduling_euler_discrete.py +255 -74
  389. diffusers/schedulers/scheduling_flow_match_euler_discrete.py +458 -0
  390. diffusers/schedulers/scheduling_flow_match_heun_discrete.py +320 -0
  391. diffusers/schedulers/scheduling_heun_discrete.py +174 -46
  392. diffusers/schedulers/scheduling_ipndm.py +9 -9
  393. diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +138 -29
  394. diffusers/schedulers/scheduling_k_dpm_2_discrete.py +132 -26
  395. diffusers/schedulers/scheduling_karras_ve_flax.py +6 -6
  396. diffusers/schedulers/scheduling_lcm.py +23 -29
  397. diffusers/schedulers/scheduling_lms_discrete.py +105 -28
  398. diffusers/schedulers/scheduling_pndm.py +20 -20
  399. diffusers/schedulers/scheduling_repaint.py +21 -21
  400. diffusers/schedulers/scheduling_sasolver.py +157 -60
  401. diffusers/schedulers/scheduling_sde_ve.py +19 -19
  402. diffusers/schedulers/scheduling_tcd.py +41 -36
  403. diffusers/schedulers/scheduling_unclip.py +19 -16
  404. diffusers/schedulers/scheduling_unipc_multistep.py +243 -47
  405. diffusers/schedulers/scheduling_utils.py +12 -5
  406. diffusers/schedulers/scheduling_utils_flax.py +1 -3
  407. diffusers/schedulers/scheduling_vq_diffusion.py +10 -10
  408. diffusers/training_utils.py +214 -30
  409. diffusers/utils/__init__.py +17 -1
  410. diffusers/utils/constants.py +3 -0
  411. diffusers/utils/doc_utils.py +1 -0
  412. diffusers/utils/dummy_pt_objects.py +592 -7
  413. diffusers/utils/dummy_torch_and_torchsde_objects.py +15 -0
  414. diffusers/utils/dummy_torch_and_transformers_and_sentencepiece_objects.py +47 -0
  415. diffusers/utils/dummy_torch_and_transformers_objects.py +1001 -71
  416. diffusers/utils/dynamic_modules_utils.py +34 -29
  417. diffusers/utils/export_utils.py +50 -6
  418. diffusers/utils/hub_utils.py +131 -17
  419. diffusers/utils/import_utils.py +210 -8
  420. diffusers/utils/loading_utils.py +118 -5
  421. diffusers/utils/logging.py +4 -2
  422. diffusers/utils/peft_utils.py +37 -7
  423. diffusers/utils/state_dict_utils.py +13 -2
  424. diffusers/utils/testing_utils.py +193 -11
  425. diffusers/utils/torch_utils.py +4 -0
  426. diffusers/video_processor.py +113 -0
  427. {diffusers-0.27.1.dist-info → diffusers-0.32.2.dist-info}/METADATA +82 -91
  428. diffusers-0.32.2.dist-info/RECORD +550 -0
  429. {diffusers-0.27.1.dist-info → diffusers-0.32.2.dist-info}/WHEEL +1 -1
  430. diffusers/loaders/autoencoder.py +0 -146
  431. diffusers/loaders/controlnet.py +0 -136
  432. diffusers/loaders/lora.py +0 -1349
  433. diffusers/models/prior_transformer.py +0 -12
  434. diffusers/models/t5_film_transformer.py +0 -70
  435. diffusers/models/transformer_2d.py +0 -25
  436. diffusers/models/transformer_temporal.py +0 -34
  437. diffusers/models/unet_1d.py +0 -26
  438. diffusers/models/unet_1d_blocks.py +0 -203
  439. diffusers/models/unet_2d.py +0 -27
  440. diffusers/models/unet_2d_blocks.py +0 -375
  441. diffusers/models/unet_2d_condition.py +0 -25
  442. diffusers-0.27.1.dist-info/RECORD +0 -399
  443. {diffusers-0.27.1.dist-info → diffusers-0.32.2.dist-info}/LICENSE +0 -0
  444. {diffusers-0.27.1.dist-info → diffusers-0.32.2.dist-info}/entry_points.txt +0 -0
  445. {diffusers-0.27.1.dist-info → diffusers-0.32.2.dist-info}/top_level.txt +0 -0
@@ -11,171 +11,19 @@
11
11
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
- from dataclasses import dataclass
15
- from typing import Optional, Tuple, Union
14
+ from ..utils import deprecate
15
+ from .autoencoders.vq_model import VQEncoderOutput, VQModel
16
16
 
17
- import torch
18
- import torch.nn as nn
19
17
 
20
- from ..configuration_utils import ConfigMixin, register_to_config
21
- from ..utils import BaseOutput
22
- from ..utils.accelerate_utils import apply_forward_hook
23
- from .autoencoders.vae import Decoder, DecoderOutput, Encoder, VectorQuantizer
24
- from .modeling_utils import ModelMixin
18
+ class VQEncoderOutput(VQEncoderOutput):
19
+ def __init__(self, *args, **kwargs):
20
+ deprecation_message = "Importing `VQEncoderOutput` from `diffusers.models.vq_model` is deprecated and this will be removed in a future version. Please use `from diffusers.models.autoencoders.vq_model import VQEncoderOutput`, instead."
21
+ deprecate("VQEncoderOutput", "0.31", deprecation_message)
22
+ super().__init__(*args, **kwargs)
25
23
 
26
24
 
27
- @dataclass
28
- class VQEncoderOutput(BaseOutput):
29
- """
30
- Output of VQModel encoding method.
31
-
32
- Args:
33
- latents (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`):
34
- The encoded output sample from the last layer of the model.
35
- """
36
-
37
- latents: torch.FloatTensor
38
-
39
-
40
- class VQModel(ModelMixin, ConfigMixin):
41
- r"""
42
- A VQ-VAE model for decoding latent representations.
43
-
44
- This model inherits from [`ModelMixin`]. Check the superclass documentation for it's generic methods implemented
45
- for all models (such as downloading or saving).
46
-
47
- Parameters:
48
- in_channels (int, *optional*, defaults to 3): Number of channels in the input image.
49
- out_channels (int, *optional*, defaults to 3): Number of channels in the output.
50
- down_block_types (`Tuple[str]`, *optional*, defaults to `("DownEncoderBlock2D",)`):
51
- Tuple of downsample block types.
52
- up_block_types (`Tuple[str]`, *optional*, defaults to `("UpDecoderBlock2D",)`):
53
- Tuple of upsample block types.
54
- block_out_channels (`Tuple[int]`, *optional*, defaults to `(64,)`):
55
- Tuple of block output channels.
56
- layers_per_block (`int`, *optional*, defaults to `1`): Number of layers per block.
57
- act_fn (`str`, *optional*, defaults to `"silu"`): The activation function to use.
58
- latent_channels (`int`, *optional*, defaults to `3`): Number of channels in the latent space.
59
- sample_size (`int`, *optional*, defaults to `32`): Sample input size.
60
- num_vq_embeddings (`int`, *optional*, defaults to `256`): Number of codebook vectors in the VQ-VAE.
61
- norm_num_groups (`int`, *optional*, defaults to `32`): Number of groups for normalization layers.
62
- vq_embed_dim (`int`, *optional*): Hidden dim of codebook vectors in the VQ-VAE.
63
- scaling_factor (`float`, *optional*, defaults to `0.18215`):
64
- The component-wise standard deviation of the trained latent space computed using the first batch of the
65
- training set. This is used to scale the latent space to have unit variance when training the diffusion
66
- model. The latents are scaled with the formula `z = z * scaling_factor` before being passed to the
67
- diffusion model. When decoding, the latents are scaled back to the original scale with the formula: `z = 1
68
- / scaling_factor * z`. For more details, refer to sections 4.3.2 and D.1 of the [High-Resolution Image
69
- Synthesis with Latent Diffusion Models](https://arxiv.org/abs/2112.10752) paper.
70
- norm_type (`str`, *optional*, defaults to `"group"`):
71
- Type of normalization layer to use. Can be one of `"group"` or `"spatial"`.
72
- """
73
-
74
- @register_to_config
75
- def __init__(
76
- self,
77
- in_channels: int = 3,
78
- out_channels: int = 3,
79
- down_block_types: Tuple[str, ...] = ("DownEncoderBlock2D",),
80
- up_block_types: Tuple[str, ...] = ("UpDecoderBlock2D",),
81
- block_out_channels: Tuple[int, ...] = (64,),
82
- layers_per_block: int = 1,
83
- act_fn: str = "silu",
84
- latent_channels: int = 3,
85
- sample_size: int = 32,
86
- num_vq_embeddings: int = 256,
87
- norm_num_groups: int = 32,
88
- vq_embed_dim: Optional[int] = None,
89
- scaling_factor: float = 0.18215,
90
- norm_type: str = "group", # group, spatial
91
- mid_block_add_attention=True,
92
- lookup_from_codebook=False,
93
- force_upcast=False,
94
- ):
95
- super().__init__()
96
-
97
- # pass init params to Encoder
98
- self.encoder = Encoder(
99
- in_channels=in_channels,
100
- out_channels=latent_channels,
101
- down_block_types=down_block_types,
102
- block_out_channels=block_out_channels,
103
- layers_per_block=layers_per_block,
104
- act_fn=act_fn,
105
- norm_num_groups=norm_num_groups,
106
- double_z=False,
107
- mid_block_add_attention=mid_block_add_attention,
108
- )
109
-
110
- vq_embed_dim = vq_embed_dim if vq_embed_dim is not None else latent_channels
111
-
112
- self.quant_conv = nn.Conv2d(latent_channels, vq_embed_dim, 1)
113
- self.quantize = VectorQuantizer(num_vq_embeddings, vq_embed_dim, beta=0.25, remap=None, sane_index_shape=False)
114
- self.post_quant_conv = nn.Conv2d(vq_embed_dim, latent_channels, 1)
115
-
116
- # pass init params to Decoder
117
- self.decoder = Decoder(
118
- in_channels=latent_channels,
119
- out_channels=out_channels,
120
- up_block_types=up_block_types,
121
- block_out_channels=block_out_channels,
122
- layers_per_block=layers_per_block,
123
- act_fn=act_fn,
124
- norm_num_groups=norm_num_groups,
125
- norm_type=norm_type,
126
- mid_block_add_attention=mid_block_add_attention,
127
- )
128
-
129
- @apply_forward_hook
130
- def encode(self, x: torch.FloatTensor, return_dict: bool = True) -> VQEncoderOutput:
131
- h = self.encoder(x)
132
- h = self.quant_conv(h)
133
-
134
- if not return_dict:
135
- return (h,)
136
-
137
- return VQEncoderOutput(latents=h)
138
-
139
- @apply_forward_hook
140
- def decode(
141
- self, h: torch.FloatTensor, force_not_quantize: bool = False, return_dict: bool = True, shape=None
142
- ) -> Union[DecoderOutput, torch.FloatTensor]:
143
- # also go through quantization layer
144
- if not force_not_quantize:
145
- quant, _, _ = self.quantize(h)
146
- elif self.config.lookup_from_codebook:
147
- quant = self.quantize.get_codebook_entry(h, shape)
148
- else:
149
- quant = h
150
- quant2 = self.post_quant_conv(quant)
151
- dec = self.decoder(quant2, quant if self.config.norm_type == "spatial" else None)
152
-
153
- if not return_dict:
154
- return (dec,)
155
-
156
- return DecoderOutput(sample=dec)
157
-
158
- def forward(
159
- self, sample: torch.FloatTensor, return_dict: bool = True
160
- ) -> Union[DecoderOutput, Tuple[torch.FloatTensor, ...]]:
161
- r"""
162
- The [`VQModel`] forward method.
163
-
164
- Args:
165
- sample (`torch.FloatTensor`): Input sample.
166
- return_dict (`bool`, *optional*, defaults to `True`):
167
- Whether or not to return a [`models.vq_model.VQEncoderOutput`] instead of a plain tuple.
168
-
169
- Returns:
170
- [`~models.vq_model.VQEncoderOutput`] or `tuple`:
171
- If return_dict is True, a [`~models.vq_model.VQEncoderOutput`] is returned, otherwise a plain `tuple`
172
- is returned.
173
- """
174
-
175
- h = self.encode(sample).latents
176
- dec = self.decode(h).sample
177
-
178
- if not return_dict:
179
- return (dec,)
180
-
181
- return DecoderOutput(sample=dec)
25
+ class VQModel(VQModel):
26
+ def __init__(self, *args, **kwargs):
27
+ deprecation_message = "Importing `VQModel` from `diffusers.models.vq_model` is deprecated and this will be removed in a future version. Please use `from diffusers.models.autoencoders.vq_model import VQModel`, instead."
28
+ deprecate("VQModel", "0.31", deprecation_message)
29
+ super().__init__(*args, **kwargs)
diffusers/optimization.py CHANGED
@@ -87,7 +87,7 @@ def get_piecewise_constant_schedule(optimizer: Optimizer, step_rules: str, last_
87
87
  The optimizer for which to schedule the learning rate.
88
88
  step_rules (`string`):
89
89
  The rules for the learning rate. ex: rule_steps="1:10,0.1:20,0.01:30,0.005" it means that the learning rate
90
- if multiple 1 for the first 10 steps, mutiple 0.1 for the next 20 steps, multiple 0.01 for the next 30
90
+ if multiple 1 for the first 10 steps, multiple 0.1 for the next 20 steps, multiple 0.01 for the next 30
91
91
  steps and multiple 0.005 for the other steps.
92
92
  last_epoch (`int`, *optional*, defaults to -1):
93
93
  The index of the last epoch when resuming training.
@@ -10,6 +10,7 @@ from ..utils import (
10
10
  is_librosa_available,
11
11
  is_note_seq_available,
12
12
  is_onnx_available,
13
+ is_sentencepiece_available,
13
14
  is_torch_available,
14
15
  is_torch_npu_available,
15
16
  is_transformers_available,
@@ -20,10 +21,14 @@ from ..utils import (
20
21
  _dummy_objects = {}
21
22
  _import_structure = {
22
23
  "controlnet": [],
24
+ "controlnet_hunyuandit": [],
25
+ "controlnet_sd3": [],
23
26
  "controlnet_xs": [],
24
27
  "deprecated": [],
25
28
  "latent_diffusion": [],
26
29
  "ledits_pp": [],
30
+ "marigold": [],
31
+ "pag": [],
27
32
  "stable_diffusion": [],
28
33
  "stable_diffusion_xl": [],
29
34
  }
@@ -111,10 +116,29 @@ else:
111
116
  "VersatileDiffusionTextToImagePipeline",
112
117
  ]
113
118
  )
119
+ _import_structure["allegro"] = ["AllegroPipeline"]
114
120
  _import_structure["amused"] = ["AmusedImg2ImgPipeline", "AmusedInpaintPipeline", "AmusedPipeline"]
115
121
  _import_structure["animatediff"] = [
116
122
  "AnimateDiffPipeline",
123
+ "AnimateDiffControlNetPipeline",
124
+ "AnimateDiffSDXLPipeline",
125
+ "AnimateDiffSparseControlNetPipeline",
117
126
  "AnimateDiffVideoToVideoPipeline",
127
+ "AnimateDiffVideoToVideoControlNetPipeline",
128
+ ]
129
+ _import_structure["flux"] = [
130
+ "FluxControlPipeline",
131
+ "FluxControlInpaintPipeline",
132
+ "FluxControlImg2ImgPipeline",
133
+ "FluxControlNetPipeline",
134
+ "FluxControlNetImg2ImgPipeline",
135
+ "FluxControlNetInpaintPipeline",
136
+ "FluxImg2ImgPipeline",
137
+ "FluxInpaintPipeline",
138
+ "FluxPipeline",
139
+ "FluxFillPipeline",
140
+ "FluxPriorReduxPipeline",
141
+ "ReduxImageEncoder",
118
142
  ]
119
143
  _import_structure["audioldm"] = ["AudioLDMPipeline"]
120
144
  _import_structure["audioldm2"] = [
@@ -123,6 +147,13 @@ else:
123
147
  "AudioLDM2UNet2DConditionModel",
124
148
  ]
125
149
  _import_structure["blip_diffusion"] = ["BlipDiffusionPipeline"]
150
+ _import_structure["cogvideo"] = [
151
+ "CogVideoXPipeline",
152
+ "CogVideoXImageToVideoPipeline",
153
+ "CogVideoXVideoToVideoPipeline",
154
+ "CogVideoXFunControlPipeline",
155
+ ]
156
+ _import_structure["cogview3"] = ["CogView3PlusPipeline"]
126
157
  _import_structure["controlnet"].extend(
127
158
  [
128
159
  "BlipDiffusionControlNetPipeline",
@@ -132,6 +163,47 @@ else:
132
163
  "StableDiffusionXLControlNetImg2ImgPipeline",
133
164
  "StableDiffusionXLControlNetInpaintPipeline",
134
165
  "StableDiffusionXLControlNetPipeline",
166
+ "StableDiffusionXLControlNetUnionPipeline",
167
+ "StableDiffusionXLControlNetUnionInpaintPipeline",
168
+ "StableDiffusionXLControlNetUnionImg2ImgPipeline",
169
+ ]
170
+ )
171
+ _import_structure["pag"].extend(
172
+ [
173
+ "StableDiffusionControlNetPAGInpaintPipeline",
174
+ "AnimateDiffPAGPipeline",
175
+ "KolorsPAGPipeline",
176
+ "HunyuanDiTPAGPipeline",
177
+ "StableDiffusion3PAGPipeline",
178
+ "StableDiffusion3PAGImg2ImgPipeline",
179
+ "StableDiffusionPAGPipeline",
180
+ "StableDiffusionPAGImg2ImgPipeline",
181
+ "StableDiffusionPAGInpaintPipeline",
182
+ "StableDiffusionControlNetPAGPipeline",
183
+ "StableDiffusionXLPAGPipeline",
184
+ "StableDiffusionXLPAGInpaintPipeline",
185
+ "StableDiffusionXLControlNetPAGImg2ImgPipeline",
186
+ "StableDiffusionXLControlNetPAGPipeline",
187
+ "StableDiffusionXLPAGImg2ImgPipeline",
188
+ "PixArtSigmaPAGPipeline",
189
+ "SanaPAGPipeline",
190
+ ]
191
+ )
192
+ _import_structure["controlnet_xs"].extend(
193
+ [
194
+ "StableDiffusionControlNetXSPipeline",
195
+ "StableDiffusionXLControlNetXSPipeline",
196
+ ]
197
+ )
198
+ _import_structure["controlnet_hunyuandit"].extend(
199
+ [
200
+ "HunyuanDiTControlNetPipeline",
201
+ ]
202
+ )
203
+ _import_structure["controlnet_sd3"].extend(
204
+ [
205
+ "StableDiffusion3ControlNetPipeline",
206
+ "StableDiffusion3ControlNetInpaintingPipeline",
135
207
  ]
136
208
  )
137
209
  _import_structure["deepfloyd_if"] = [
@@ -142,6 +214,8 @@ else:
142
214
  "IFPipeline",
143
215
  "IFSuperResolutionPipeline",
144
216
  ]
217
+ _import_structure["hunyuandit"] = ["HunyuanDiTPipeline"]
218
+ _import_structure["hunyuan_video"] = ["HunyuanVideoPipeline"]
145
219
  _import_structure["kandinsky"] = [
146
220
  "KandinskyCombinedPipeline",
147
221
  "KandinskyImg2ImgCombinedPipeline",
@@ -178,12 +252,27 @@ else:
178
252
  "LEditsPPPipelineStableDiffusionXL",
179
253
  ]
180
254
  )
255
+ _import_structure["latte"] = ["LattePipeline"]
256
+ _import_structure["ltx"] = ["LTXPipeline", "LTXImageToVideoPipeline"]
257
+ _import_structure["lumina"] = ["LuminaText2ImgPipeline"]
258
+ _import_structure["marigold"].extend(
259
+ [
260
+ "MarigoldDepthPipeline",
261
+ "MarigoldNormalsPipeline",
262
+ ]
263
+ )
264
+ _import_structure["mochi"] = ["MochiPipeline"]
181
265
  _import_structure["musicldm"] = ["MusicLDMPipeline"]
182
266
  _import_structure["paint_by_example"] = ["PaintByExamplePipeline"]
183
267
  _import_structure["pia"] = ["PIAPipeline"]
184
- _import_structure["pixart_alpha"] = ["PixArtAlphaPipeline"]
268
+ _import_structure["pixart_alpha"] = ["PixArtAlphaPipeline", "PixArtSigmaPipeline"]
269
+ _import_structure["sana"] = ["SanaPipeline"]
185
270
  _import_structure["semantic_stable_diffusion"] = ["SemanticStableDiffusionPipeline"]
186
271
  _import_structure["shap_e"] = ["ShapEImg2ImgPipeline", "ShapEPipeline"]
272
+ _import_structure["stable_audio"] = [
273
+ "StableAudioProjectionModel",
274
+ "StableAudioPipeline",
275
+ ]
187
276
  _import_structure["stable_cascade"] = [
188
277
  "StableCascadeCombinedPipeline",
189
278
  "StableCascadeDecoderPipeline",
@@ -205,6 +294,12 @@ else:
205
294
  "StableDiffusionLDM3DPipeline",
206
295
  ]
207
296
  )
297
+ _import_structure["aura_flow"] = ["AuraFlowPipeline"]
298
+ _import_structure["stable_diffusion_3"] = [
299
+ "StableDiffusion3Pipeline",
300
+ "StableDiffusion3Img2ImgPipeline",
301
+ "StableDiffusion3InpaintPipeline",
302
+ ]
208
303
  _import_structure["stable_diffusion_attend_and_excite"] = ["StableDiffusionAttendAndExcitePipeline"]
209
304
  _import_structure["stable_diffusion_safe"] = ["StableDiffusionPipelineSafe"]
210
305
  _import_structure["stable_diffusion_sag"] = ["StableDiffusionSAGPipeline"]
@@ -288,6 +383,22 @@ else:
288
383
  "StableDiffusionKDiffusionPipeline",
289
384
  "StableDiffusionXLKDiffusionPipeline",
290
385
  ]
386
+
387
+ try:
388
+ if not (is_torch_available() and is_transformers_available() and is_sentencepiece_available()):
389
+ raise OptionalDependencyNotAvailable()
390
+ except OptionalDependencyNotAvailable:
391
+ from ..utils import (
392
+ dummy_torch_and_transformers_and_sentencepiece_objects,
393
+ )
394
+
395
+ _dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_and_sentencepiece_objects))
396
+ else:
397
+ _import_structure["kolors"] = [
398
+ "KolorsPipeline",
399
+ "KolorsImg2ImgPipeline",
400
+ ]
401
+
291
402
  try:
292
403
  if not is_flax_available():
293
404
  raise OptionalDependencyNotAvailable()
@@ -360,15 +471,31 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
360
471
  except OptionalDependencyNotAvailable:
361
472
  from ..utils.dummy_torch_and_transformers_objects import *
362
473
  else:
474
+ from .allegro import AllegroPipeline
363
475
  from .amused import AmusedImg2ImgPipeline, AmusedInpaintPipeline, AmusedPipeline
364
- from .animatediff import AnimateDiffPipeline, AnimateDiffVideoToVideoPipeline
476
+ from .animatediff import (
477
+ AnimateDiffControlNetPipeline,
478
+ AnimateDiffPipeline,
479
+ AnimateDiffSDXLPipeline,
480
+ AnimateDiffSparseControlNetPipeline,
481
+ AnimateDiffVideoToVideoControlNetPipeline,
482
+ AnimateDiffVideoToVideoPipeline,
483
+ )
365
484
  from .audioldm import AudioLDMPipeline
366
485
  from .audioldm2 import (
367
486
  AudioLDM2Pipeline,
368
487
  AudioLDM2ProjectionModel,
369
488
  AudioLDM2UNet2DConditionModel,
370
489
  )
490
+ from .aura_flow import AuraFlowPipeline
371
491
  from .blip_diffusion import BlipDiffusionPipeline
492
+ from .cogvideo import (
493
+ CogVideoXFunControlPipeline,
494
+ CogVideoXImageToVideoPipeline,
495
+ CogVideoXPipeline,
496
+ CogVideoXVideoToVideoPipeline,
497
+ )
498
+ from .cogview3 import CogView3PlusPipeline
372
499
  from .controlnet import (
373
500
  BlipDiffusionControlNetPipeline,
374
501
  StableDiffusionControlNetImg2ImgPipeline,
@@ -377,6 +504,17 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
377
504
  StableDiffusionXLControlNetImg2ImgPipeline,
378
505
  StableDiffusionXLControlNetInpaintPipeline,
379
506
  StableDiffusionXLControlNetPipeline,
507
+ StableDiffusionXLControlNetUnionImg2ImgPipeline,
508
+ StableDiffusionXLControlNetUnionInpaintPipeline,
509
+ StableDiffusionXLControlNetUnionPipeline,
510
+ )
511
+ from .controlnet_hunyuandit import (
512
+ HunyuanDiTControlNetPipeline,
513
+ )
514
+ from .controlnet_sd3 import StableDiffusion3ControlNetInpaintingPipeline, StableDiffusion3ControlNetPipeline
515
+ from .controlnet_xs import (
516
+ StableDiffusionControlNetXSPipeline,
517
+ StableDiffusionXLControlNetXSPipeline,
380
518
  )
381
519
  from .deepfloyd_if import (
382
520
  IFImg2ImgPipeline,
@@ -400,6 +538,22 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
400
538
  VersatileDiffusionTextToImagePipeline,
401
539
  VQDiffusionPipeline,
402
540
  )
541
+ from .flux import (
542
+ FluxControlImg2ImgPipeline,
543
+ FluxControlInpaintPipeline,
544
+ FluxControlNetImg2ImgPipeline,
545
+ FluxControlNetInpaintPipeline,
546
+ FluxControlNetPipeline,
547
+ FluxControlPipeline,
548
+ FluxFillPipeline,
549
+ FluxImg2ImgPipeline,
550
+ FluxInpaintPipeline,
551
+ FluxPipeline,
552
+ FluxPriorReduxPipeline,
553
+ ReduxImageEncoder,
554
+ )
555
+ from .hunyuan_video import HunyuanVideoPipeline
556
+ from .hunyuandit import HunyuanDiTPipeline
403
557
  from .i2vgen_xl import I2VGenXLPipeline
404
558
  from .kandinsky import (
405
559
  KandinskyCombinedPipeline,
@@ -431,18 +585,47 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
431
585
  LatentConsistencyModelPipeline,
432
586
  )
433
587
  from .latent_diffusion import LDMTextToImagePipeline
588
+ from .latte import LattePipeline
434
589
  from .ledits_pp import (
435
590
  LEditsPPDiffusionPipelineOutput,
436
591
  LEditsPPInversionPipelineOutput,
437
592
  LEditsPPPipelineStableDiffusion,
438
593
  LEditsPPPipelineStableDiffusionXL,
439
594
  )
595
+ from .ltx import LTXImageToVideoPipeline, LTXPipeline
596
+ from .lumina import LuminaText2ImgPipeline
597
+ from .marigold import (
598
+ MarigoldDepthPipeline,
599
+ MarigoldNormalsPipeline,
600
+ )
601
+ from .mochi import MochiPipeline
440
602
  from .musicldm import MusicLDMPipeline
603
+ from .pag import (
604
+ AnimateDiffPAGPipeline,
605
+ HunyuanDiTPAGPipeline,
606
+ KolorsPAGPipeline,
607
+ PixArtSigmaPAGPipeline,
608
+ SanaPAGPipeline,
609
+ StableDiffusion3PAGImg2ImgPipeline,
610
+ StableDiffusion3PAGPipeline,
611
+ StableDiffusionControlNetPAGInpaintPipeline,
612
+ StableDiffusionControlNetPAGPipeline,
613
+ StableDiffusionPAGImg2ImgPipeline,
614
+ StableDiffusionPAGInpaintPipeline,
615
+ StableDiffusionPAGPipeline,
616
+ StableDiffusionXLControlNetPAGImg2ImgPipeline,
617
+ StableDiffusionXLControlNetPAGPipeline,
618
+ StableDiffusionXLPAGImg2ImgPipeline,
619
+ StableDiffusionXLPAGInpaintPipeline,
620
+ StableDiffusionXLPAGPipeline,
621
+ )
441
622
  from .paint_by_example import PaintByExamplePipeline
442
623
  from .pia import PIAPipeline
443
- from .pixart_alpha import PixArtAlphaPipeline
624
+ from .pixart_alpha import PixArtAlphaPipeline, PixArtSigmaPipeline
625
+ from .sana import SanaPipeline
444
626
  from .semantic_stable_diffusion import SemanticStableDiffusionPipeline
445
627
  from .shap_e import ShapEImg2ImgPipeline, ShapEPipeline
628
+ from .stable_audio import StableAudioPipeline, StableAudioProjectionModel
446
629
  from .stable_cascade import (
447
630
  StableCascadeCombinedPipeline,
448
631
  StableCascadeDecoderPipeline,
@@ -461,6 +644,11 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
461
644
  StableUnCLIPImg2ImgPipeline,
462
645
  StableUnCLIPPipeline,
463
646
  )
647
+ from .stable_diffusion_3 import (
648
+ StableDiffusion3Img2ImgPipeline,
649
+ StableDiffusion3InpaintPipeline,
650
+ StableDiffusion3Pipeline,
651
+ )
464
652
  from .stable_diffusion_attend_and_excite import StableDiffusionAttendAndExcitePipeline
465
653
  from .stable_diffusion_diffedit import StableDiffusionDiffEditPipeline
466
654
  from .stable_diffusion_gligen import StableDiffusionGLIGENPipeline, StableDiffusionGLIGENTextImagePipeline
@@ -532,6 +720,17 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
532
720
  StableDiffusionXLKDiffusionPipeline,
533
721
  )
534
722
 
723
+ try:
724
+ if not (is_torch_available() and is_transformers_available() and is_sentencepiece_available()):
725
+ raise OptionalDependencyNotAvailable()
726
+ except OptionalDependencyNotAvailable:
727
+ from ..utils.dummy_torch_and_transformers_and_sentencepiece_objects import *
728
+ else:
729
+ from .kolors import (
730
+ KolorsImg2ImgPipeline,
731
+ KolorsPipeline,
732
+ )
733
+
535
734
  try:
536
735
  if not is_flax_available():
537
736
  raise OptionalDependencyNotAvailable()
@@ -0,0 +1,48 @@
1
+ from typing import TYPE_CHECKING
2
+
3
+ from ...utils import (
4
+ DIFFUSERS_SLOW_IMPORT,
5
+ OptionalDependencyNotAvailable,
6
+ _LazyModule,
7
+ get_objects_from_module,
8
+ is_torch_available,
9
+ is_transformers_available,
10
+ )
11
+
12
+
13
+ _dummy_objects = {}
14
+ _import_structure = {}
15
+
16
+
17
+ try:
18
+ if not (is_transformers_available() and is_torch_available()):
19
+ raise OptionalDependencyNotAvailable()
20
+ except OptionalDependencyNotAvailable:
21
+ from ...utils import dummy_torch_and_transformers_objects # noqa F403
22
+
23
+ _dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_objects))
24
+ else:
25
+ _import_structure["pipeline_allegro"] = ["AllegroPipeline"]
26
+
27
+ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
28
+ try:
29
+ if not (is_transformers_available() and is_torch_available()):
30
+ raise OptionalDependencyNotAvailable()
31
+
32
+ except OptionalDependencyNotAvailable:
33
+ from ...utils.dummy_torch_and_transformers_objects import *
34
+ else:
35
+ from .pipeline_allegro import AllegroPipeline
36
+
37
+ else:
38
+ import sys
39
+
40
+ sys.modules[__name__] = _LazyModule(
41
+ __name__,
42
+ globals()["__file__"],
43
+ _import_structure,
44
+ module_spec=__spec__,
45
+ )
46
+
47
+ for name, value in _dummy_objects.items():
48
+ setattr(sys.modules[__name__], name, value)