diffsynth 2.0.16__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.16 → diffsynth-2.0.18}/PKG-INFO +1 -1
  2. {diffsynth-2.0.16 → diffsynth-2.0.18}/README.md +72 -2
  3. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/configs/model_configs.py +124 -3
  4. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/configs/vram_management_module_maps.py +6 -3
  5. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/__init__.py +1 -0
  6. diffsynth-2.0.18/diffsynth/diffusion/dmd2.py +601 -0
  7. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/flow_match.py +22 -1
  8. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/parsers.py +21 -0
  9. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ace_step_vae.py +106 -4
  10. diffsynth-2.0.18/diffsynth/models/boogu_image_dit.py +3282 -0
  11. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/ace_step.py +12 -12
  12. diffsynth-2.0.18/diffsynth/pipelines/boogu_image.py +291 -0
  13. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/flux2_image.py +1 -1
  14. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/stable_diffusion_xl.py +10 -7
  15. diffsynth-2.0.18/diffsynth/utils/state_dict_converters/sdxl_text_encoder.py +206 -0
  16. diffsynth-2.0.18/diffsynth/utils/state_dict_converters/sdxl_text_encoder_2.py +345 -0
  17. diffsynth-2.0.18/diffsynth/utils/state_dict_converters/sdxl_vae.py +265 -0
  18. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth.egg-info/PKG-INFO +1 -1
  19. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth.egg-info/SOURCES.txt +6 -0
  20. {diffsynth-2.0.16 → diffsynth-2.0.18}/pyproject.toml +1 -1
  21. {diffsynth-2.0.16 → diffsynth-2.0.18}/LICENSE +0 -0
  22. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/__init__.py +0 -0
  23. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/configs/__init__.py +0 -0
  24. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/__init__.py +0 -0
  25. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/attention/__init__.py +0 -0
  26. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/attention/attention.py +0 -0
  27. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/data/__init__.py +0 -0
  28. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/data/operators.py +0 -0
  29. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/data/unified_dataset.py +0 -0
  30. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/device/__init__.py +0 -0
  31. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/device/npu_compatible_device.py +0 -0
  32. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/gradient/__init__.py +0 -0
  33. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/gradient/gradient_checkpoint.py +0 -0
  34. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/loader/__init__.py +0 -0
  35. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/loader/config.py +0 -0
  36. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/loader/file.py +0 -0
  37. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/loader/model.py +0 -0
  38. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/npu_patch/npu_fused_operator.py +0 -0
  39. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/offload_training/__init__.py +0 -0
  40. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/offload_training/manager.py +0 -0
  41. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/offload_training/memory_buffer.py +0 -0
  42. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/offload_training/offloader.py +0 -0
  43. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/vram/__init__.py +0 -0
  44. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/vram/disk_map.py +0 -0
  45. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/vram/initialization.py +0 -0
  46. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/core/vram/layers.py +0 -0
  47. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/base_pipeline.py +0 -0
  48. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/ddim_scheduler.py +0 -0
  49. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/logger.py +0 -0
  50. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/loss.py +0 -0
  51. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/runner.py +0 -0
  52. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/template.py +0 -0
  53. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/diffusion/training_module.py +0 -0
  54. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/__init__.py +0 -0
  55. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/aesthetic.py +0 -0
  56. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/base.py +0 -0
  57. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/bioclip.py +0 -0
  58. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/clip.py +0 -0
  59. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/fid.py +0 -0
  60. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/hpsv2.py +0 -0
  61. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/hpsv3.py +0 -0
  62. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/image_reward.py +0 -0
  63. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/lpips.py +0 -0
  64. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/pickscore.py +0 -0
  65. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/qwen_image_bench.py +0 -0
  66. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/unified_reward_2.py +0 -0
  67. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/metrics/unified_reward_edit.py +0 -0
  68. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ace_step_conditioner.py +0 -0
  69. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ace_step_dit.py +0 -0
  70. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ace_step_residual_fsq.py +0 -0
  71. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ace_step_text_encoder.py +0 -0
  72. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ace_step_tokenizer.py +0 -0
  73. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/aesthetic.py +0 -0
  74. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/anima_dit.py +0 -0
  75. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/bioclip.py +0 -0
  76. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/clip.py +0 -0
  77. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/demucs.py +0 -0
  78. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/dinov3_image_encoder.py +0 -0
  79. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ernie_image_dit.py +0 -0
  80. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ernie_image_text_encoder.py +0 -0
  81. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/fid.py +0 -0
  82. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux2_dit.py +0 -0
  83. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux2_text_encoder.py +0 -0
  84. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux2_vae.py +0 -0
  85. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_controlnet.py +0 -0
  86. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_dit.py +0 -0
  87. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_infiniteyou.py +0 -0
  88. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_ipadapter.py +0 -0
  89. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_lora_encoder.py +0 -0
  90. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_lora_patcher.py +0 -0
  91. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_text_encoder_clip.py +0 -0
  92. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_text_encoder_t5.py +0 -0
  93. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_vae.py +0 -0
  94. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/flux_value_control.py +0 -0
  95. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/general_modules.py +0 -0
  96. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/hidream_common.py +0 -0
  97. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/hidream_o1_image_dit.py +0 -0
  98. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/hpsv2.py +0 -0
  99. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/hpsv3.py +0 -0
  100. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ideogram4_dit.py +0 -0
  101. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ideogram4_text_encoder.py +0 -0
  102. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ideogram4_vae.py +0 -0
  103. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/image_reward.py +0 -0
  104. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/joyai_image_dit.py +0 -0
  105. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/joyai_image_text_encoder.py +0 -0
  106. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/krea2_dit.py +0 -0
  107. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/krea2_text_encoder.py +0 -0
  108. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/longcat_video_dit.py +0 -0
  109. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/lpips.py +0 -0
  110. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ltx2_audio_vae.py +0 -0
  111. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ltx2_common.py +0 -0
  112. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ltx2_dit.py +0 -0
  113. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ltx2_text_encoder.py +0 -0
  114. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ltx2_upsampler.py +0 -0
  115. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/ltx2_video_vae.py +0 -0
  116. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/model_loader.py +0 -0
  117. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/mova_audio_dit.py +0 -0
  118. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/mova_audio_vae.py +0 -0
  119. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/mova_dual_tower_bridge.py +0 -0
  120. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/nexus_gen.py +0 -0
  121. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/nexus_gen_ar_model.py +0 -0
  122. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/nexus_gen_projector.py +0 -0
  123. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/pickscore.py +0 -0
  124. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/qwen_image_bench.py +0 -0
  125. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/qwen_image_controlnet.py +0 -0
  126. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/qwen_image_dit.py +0 -0
  127. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/qwen_image_image2lora.py +0 -0
  128. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/qwen_image_text_encoder.py +0 -0
  129. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/qwen_image_vae.py +0 -0
  130. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/sd_text_encoder.py +0 -0
  131. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/siglip2_image_encoder.py +0 -0
  132. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_text_encoder.py +0 -0
  133. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_unet.py +0 -0
  134. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_vae.py +0 -0
  135. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_xl_text_encoder.py +0 -0
  136. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/stable_diffusion_xl_unet.py +0 -0
  137. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/step1x_connector.py +0 -0
  138. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/step1x_text_encoder.py +0 -0
  139. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/unified_reward_2.py +0 -0
  140. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/unified_reward_edit.py +0 -0
  141. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_animate_adapter.py +0 -0
  142. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_camera_controller.py +0 -0
  143. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_dit.py +0 -0
  144. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_dit_s2v.py +0 -0
  145. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_image_encoder.py +0 -0
  146. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_mot.py +0 -0
  147. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_motion_controller.py +0 -0
  148. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_text_encoder.py +0 -0
  149. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_vace.py +0 -0
  150. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wan_video_vae.py +0 -0
  151. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wantodance.py +0 -0
  152. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/wav2vec.py +0 -0
  153. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/z_image_controlnet.py +0 -0
  154. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/z_image_dit.py +0 -0
  155. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/z_image_image2lora.py +0 -0
  156. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/models/z_image_text_encoder.py +0 -0
  157. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/anima_image.py +0 -0
  158. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/ernie_image.py +0 -0
  159. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/flux_image.py +0 -0
  160. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/hidream_o1_image.py +0 -0
  161. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/ideogram4.py +0 -0
  162. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/joyai_image.py +0 -0
  163. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/krea2.py +0 -0
  164. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/ltx2_audio_video.py +0 -0
  165. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/mova_audio_video.py +0 -0
  166. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/qwen_image.py +0 -0
  167. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/stable_diffusion.py +0 -0
  168. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/wan_video.py +0 -0
  169. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/pipelines/z_image.py +0 -0
  170. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/controlnet/__init__.py +0 -0
  171. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/controlnet/annotator.py +0 -0
  172. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/controlnet/controlnet_input.py +0 -0
  173. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/data/__init__.py +0 -0
  174. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/data/audio.py +0 -0
  175. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/data/audio_video.py +0 -0
  176. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/data/media_io_ltx2.py +0 -0
  177. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/demucs/__init__.py +0 -0
  178. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/dequantizer/__init__.py +0 -0
  179. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/__init__.py +0 -0
  180. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/flux.py +0 -0
  181. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/general.py +0 -0
  182. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/krea2.py +0 -0
  183. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/merge.py +0 -0
  184. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/reset_rank.py +0 -0
  185. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/lora/sdxl.py +0 -0
  186. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/ses/__init__.py +0 -0
  187. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/ses/ses.py +0 -0
  188. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/__init__.py +0 -0
  189. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_conditioner.py +0 -0
  190. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_dit.py +0 -0
  191. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_text_encoder.py +0 -0
  192. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ace_step_tokenizer.py +0 -0
  193. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/anima_dit.py +0 -0
  194. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/dino_v3.py +0 -0
  195. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ernie_image_text_encoder.py +0 -0
  196. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux2_text_encoder.py +0 -0
  197. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_controlnet.py +0 -0
  198. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_dit.py +0 -0
  199. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_infiniteyou.py +0 -0
  200. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_ipadapter.py +0 -0
  201. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_text_encoder_clip.py +0 -0
  202. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_text_encoder_t5.py +0 -0
  203. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/flux_vae.py +0 -0
  204. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/image_metrics.py +0 -0
  205. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/joyai_image_text_encoder.py +0 -0
  206. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/krea2_dit.py +0 -0
  207. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/krea2_text_encoder.py +0 -0
  208. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_audio_vae.py +0 -0
  209. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_dit.py +0 -0
  210. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_text_encoder.py +0 -0
  211. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/ltx2_video_vae.py +0 -0
  212. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/nexus_gen.py +0 -0
  213. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/nexus_gen_projector.py +0 -0
  214. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/qwen_image_text_encoder.py +0 -0
  215. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/sdxl.py +0 -0
  216. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/stable_diffusion_text_encoder.py +0 -0
  217. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/stable_diffusion_vae.py +0 -0
  218. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/stable_diffusion_xl_text_encoder.py +0 -0
  219. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/step1x_connector.py +0 -0
  220. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_animate_adapter.py +0 -0
  221. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_dit.py +0 -0
  222. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_image_encoder.py +0 -0
  223. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_mot.py +0 -0
  224. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_vace.py +0 -0
  225. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wan_video_vae.py +0 -0
  226. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/wans2v_audio_encoder.py +0 -0
  227. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/z_image_dit.py +0 -0
  228. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/state_dict_converters/z_image_text_encoder.py +0 -0
  229. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/xfuser/__init__.py +0 -0
  230. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/utils/xfuser/xdit_context_parallel.py +0 -0
  231. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth/version.py +0 -0
  232. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth.egg-info/dependency_links.txt +0 -0
  233. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth.egg-info/requires.txt +0 -0
  234. {diffsynth-2.0.16 → diffsynth-2.0.18}/diffsynth.egg-info/top_level.txt +0 -0
  235. {diffsynth-2.0.16 → 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.16
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,10 @@ 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
+
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/).
42
+
37
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/).
38
44
 
39
45
  - **June 16, 2026**: We have added a new Template model for ACE-Step: [vocals2music](https://www.modelscope.cn/models/DiffSynth-Studio/acestep15xlsft-vocals2music). For more details, please refer to the [documentation](/docs/en/Model_Details/ACE-Step.md) and [example code](/examples/ace_step/).
@@ -1097,6 +1103,70 @@ Example code for Krea-2 is available at: [/examples/krea2/](/examples/krea2/)
1097
1103
 
1098
1104
  </details>
1099
1105
 
1106
+ #### Boogu-Image: [/docs/en/Model_Details/Boogu-Image.md](/docs/en/Model_Details/Boogu-Image.md)
1107
+
1108
+ <details>
1109
+
1110
+ <summary>Quick Start</summary>
1111
+
1112
+ Running the following code will quickly load the [Boogu/Boogu-Image-0.1-Base](https://modelscope.cn/models/Boogu/Boogu-Image-0.1-Base) model for inference. VRAM management is enabled, and the framework will automatically control the loading of model parameters based on available VRAM. The model can run with a minimum of 8GB VRAM.
1113
+
1114
+ ```python
1115
+ from diffsynth.pipelines.boogu_image import BooguImagePipeline, ModelConfig
1116
+ import torch
1117
+
1118
+
1119
+ vram_config = {
1120
+ "offload_dtype": torch.float8_e4m3fn,
1121
+ "offload_device": "cpu",
1122
+ "onload_dtype": torch.float8_e4m3fn,
1123
+ "onload_device": "cpu",
1124
+ "preparing_dtype": torch.float8_e4m3fn,
1125
+ "preparing_device": "cuda",
1126
+ "computation_dtype": torch.bfloat16,
1127
+ "computation_device": "cuda",
1128
+ }
1129
+
1130
+ pipe = BooguImagePipeline.from_pretrained(
1131
+ torch_dtype=torch.bfloat16,
1132
+ device="cuda",
1133
+ model_configs=[
1134
+ ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="transformer/*.safetensors", **vram_config),
1135
+ ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="mllm/*.safetensors", **vram_config),
1136
+ ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="vae/*.safetensors", **vram_config),
1137
+ ],
1138
+ processor_config=ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="mllm/"),
1139
+ vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5,
1140
+ )
1141
+
1142
+ output = pipe(
1143
+ prompt="a cat",
1144
+ negative_prompt="",
1145
+ height=1024,
1146
+ width=1024,
1147
+ seed=42,
1148
+ num_inference_steps=50,
1149
+ cfg_scale=4.0,
1150
+ )
1151
+ output.save("image_Boogu-Image-0.1-Base.jpg")
1152
+ ```
1153
+
1154
+ </details>
1155
+
1156
+ <details>
1157
+
1158
+ <summary>Examples</summary>
1159
+
1160
+ Example code for Boogu-Image is available at: [/examples/boogu_image/](/examples/boogu_image/)
1161
+
1162
+ |Model ID|Inference|Low VRAM Inference|Full Training|Full Training Validation|LoRA Training|LoRA Training Validation|
1163
+ |-|-|-|-|-|-|-|
1164
+ |[Boogu/Boogu-Image-0.1-Base](https://modelscope.cn/models/Boogu/Boogu-Image-0.1-Base)|[code](/examples/boogu_image/model_inference/Boogu-Image-0.1-Base.py)|[code](/examples/boogu_image/model_inference_low_vram/Boogu-Image-0.1-Base.py)|[code](/examples/boogu_image/model_training/full/Boogu-Image-0.1-Base.sh)|[code](/examples/boogu_image/model_training/validate_full/Boogu-Image-0.1-Base.py)|[code](/examples/boogu_image/model_training/lora/Boogu-Image-0.1-Base.sh)|[code](/examples/boogu_image/model_training/validate_lora/Boogu-Image-0.1-Base.py)|
1165
+ |[Boogu/Boogu-Image-0.1-Turbo](https://modelscope.cn/models/Boogu/Boogu-Image-0.1-Turbo)|[code](/examples/boogu_image/model_inference/Boogu-Image-0.1-Turbo.py)|[code](/examples/boogu_image/model_inference_low_vram/Boogu-Image-0.1-Turbo.py)|[code](/examples/boogu_image/model_training/full/Boogu-Image-0.1-Turbo.sh)|[code](/examples/boogu_image/model_training/validate_full/Boogu-Image-0.1-Turbo.py)|[code](/examples/boogu_image/model_training/lora/Boogu-Image-0.1-Turbo.sh)|[code](/examples/boogu_image/model_training/validate_lora/Boogu-Image-0.1-Turbo.py)|
1166
+ |[Boogu/Boogu-Image-0.1-Edit](https://modelscope.cn/models/Boogu/Boogu-Image-0.1-Edit)|[code](/examples/boogu_image/model_inference/Boogu-Image-0.1-Edit.py)|[code](/examples/boogu_image/model_inference_low_vram/Boogu-Image-0.1-Edit.py)|[code](/examples/boogu_image/model_training/full/Boogu-Image-0.1-Edit.sh)|[code](/examples/boogu_image/model_training/validate_full/Boogu-Image-0.1-Edit.py)|[code](/examples/boogu_image/model_training/lora/Boogu-Image-0.1-Edit.sh)|[code](/examples/boogu_image/model_training/validate_lora/Boogu-Image-0.1-Edit.py)|
1167
+
1168
+ </details>
1169
+
1100
1170
  ### Video Synthesis
1101
1171
 
1102
1172
  https://github.com/user-attachments/assets/1d66ae74-3b02-40a9-acc3-ea95fc039314
@@ -1372,8 +1442,8 @@ Example code for Wan is available at: [/examples/wanvideo/](/examples/wanvideo/)
1372
1442
  |[PAI/Wan2.2-Fun-A14B-Control-Camera](https://modelscope.cn/models/PAI/Wan2.2-Fun-A14B-Control-Camera)|`control_camera_video`, `input_image`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference/Wan2.2-Fun-A14B-Control-Camera.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference_low_vram/Wan2.2-Fun-A14B-Control-Camera.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/full/Wan2.2-Fun-A14B-Control-Camera.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_full/Wan2.2-Fun-A14B-Control-Camera.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/lora/Wan2.2-Fun-A14B-Control-Camera.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_lora/Wan2.2-Fun-A14B-Control-Camera.py)|
1373
1443
  |[openmoss/MOVA-360p](https://modelscope.cn/models/openmoss/MOVA-360p)|`input_image`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_inference/MOVA-360p-I2AV.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_inference_low_vram/MOVA-360p-I2AV.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/full/MOVA-360P-I2AV.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/validate_full/MOVA-360p-I2AV.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/lora/MOVA-360P-I2AV.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/validate_lora/MOVA-360p-I2AV.py)|
1374
1444
  |[openmoss/MOVA-720p](https://modelscope.cn/models/openmoss/MOVA-720p)|`input_image`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_inference/MOVA-720p-I2AV.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_inference_low_vram/MOVA-720p-I2AV.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/full/MOVA-720P-I2AV.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/validate_full/MOVA-720p-I2AV.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/lora/MOVA-720P-I2AV.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/mova/model_training/validate_lora/MOVA-720p-I2AV.py)|
1375
- |[Wan-AI/Wan2.2-Dancer-14B (global model)](https://modelscope.cn/models/Wan-AI/Wan2.2-Dancer-14B)|`wantodance_music_path`, `wantodance_reference_image`, `wantodance_fps`, `wantodance_keyframes`, `wantodance_keyframes_mask`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference/Wan2.2-Dancer-14B-global.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference_low_vram/Wan2.2-Dancer-14B-global.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/full/Wan2.2-Dancer-14B-global.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_full/Wan2.2-Dancer-14B-global.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/lora/Wan2.2-Dancer-14B-global.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_lora/Wan2.2-Dancer-14B-global.py)|
1376
- |[Wan-AI/Wan2.2-Dancer-14B (local model)](https://modelscope.cn/models/Wan-AI/Wan2.2-Dancer-14B)|`wantodance_music_path`, `wantodance_reference_image`, `wantodance_fps`, `wantodance_keyframes`, `wantodance_keyframes_mask`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference/Wan2.2-Dancer-14B-local.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference_low_vram/Wan2.2-Dancer-14B-local.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/full/Wan2.2-Dancer-14B-local.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_full/Wan2.2-Dancer-14B-local.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/lora/Wan2.2-Dancer-14B-local.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_lora/Wan2.2-Dancer-14B-local.py)|
1445
+ |[Wan-AI/Wan-Dancer-14B (global model)](https://modelscope.cn/models/Wan-AI/Wan-Dancer-14B)|`wantodance_music_path`, `wantodance_reference_image`, `wantodance_fps`, `wantodance_keyframes`, `wantodance_keyframes_mask`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference/Wan-Dancer-14B-global.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference_low_vram/Wan-Dancer-14B-global.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/full/Wan-Dancer-14B-global.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_full/Wan-Dancer-14B-global.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/lora/Wan-Dancer-14B-global.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_lora/Wan-Dancer-14B-global.py)|
1446
+ |[Wan-AI/Wan-Dancer-14B (local model)](https://modelscope.cn/models/Wan-AI/Wan-Dancer-14B)|`wantodance_music_path`, `wantodance_reference_image`, `wantodance_fps`, `wantodance_keyframes`, `wantodance_keyframes_mask`|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference/Wan-Dancer-14B-local.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_inference_low_vram/Wan-Dancer-14B-local.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/full/Wan-Dancer-14B-local.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_full/Wan-Dancer-14B-local.py)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/lora/Wan-Dancer-14B-local.sh)|[code](https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/wanvideo/model_training/validate_lora/Wan-Dancer-14B-local.py)|
1377
1447
 
1378
1448
  </details>
1379
1449
 
@@ -309,7 +309,7 @@ wan_series = [
309
309
  "state_dict_converter": "diffsynth.utils.state_dict_converters.wans2v_audio_encoder.WanS2VAudioEncoderStateDictConverter",
310
310
  },
311
311
  {
312
- # Example: ModelConfig(model_id="Wan-AI/Wan2.2-Dancer-14B", origin_file_pattern="global_model.safetensors")
312
+ # Example: ModelConfig(model_id="Wan-AI/Wan-Dancer-14B", origin_file_pattern="global_model.safetensors")
313
313
  "model_hash": "eb18873fc0ba77b541eb7b62dbcd2059",
314
314
  "model_name": "wan_video_dit",
315
315
  "model_class": "diffsynth.models.wan_video_dit.WanModel",
@@ -924,7 +924,119 @@ stable_diffusion_xl_series = [
924
924
  "model_class": "diffsynth.models.stable_diffusion_xl_unet.SDXLUNet2DConditionModel",
925
925
  "extra_kwargs": {"attention_head_dim": [5, 10, 20], "transformer_layers_per_block": [1, 2, 10], "use_linear_projection": True, "addition_embed_type": "text_time", "addition_time_embed_dim": 256, "projection_class_embeddings_input_dim": 2816},
926
926
  "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl.SDXLUNetStateDictConverter_Original2Diffusers",
927
- }
927
+ },
928
+ {
929
+ # Example: ModelConfig(model_id="stabilityai/stable-diffusion-xl-base-1.0", origin_file_pattern="sd_xl_base_1.0.safetensors")
930
+ "model_hash": "4cf64a799d04260df438c6f33c9a047e",
931
+ "model_name": "stable_diffusion_text_encoder",
932
+ "model_class": "diffsynth.models.stable_diffusion_text_encoder.SDTextEncoder",
933
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder.SDXLTextEncoderStateDictConverter_Original2Diffusers",
934
+ },
935
+ {
936
+ # Example: ModelConfig(model_id="stabilityai/stable-diffusion-xl-base-1.0", origin_file_pattern="sd_xl_base_1.0.safetensors")
937
+ "model_hash": "4cf64a799d04260df438c6f33c9a047e",
938
+ "model_name": "stable_diffusion_xl_text_encoder",
939
+ "model_class": "diffsynth.models.stable_diffusion_xl_text_encoder.SDXLTextEncoder2",
940
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder_2.SDXLTextEncoder2StateDictConverter_Original2Diffusers",
941
+ },
942
+ {
943
+ # Example: ModelConfig(model_id="stabilityai/stable-diffusion-xl-base-1.0", origin_file_pattern="sd_xl_base_1.0.safetensors")
944
+ "model_hash": "4cf64a799d04260df438c6f33c9a047e",
945
+ "model_name": "stable_diffusion_xl_vae",
946
+ "model_class": "diffsynth.models.stable_diffusion_vae.StableDiffusionVAE",
947
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_vae.SDXLVAEStateDictConverter_Original2Diffusers",
948
+ "extra_kwargs": {"scaling_factor": 0.13025, "sample_size": 1024, "force_upcast": True},
949
+ },
950
+ {
951
+ # Example: Non-mainstream format 1
952
+ "model_hash": "d34167ecd389f17d58f6c907b65173fa",
953
+ "model_name": "stable_diffusion_xl_unet",
954
+ "model_class": "diffsynth.models.stable_diffusion_xl_unet.SDXLUNet2DConditionModel",
955
+ "extra_kwargs": {"attention_head_dim": [5, 10, 20], "transformer_layers_per_block": [1, 2, 10], "use_linear_projection": True, "addition_embed_type": "text_time", "addition_time_embed_dim": 256, "projection_class_embeddings_input_dim": 2816},
956
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl.SDXLUNetStateDictConverter_Original2Diffusers",
957
+ },
958
+ {
959
+ # Example: Non-mainstream format 1
960
+ "model_hash": "d34167ecd389f17d58f6c907b65173fa",
961
+ "model_name": "stable_diffusion_text_encoder",
962
+ "model_class": "diffsynth.models.stable_diffusion_text_encoder.SDTextEncoder",
963
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder.SDXLTextEncoderStateDictConverter_Original2Diffusers",
964
+ },
965
+ {
966
+ # Example: Non-mainstream format 1
967
+ "model_hash": "d34167ecd389f17d58f6c907b65173fa",
968
+ "model_name": "stable_diffusion_xl_text_encoder",
969
+ "model_class": "diffsynth.models.stable_diffusion_xl_text_encoder.SDXLTextEncoder2",
970
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder_2.SDXLTextEncoder2StateDictConverter_Original2Diffusers",
971
+ },
972
+ {
973
+ # Example: Non-mainstream format 1
974
+ "model_hash": "d34167ecd389f17d58f6c907b65173fa",
975
+ "model_name": "stable_diffusion_xl_vae",
976
+ "model_class": "diffsynth.models.stable_diffusion_vae.StableDiffusionVAE",
977
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_vae.SDXLVAEStateDictConverter_Original2Diffusers",
978
+ "extra_kwargs": {"scaling_factor": 0.13025, "sample_size": 1024, "force_upcast": True},
979
+ },
980
+ {
981
+ # Example: Non-mainstream format 2
982
+ "model_hash": "c906695c0d35ec8547ebdd70d2e6a19b",
983
+ "model_name": "stable_diffusion_xl_unet",
984
+ "model_class": "diffsynth.models.stable_diffusion_xl_unet.SDXLUNet2DConditionModel",
985
+ "extra_kwargs": {"attention_head_dim": [5, 10, 20], "transformer_layers_per_block": [1, 2, 10], "use_linear_projection": True, "addition_embed_type": "text_time", "addition_time_embed_dim": 256, "projection_class_embeddings_input_dim": 2816},
986
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl.SDXLUNetStateDictConverter_Original2Diffusers",
987
+ },
988
+ {
989
+ # Example: Non-mainstream format 2
990
+ "model_hash": "c906695c0d35ec8547ebdd70d2e6a19b",
991
+ "model_name": "stable_diffusion_text_encoder",
992
+ "model_class": "diffsynth.models.stable_diffusion_text_encoder.SDTextEncoder",
993
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder.SDXLTextEncoderStateDictConverter_Original2Diffusers",
994
+ },
995
+ {
996
+ # Example: Non-mainstream format 2
997
+ "model_hash": "c906695c0d35ec8547ebdd70d2e6a19b",
998
+ "model_name": "stable_diffusion_xl_text_encoder",
999
+ "model_class": "diffsynth.models.stable_diffusion_xl_text_encoder.SDXLTextEncoder2",
1000
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder_2.SDXLTextEncoder2StateDictConverter_Original2Diffusers",
1001
+ },
1002
+ {
1003
+ # Example: Non-mainstream format 2
1004
+ "model_hash": "c906695c0d35ec8547ebdd70d2e6a19b",
1005
+ "model_name": "stable_diffusion_xl_vae",
1006
+ "model_class": "diffsynth.models.stable_diffusion_vae.StableDiffusionVAE",
1007
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_vae.SDXLVAEStateDictConverter_Original2Diffusers",
1008
+ "extra_kwargs": {"scaling_factor": 0.13025, "sample_size": 1024, "force_upcast": True},
1009
+ },
1010
+ {
1011
+ # Example: Non-mainstream format 3
1012
+ "model_hash": "1a9744a6f0c0e54ef40805c9d2b79ec6",
1013
+ "model_name": "stable_diffusion_xl_unet",
1014
+ "model_class": "diffsynth.models.stable_diffusion_xl_unet.SDXLUNet2DConditionModel",
1015
+ "extra_kwargs": {"attention_head_dim": [5, 10, 20], "transformer_layers_per_block": [1, 2, 10], "use_linear_projection": True, "addition_embed_type": "text_time", "addition_time_embed_dim": 256, "projection_class_embeddings_input_dim": 2816},
1016
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl.SDXLUNetStateDictConverter_Original2Diffusers",
1017
+ },
1018
+ {
1019
+ # Example: Non-mainstream format 3
1020
+ "model_hash": "1a9744a6f0c0e54ef40805c9d2b79ec6",
1021
+ "model_name": "stable_diffusion_text_encoder",
1022
+ "model_class": "diffsynth.models.stable_diffusion_text_encoder.SDTextEncoder",
1023
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder.SDXLTextEncoderStateDictConverter_Original2Diffusers",
1024
+ },
1025
+ {
1026
+ # Example: Non-mainstream format 3
1027
+ "model_hash": "1a9744a6f0c0e54ef40805c9d2b79ec6",
1028
+ "model_name": "stable_diffusion_xl_text_encoder",
1029
+ "model_class": "diffsynth.models.stable_diffusion_xl_text_encoder.SDXLTextEncoder2",
1030
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_text_encoder_2.SDXLTextEncoder2StateDictConverter_Original2Diffusers",
1031
+ },
1032
+ {
1033
+ # Example: Non-mainstream format 3
1034
+ "model_hash": "1a9744a6f0c0e54ef40805c9d2b79ec6",
1035
+ "model_name": "stable_diffusion_xl_vae",
1036
+ "model_class": "diffsynth.models.stable_diffusion_vae.StableDiffusionVAE",
1037
+ "state_dict_converter": "diffsynth.utils.state_dict_converters.sdxl_vae.SDXLVAEStateDictConverter_Original2Diffusers",
1038
+ "extra_kwargs": {"scaling_factor": 0.13025, "sample_size": 1024, "force_upcast": True},
1039
+ },
928
1040
  ]
929
1041
 
930
1042
  stable_diffusion_series = [
@@ -967,6 +1079,15 @@ joyai_image_series = [
967
1079
  },
968
1080
  ]
969
1081
 
1082
+ boogu_image_series = [
1083
+ {
1084
+ # Example: ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="transformer/diffusion_pytorch_model-*.safetensors")
1085
+ "model_hash": "8e29d2d28b83530320ae1d2c5eb323b3",
1086
+ "model_name": "boogu_image_dit",
1087
+ "model_class": "diffsynth.models.boogu_image_dit.BooguImageDiT",
1088
+ },
1089
+ ]
1090
+
970
1091
  ace_step_series = [
971
1092
  {
972
1093
  # Example: ModelConfig(model_id="ACE-Step/Ace-Step1.5", origin_file_pattern="acestep-v15-turbo/model.safetensors")
@@ -1203,6 +1324,6 @@ krea2_series = [
1203
1324
 
1204
1325
  MODEL_CONFIGS = (
1205
1326
  stable_diffusion_xl_series + stable_diffusion_series + qwen_image_series + wan_series + flux_series + flux2_series + ernie_image_series
1206
- + z_image_series + ltx2_series + anima_series + mova_series + joyai_image_series + ace_step_series + hidream_o1_image_series
1327
+ + z_image_series + ltx2_series + anima_series + mova_series + joyai_image_series + boogu_image_series + ace_step_series + hidream_o1_image_series
1207
1328
  + image_metrics_series + ideogram4_series + krea2_series
1208
1329
  )
@@ -295,27 +295,30 @@ VRAM_MANAGEMENT_MODULE_MAPS = {
295
295
  "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
296
296
  "transformers.models.qwen3_vl.modeling_qwen3_vl.Qwen3VLTextRotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
297
297
  },
298
+ "diffsynth.models.boogu_image_dit.BooguImageDiT": {
299
+ "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear",
300
+ "torch.nn.RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
301
+ "torch.nn.LayerNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
302
+ "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule",
303
+ },
298
304
  "diffsynth.models.ace_step_dit.AceStepDiTModel": {
299
305
  "diffsynth.models.ace_step_dit.AceStepDiTLayer": "diffsynth.core.vram.layers.AutoWrappedNonRecurseModule",
300
306
  "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear",
301
307
  "torch.nn.Conv1d": "diffsynth.core.vram.layers.AutoWrappedModule",
302
308
  "torch.nn.ConvTranspose1d": "diffsynth.core.vram.layers.AutoWrappedModule",
303
309
  "transformers.models.qwen3.modeling_qwen3.Qwen3RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
304
- "transformers.models.qwen3.modeling_qwen3.Qwen3MLP": "diffsynth.core.vram.layers.AutoWrappedModule",
305
310
  "transformers.models.qwen3.modeling_qwen3.Qwen3RotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
306
311
  },
307
312
  "diffsynth.models.ace_step_conditioner.AceStepConditionEncoder": {
308
313
  "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear",
309
314
  "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule",
310
315
  "transformers.models.qwen3.modeling_qwen3.Qwen3RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
311
- "transformers.models.qwen3.modeling_qwen3.Qwen3MLP": "diffsynth.core.vram.layers.AutoWrappedModule",
312
316
  "transformers.models.qwen3.modeling_qwen3.Qwen3RotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
313
317
  },
314
318
  "diffsynth.models.ace_step_text_encoder.AceStepTextEncoder": {
315
319
  "torch.nn.Linear": "diffsynth.core.vram.layers.AutoWrappedLinear",
316
320
  "torch.nn.Embedding": "diffsynth.core.vram.layers.AutoWrappedModule",
317
321
  "transformers.models.qwen3.modeling_qwen3.Qwen3RMSNorm": "diffsynth.core.vram.layers.AutoWrappedModule",
318
- "transformers.models.qwen3.modeling_qwen3.Qwen3MLP": "diffsynth.core.vram.layers.AutoWrappedModule",
319
322
  "transformers.models.qwen3.modeling_qwen3.Qwen3RotaryEmbedding": "diffsynth.core.vram.layers.AutoWrappedModule",
320
323
  },
321
324
  "diffsynth.models.ace_step_vae.AceStepVAE": {
@@ -4,3 +4,4 @@ from .logger import ModelLogger
4
4
  from .runner import launch_training_task, launch_data_process_task
5
5
  from .parsers import *
6
6
  from .loss import *
7
+ from .dmd2 import *