diffsynth 2.0.17__tar.gz → 2.0.18__tar.gz

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 (235) hide show
  1. {diffsynth-2.0.17 → diffsynth-2.0.18}/PKG-INFO +1 -1
  2. {diffsynth-2.0.17 → diffsynth-2.0.18}/README.md +4 -0
  3. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/configs/vram_management_module_maps.py +0 -3
  4. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ace_step_vae.py +106 -4
  5. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/ace_step.py +12 -12
  6. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth.egg-info/PKG-INFO +1 -1
  7. {diffsynth-2.0.17 → diffsynth-2.0.18}/pyproject.toml +1 -1
  8. {diffsynth-2.0.17 → diffsynth-2.0.18}/LICENSE +0 -0
  9. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/__init__.py +0 -0
  10. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/configs/__init__.py +0 -0
  11. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/configs/model_configs.py +0 -0
  12. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/__init__.py +0 -0
  13. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/attention/__init__.py +0 -0
  14. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/attention/attention.py +0 -0
  15. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/data/__init__.py +0 -0
  16. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/data/operators.py +0 -0
  17. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/data/unified_dataset.py +0 -0
  18. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/device/__init__.py +0 -0
  19. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/device/npu_compatible_device.py +0 -0
  20. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/gradient/__init__.py +0 -0
  21. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/gradient/gradient_checkpoint.py +0 -0
  22. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/loader/__init__.py +0 -0
  23. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/loader/config.py +0 -0
  24. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/loader/file.py +0 -0
  25. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/loader/model.py +0 -0
  26. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/npu_patch/npu_fused_operator.py +0 -0
  27. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/offload_training/__init__.py +0 -0
  28. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/offload_training/manager.py +0 -0
  29. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/offload_training/memory_buffer.py +0 -0
  30. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/offload_training/offloader.py +0 -0
  31. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/vram/__init__.py +0 -0
  32. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/vram/disk_map.py +0 -0
  33. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/vram/initialization.py +0 -0
  34. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/core/vram/layers.py +0 -0
  35. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/__init__.py +0 -0
  36. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/base_pipeline.py +0 -0
  37. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/ddim_scheduler.py +0 -0
  38. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/dmd2.py +0 -0
  39. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/flow_match.py +0 -0
  40. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/logger.py +0 -0
  41. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/loss.py +0 -0
  42. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/parsers.py +0 -0
  43. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/runner.py +0 -0
  44. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/template.py +0 -0
  45. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/diffusion/training_module.py +0 -0
  46. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/__init__.py +0 -0
  47. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/aesthetic.py +0 -0
  48. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/base.py +0 -0
  49. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/bioclip.py +0 -0
  50. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/clip.py +0 -0
  51. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/fid.py +0 -0
  52. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/hpsv2.py +0 -0
  53. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/hpsv3.py +0 -0
  54. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/image_reward.py +0 -0
  55. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/lpips.py +0 -0
  56. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/pickscore.py +0 -0
  57. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/qwen_image_bench.py +0 -0
  58. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/unified_reward_2.py +0 -0
  59. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/metrics/unified_reward_edit.py +0 -0
  60. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ace_step_conditioner.py +0 -0
  61. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ace_step_dit.py +0 -0
  62. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ace_step_residual_fsq.py +0 -0
  63. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ace_step_text_encoder.py +0 -0
  64. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ace_step_tokenizer.py +0 -0
  65. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/aesthetic.py +0 -0
  66. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/anima_dit.py +0 -0
  67. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/bioclip.py +0 -0
  68. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/boogu_image_dit.py +0 -0
  69. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/clip.py +0 -0
  70. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/demucs.py +0 -0
  71. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/dinov3_image_encoder.py +0 -0
  72. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ernie_image_dit.py +0 -0
  73. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ernie_image_text_encoder.py +0 -0
  74. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/fid.py +0 -0
  75. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux2_dit.py +0 -0
  76. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux2_text_encoder.py +0 -0
  77. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux2_vae.py +0 -0
  78. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_controlnet.py +0 -0
  79. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_dit.py +0 -0
  80. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_infiniteyou.py +0 -0
  81. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_ipadapter.py +0 -0
  82. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_lora_encoder.py +0 -0
  83. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_lora_patcher.py +0 -0
  84. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_text_encoder_clip.py +0 -0
  85. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_text_encoder_t5.py +0 -0
  86. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_vae.py +0 -0
  87. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/flux_value_control.py +0 -0
  88. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/general_modules.py +0 -0
  89. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/hidream_common.py +0 -0
  90. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/hidream_o1_image_dit.py +0 -0
  91. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/hpsv2.py +0 -0
  92. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/hpsv3.py +0 -0
  93. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ideogram4_dit.py +0 -0
  94. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ideogram4_text_encoder.py +0 -0
  95. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ideogram4_vae.py +0 -0
  96. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/image_reward.py +0 -0
  97. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/joyai_image_dit.py +0 -0
  98. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/joyai_image_text_encoder.py +0 -0
  99. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/krea2_dit.py +0 -0
  100. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/krea2_text_encoder.py +0 -0
  101. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/longcat_video_dit.py +0 -0
  102. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/lpips.py +0 -0
  103. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ltx2_audio_vae.py +0 -0
  104. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ltx2_common.py +0 -0
  105. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ltx2_dit.py +0 -0
  106. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ltx2_text_encoder.py +0 -0
  107. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ltx2_upsampler.py +0 -0
  108. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/ltx2_video_vae.py +0 -0
  109. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/model_loader.py +0 -0
  110. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/mova_audio_dit.py +0 -0
  111. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/mova_audio_vae.py +0 -0
  112. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/mova_dual_tower_bridge.py +0 -0
  113. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/nexus_gen.py +0 -0
  114. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/nexus_gen_ar_model.py +0 -0
  115. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/nexus_gen_projector.py +0 -0
  116. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/pickscore.py +0 -0
  117. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/qwen_image_bench.py +0 -0
  118. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/qwen_image_controlnet.py +0 -0
  119. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/qwen_image_dit.py +0 -0
  120. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/qwen_image_image2lora.py +0 -0
  121. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/qwen_image_text_encoder.py +0 -0
  122. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/qwen_image_vae.py +0 -0
  123. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/sd_text_encoder.py +0 -0
  124. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/siglip2_image_encoder.py +0 -0
  125. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_text_encoder.py +0 -0
  126. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_unet.py +0 -0
  127. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_vae.py +0 -0
  128. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_xl_text_encoder.py +0 -0
  129. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_xl_unet.py +0 -0
  130. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/step1x_connector.py +0 -0
  131. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/step1x_text_encoder.py +0 -0
  132. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/unified_reward_2.py +0 -0
  133. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/unified_reward_edit.py +0 -0
  134. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_animate_adapter.py +0 -0
  135. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_camera_controller.py +0 -0
  136. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_dit.py +0 -0
  137. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_dit_s2v.py +0 -0
  138. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_image_encoder.py +0 -0
  139. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_mot.py +0 -0
  140. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_motion_controller.py +0 -0
  141. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_text_encoder.py +0 -0
  142. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_vace.py +0 -0
  143. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wan_video_vae.py +0 -0
  144. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wantodance.py +0 -0
  145. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/wav2vec.py +0 -0
  146. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/z_image_controlnet.py +0 -0
  147. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/z_image_dit.py +0 -0
  148. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/z_image_image2lora.py +0 -0
  149. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/models/z_image_text_encoder.py +0 -0
  150. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/anima_image.py +0 -0
  151. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/boogu_image.py +0 -0
  152. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/ernie_image.py +0 -0
  153. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/flux2_image.py +0 -0
  154. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/flux_image.py +0 -0
  155. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/hidream_o1_image.py +0 -0
  156. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/ideogram4.py +0 -0
  157. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/joyai_image.py +0 -0
  158. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/krea2.py +0 -0
  159. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/ltx2_audio_video.py +0 -0
  160. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/mova_audio_video.py +0 -0
  161. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/qwen_image.py +0 -0
  162. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/stable_diffusion.py +0 -0
  163. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/stable_diffusion_xl.py +0 -0
  164. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/wan_video.py +0 -0
  165. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/pipelines/z_image.py +0 -0
  166. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/controlnet/__init__.py +0 -0
  167. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/controlnet/annotator.py +0 -0
  168. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/controlnet/controlnet_input.py +0 -0
  169. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/data/__init__.py +0 -0
  170. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/data/audio.py +0 -0
  171. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/data/audio_video.py +0 -0
  172. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/data/media_io_ltx2.py +0 -0
  173. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/demucs/__init__.py +0 -0
  174. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/dequantizer/__init__.py +0 -0
  175. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/__init__.py +0 -0
  176. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/flux.py +0 -0
  177. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/general.py +0 -0
  178. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/krea2.py +0 -0
  179. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/merge.py +0 -0
  180. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/reset_rank.py +0 -0
  181. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/lora/sdxl.py +0 -0
  182. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/ses/__init__.py +0 -0
  183. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/ses/ses.py +0 -0
  184. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/__init__.py +0 -0
  185. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_conditioner.py +0 -0
  186. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_dit.py +0 -0
  187. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_text_encoder.py +0 -0
  188. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_tokenizer.py +0 -0
  189. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/anima_dit.py +0 -0
  190. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/dino_v3.py +0 -0
  191. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ernie_image_text_encoder.py +0 -0
  192. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux2_text_encoder.py +0 -0
  193. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_controlnet.py +0 -0
  194. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_dit.py +0 -0
  195. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_infiniteyou.py +0 -0
  196. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_ipadapter.py +0 -0
  197. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_text_encoder_clip.py +0 -0
  198. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_text_encoder_t5.py +0 -0
  199. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_vae.py +0 -0
  200. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/image_metrics.py +0 -0
  201. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/joyai_image_text_encoder.py +0 -0
  202. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/krea2_dit.py +0 -0
  203. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/krea2_text_encoder.py +0 -0
  204. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_audio_vae.py +0 -0
  205. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_dit.py +0 -0
  206. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_text_encoder.py +0 -0
  207. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_video_vae.py +0 -0
  208. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/nexus_gen.py +0 -0
  209. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/nexus_gen_projector.py +0 -0
  210. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/qwen_image_text_encoder.py +0 -0
  211. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/sdxl.py +0 -0
  212. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/sdxl_text_encoder.py +0 -0
  213. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/sdxl_text_encoder_2.py +0 -0
  214. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/sdxl_vae.py +0 -0
  215. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/stable_diffusion_text_encoder.py +0 -0
  216. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/stable_diffusion_vae.py +0 -0
  217. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/stable_diffusion_xl_text_encoder.py +0 -0
  218. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/step1x_connector.py +0 -0
  219. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_animate_adapter.py +0 -0
  220. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_dit.py +0 -0
  221. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_image_encoder.py +0 -0
  222. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_mot.py +0 -0
  223. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_vace.py +0 -0
  224. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_vae.py +0 -0
  225. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wans2v_audio_encoder.py +0 -0
  226. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/z_image_dit.py +0 -0
  227. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/z_image_text_encoder.py +0 -0
  228. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/xfuser/__init__.py +0 -0
  229. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/utils/xfuser/xdit_context_parallel.py +0 -0
  230. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth/version.py +0 -0
  231. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth.egg-info/SOURCES.txt +0 -0
  232. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth.egg-info/dependency_links.txt +0 -0
  233. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth.egg-info/requires.txt +0 -0
  234. {diffsynth-2.0.17 → diffsynth-2.0.18}/diffsynth.egg-info/top_level.txt +0 -0
  235. {diffsynth-2.0.17 → diffsynth-2.0.18}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsynth
3
- Version: 2.0.17
3
+ Version: 2.0.18
4
4
  Summary: Enjoy the magic of Diffusion models!
5
5
  Author: ModelScope Team
6
6
  License: Apache-2.0
@@ -14,6 +14,8 @@
14
14
  ## Introduction
15
15
 
16
16
  > DiffSynth-Studio Documentation: [中文版](https://diffsynth-studio-doc.readthedocs.io/zh-cn/latest/)、[English version](https://diffsynth-studio-doc.readthedocs.io/en/latest/)
17
+ >
18
+ > DiffSynth-Studio Skills:[DiffSynth-Studio Model Integration Skills](https://www.modelscope.cn/collections/DiffSynth-Studio/DiffSynth-Studio-Model-Integration-Skills)
17
19
 
18
20
  Welcome to the magical world of Diffusion models! DiffSynth-Studio is an open-source Diffusion model engine developed and maintained by the [ModelScope Community](https://www.modelscope.cn/). We hope to foster technological innovation through framework construction, aggregate the power of the open-source community, and explore the boundaries of generative model technology!
19
21
 
@@ -34,6 +36,8 @@ We believe that a well-developed open-source code framework can lower the thresh
34
36
 
35
37
  > Currently, the development personnel of this project are limited, with most of the work handled by [Artiprocher](https://github.com/Artiprocher) and [mi804](https://github.com/mi804). Therefore, the progress of new feature development will be relatively slow, and the speed of responding to and resolving issues is limited. We apologize for this and ask developers to understand.
36
38
 
39
+ - **July 21, 2026** We have open-sourced [DiffSynth-Studio Model Integration Skills](https://www.modelscope.cn/collections/DiffSynth-Studio/DiffSynth-Studio-Model-Integration-Skills). This is a composable collection of Agent Skills that automates the entire workflow of integrating external diffusion models into DiffSynth-Studio, significantly improving the standardization and efficiency of model integration. Get started with the [example](https://www.modelscope.cn/skills/DiffSynth-Studio/diffsynth-integrator/file/view/master/example.md?status=1)!
40
+
37
41
  - **June 29, 2026** Boogu-Image open-sourced. Support includes text-to-image generation, image editing, low VRAM inference, and training capabilities. For details, please refer to the [documentation](/docs/en/Model_Details/Boogu-Image.md) and [example code](/examples/boogu_image/).
38
42
 
39
43
  - **June 24, 2026** Krea-2 is now open-source, and we have provided full support. For more details, please refer to the [documentation](/docs/en/Model_Details/Krea-2.md) and [example code](/examples/krea2/).
@@ -307,21 +307,18 @@ VRAM_MANAGEMENT_MODULE_MAPS = {
307
307
  "torch.nn.Conv1d": "diffsynth.core.vram.layers.AutoWrappedModule",
308
308
  "torch.nn.ConvTranspose1d": "diffsynth.core.vram.layers.AutoWrappedModule",
309
309
  "transformers.models.qwen3.modeling_qwen3.Qwen3RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
310
- "transformers.models.qwen3.modeling_qwen3.Qwen3MLP": "diffsynth.core.vram.layers.AutoWrappedModule",
311
310
  "transformers.models.qwen3.modeling_qwen3.Qwen3RotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
312
311
  },
313
312
  "diffsynth.models.ace_step_conditioner.AceStepConditionEncoder": {
314
313
  "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear",
315
314
  "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule",
316
315
  "transformers.models.qwen3.modeling_qwen3.Qwen3RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
317
- "transformers.models.qwen3.modeling_qwen3.Qwen3MLP": "diffsynth.core.vram.layers.AutoWrappedModule",
318
316
  "transformers.models.qwen3.modeling_qwen3.Qwen3RotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
319
317
  },
320
318
  "diffsynth.models.ace_step_text_encoder.AceStepTextEncoder": {
321
319
  "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear",
322
320
  "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule",
323
321
  "transformers.models.qwen3.modeling_qwen3.Qwen3RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
324
- "transformers.models.qwen3.modeling_qwen3.Qwen3MLP": "diffsynth.core.vram.layers.AutoWrappedModule",
325
322
  "transformers.models.qwen3.modeling_qwen3.Qwen3RotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
326
323
  },
327
324
  "diffsynth.models.ace_step_vae.AceStepVAE": {
@@ -259,14 +259,116 @@ class AceStepVAE(nn.Module):
259
259
  )
260
260
  self.sampling_rate = sampling_rate
261
261
 
262
- def encode(self, x: torch.Tensor) -> torch.Tensor:
263
- """Audio waveform [B, audio_channels, T] latent [B, decoder_input_channels, T']."""
262
+ def tiled_encode(self, x: torch.Tensor, tile_size: int = 10240, tile_stride: int = 5120) -> torch.Tensor:
263
+ batch_size, audio_channels, T_audio = x.shape
264
+ up = self.upsampling_factor
265
+
266
+ lat_T = round(T_audio / up)
267
+
268
+ tiles = []
269
+ for t in range(0, T_audio, tile_stride):
270
+ if t - tile_stride >= 0 and t - tile_stride + tile_size >= T_audio:
271
+ continue
272
+ tiles.append((t, min(t + tile_size, T_audio)))
273
+
274
+ encoder_out_channels = self.encoder.conv2.out_channels
275
+ values = torch.zeros((batch_size, encoder_out_channels, lat_T), dtype=x.dtype, device="cpu")
276
+ weight = torch.zeros((1, 1, lat_T), dtype=x.dtype, device="cpu")
277
+
278
+ for t_start, t_end in tiles:
279
+ tile_audio = x[:, :, t_start:t_end]
280
+ tile_latent = self.encoder(tile_audio).to("cpu")
281
+ lat_len = tile_latent.shape[-1]
282
+
283
+ lat_start = round(t_start / up)
284
+ lat_end = lat_start + lat_len
285
+
286
+ border = (tile_size - tile_stride) // up
287
+ mask = self._build_blend_mask_1d(
288
+ lat_len, border,
289
+ is_left_bound=(t_start == 0),
290
+ is_right_bound=(t_end >= T_audio),
291
+ dtype=x.dtype, device="cpu",
292
+ )
293
+
294
+ values[:, :, lat_start:lat_end] += tile_latent * mask
295
+ weight[:, :, lat_start:lat_end] += mask
296
+
297
+ weight = weight.clamp(min=1e-8)
298
+ latent = values / weight
299
+ output = OobleckDiagonalGaussianDistribution(latent.to(x.device)).sample()
300
+ return output
301
+
302
+ def encode(self, x: torch.Tensor, tiled: bool = False, tile_size: int = 10240, tile_stride: int = 5120) -> torch.Tensor:
303
+ """Audio waveform [B, audio_channels, T] → latent [B, decoder_input_channels, T"]."""
304
+ if tiled:
305
+ return self.tiled_encode(x, tile_size=tile_size, tile_stride=tile_stride)
264
306
  h = self.encoder(x)
265
307
  output = OobleckDiagonalGaussianDistribution(h).sample()
266
308
  return output
267
309
 
268
- def decode(self, z: torch.Tensor) -> torch.Tensor:
269
- """Latent [B, decoder_input_channels, T] → audio waveform [B, audio_channels, T']."""
310
+ @property
311
+ def upsampling_factor(self) -> int:
312
+ ratios = [10, 6, 4, 4, 2]
313
+ result = 1
314
+ for r in ratios:
315
+ result *= r
316
+ return result
317
+
318
+ def _build_blend_mask_1d(self, length: int, border_width: int, is_left_bound: bool, is_right_bound: bool,
319
+ dtype: torch.dtype, device: torch.device) -> torch.Tensor:
320
+ mask = torch.ones(length, dtype=dtype, device=device)
321
+ if border_width <= 0:
322
+ return mask
323
+ if not is_left_bound:
324
+ ramp = torch.linspace(0.0, 1.0, border_width, dtype=dtype, device=device)
325
+ mask[:border_width] = ramp
326
+ if not is_right_bound:
327
+ ramp = torch.linspace(1.0, 0.0, border_width, dtype=dtype, device=device)
328
+ mask[-border_width:] = ramp
329
+ return mask.unsqueeze(0).unsqueeze(0)
330
+
331
+ def tiled_decode(self, z: torch.Tensor, tile_size: int = 512, tile_stride: int = 256) -> torch.Tensor:
332
+ batch_size, channels, T = z.shape
333
+ up = self.upsampling_factor
334
+ out_length = up * T
335
+
336
+ tiles = []
337
+ for t in range(0, T, tile_stride):
338
+ if t - tile_stride >= 0 and t - tile_stride + tile_size >= T:
339
+ continue
340
+ tiles.append((t, min(t + tile_size, T)))
341
+
342
+ audio_channels = self.decoder.conv2.out_channels
343
+ values = torch.zeros((batch_size, audio_channels, out_length), dtype=z.dtype, device="cpu")
344
+ weight = torch.zeros((1, 1, out_length), dtype=z.dtype, device="cpu")
345
+
346
+ for t_start, t_end in tiles:
347
+ tile_latent = z[:, :, t_start:t_end]
348
+ tile_output = self.decoder(tile_latent).to("cpu")
349
+ tile_len = tile_output.shape[-1]
350
+
351
+ out_start = t_start * up
352
+ out_end = out_start + tile_len
353
+
354
+ border = (tile_size - tile_stride) * up
355
+ mask = self._build_blend_mask_1d(
356
+ tile_len, border,
357
+ is_left_bound=(t_start == 0),
358
+ is_right_bound=(t_end >= T),
359
+ dtype=z.dtype, device="cpu",
360
+ )
361
+
362
+ values[:, :, out_start:out_end] += tile_output * mask
363
+ weight[:, :, out_start:out_end] += mask
364
+
365
+ weight = weight.clamp(min=1e-8)
366
+ return values / weight
367
+
368
+ def decode(self, z: torch.Tensor, tiled: bool = False, tile_size: int = 512, tile_stride: int = 256) -> torch.Tensor:
369
+ """Latent [B, decoder_input_channels, T] → audio waveform [B, audio_channels, T]."""
370
+ if tiled:
371
+ return self.tiled_decode(z, tile_size=tile_size, tile_stride=tile_stride)
270
372
  return self.decoder(z)
271
373
 
272
374
  def forward(self, sample: torch.Tensor) -> torch.Tensor:
@@ -125,6 +125,10 @@ class AceStepPipeline(BasePipeline):
125
125
  # Residual
126
126
  residual = None,
127
127
  negative_residual = None,
128
+ # Tiled VAE
129
+ tiled: bool = False,
130
+ tile_size: int = 512,
131
+ tile_stride: int = 256,
128
132
  # Progress
129
133
  progress_bar_cmd=tqdm,
130
134
  ):
@@ -173,21 +177,17 @@ class AceStepPipeline(BasePipeline):
173
177
 
174
178
  # Decode
175
179
  self.load_models_to_device(['vae'])
176
- # DiT output is [B, T, 64] (channels-last), VAE expects [B, 64, T] (channels-first)
177
- latents = inputs_shared["latents"].transpose(1, 2)
178
- vae_output = self.vae.decode(latents)
179
- audio_output = self.normalize_audio(vae_output, target_db=-1.0)
180
- audio = self.output_audio_format_check(audio_output)
180
+ audio = self.vae_output_to_audio(inputs_shared["latents"], tiled, tile_size, tile_stride)
181
181
  self.load_models_to_device([])
182
182
  return audio
183
-
184
- def normalize_audio(self, audio: torch.Tensor, target_db: float = -1.0) -> torch.Tensor:
183
+
184
+ def vae_output_to_audio(self, vae_output, tiled=False, tile_size=512, tile_stride=256):
185
+ audio = self.vae.decode(vae_output.transpose(1, 2), tiled=tiled, tile_size=tile_size, tile_stride=tile_stride)
185
186
  peak = torch.max(torch.abs(audio))
186
- if peak < 1e-6:
187
- return audio
188
- target_amp = 10 ** (target_db / 20.0)
189
- gain = target_amp / peak
190
- return audio * gain
187
+ if peak < 1e-6: return audio
188
+ audio = audio * (10 ** (-1 / 20.0) / peak)
189
+ audio = self.output_audio_format_check(audio)
190
+ return audio
191
191
 
192
192
  def switch_noncover_condition(self, inputs_shared, inputs_posi, inputs_nega, progress_id):
193
193
  if inputs_shared["task_type"] != "cover" or inputs_shared["audio_cover_strength"] >= 1.0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsynth
3
- Version: 2.0.17
3
+ Version: 2.0.18
4
4
  Summary: Enjoy the magic of Diffusion models!
5
5
  Author: ModelScope Team
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "diffsynth"
7
- version = "2.0.17"
7
+ version = "2.0.18"
8
8
  description = "Enjoy the magic of Diffusion models!"
9
9
  authors = [{name = "ModelScope Team"}]
10
10
  license = {text = "Apache-2.0"}
File without changes
File without changes