diffsynth 2.0.16__tar.gz → 2.0.17__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.17}/PKG-INFO +1 -1
  2. {diffsynth-2.0.16 → diffsynth-2.0.17}/README.md +68 -2
  3. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/configs/model_configs.py +124 -3
  4. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/configs/vram_management_module_maps.py +6 -0
  5. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/__init__.py +1 -0
  6. diffsynth-2.0.17/diffsynth/diffusion/dmd2.py +601 -0
  7. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/flow_match.py +22 -1
  8. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/parsers.py +21 -0
  9. diffsynth-2.0.17/diffsynth/models/boogu_image_dit.py +3282 -0
  10. diffsynth-2.0.17/diffsynth/pipelines/boogu_image.py +291 -0
  11. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/flux2_image.py +1 -1
  12. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/stable_diffusion_xl.py +10 -7
  13. diffsynth-2.0.17/diffsynth/utils/state_dict_converters/sdxl_text_encoder.py +206 -0
  14. diffsynth-2.0.17/diffsynth/utils/state_dict_converters/sdxl_text_encoder_2.py +345 -0
  15. diffsynth-2.0.17/diffsynth/utils/state_dict_converters/sdxl_vae.py +265 -0
  16. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth.egg-info/PKG-INFO +1 -1
  17. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth.egg-info/SOURCES.txt +6 -0
  18. {diffsynth-2.0.16 → diffsynth-2.0.17}/pyproject.toml +1 -1
  19. {diffsynth-2.0.16 → diffsynth-2.0.17}/LICENSE +0 -0
  20. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/__init__.py +0 -0
  21. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/configs/__init__.py +0 -0
  22. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/__init__.py +0 -0
  23. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/attention/__init__.py +0 -0
  24. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/attention/attention.py +0 -0
  25. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/data/__init__.py +0 -0
  26. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/data/operators.py +0 -0
  27. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/data/unified_dataset.py +0 -0
  28. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/device/__init__.py +0 -0
  29. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/device/npu_compatible_device.py +0 -0
  30. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/gradient/__init__.py +0 -0
  31. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/gradient/gradient_checkpoint.py +0 -0
  32. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/loader/__init__.py +0 -0
  33. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/loader/config.py +0 -0
  34. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/loader/file.py +0 -0
  35. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/loader/model.py +0 -0
  36. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/npu_patch/npu_fused_operator.py +0 -0
  37. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/offload_training/__init__.py +0 -0
  38. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/offload_training/manager.py +0 -0
  39. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/offload_training/memory_buffer.py +0 -0
  40. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/offload_training/offloader.py +0 -0
  41. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/vram/__init__.py +0 -0
  42. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/vram/disk_map.py +0 -0
  43. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/vram/initialization.py +0 -0
  44. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/core/vram/layers.py +0 -0
  45. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/base_pipeline.py +0 -0
  46. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/ddim_scheduler.py +0 -0
  47. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/logger.py +0 -0
  48. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/loss.py +0 -0
  49. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/runner.py +0 -0
  50. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/template.py +0 -0
  51. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/diffusion/training_module.py +0 -0
  52. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/__init__.py +0 -0
  53. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/aesthetic.py +0 -0
  54. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/base.py +0 -0
  55. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/bioclip.py +0 -0
  56. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/clip.py +0 -0
  57. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/fid.py +0 -0
  58. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/hpsv2.py +0 -0
  59. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/hpsv3.py +0 -0
  60. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/image_reward.py +0 -0
  61. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/lpips.py +0 -0
  62. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/pickscore.py +0 -0
  63. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/qwen_image_bench.py +0 -0
  64. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/unified_reward_2.py +0 -0
  65. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/metrics/unified_reward_edit.py +0 -0
  66. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ace_step_conditioner.py +0 -0
  67. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ace_step_dit.py +0 -0
  68. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ace_step_residual_fsq.py +0 -0
  69. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ace_step_text_encoder.py +0 -0
  70. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ace_step_tokenizer.py +0 -0
  71. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ace_step_vae.py +0 -0
  72. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/aesthetic.py +0 -0
  73. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/anima_dit.py +0 -0
  74. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/bioclip.py +0 -0
  75. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/clip.py +0 -0
  76. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/demucs.py +0 -0
  77. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/dinov3_image_encoder.py +0 -0
  78. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ernie_image_dit.py +0 -0
  79. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ernie_image_text_encoder.py +0 -0
  80. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/fid.py +0 -0
  81. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux2_dit.py +0 -0
  82. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux2_text_encoder.py +0 -0
  83. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux2_vae.py +0 -0
  84. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_controlnet.py +0 -0
  85. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_dit.py +0 -0
  86. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_infiniteyou.py +0 -0
  87. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_ipadapter.py +0 -0
  88. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_lora_encoder.py +0 -0
  89. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_lora_patcher.py +0 -0
  90. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_text_encoder_clip.py +0 -0
  91. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_text_encoder_t5.py +0 -0
  92. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_vae.py +0 -0
  93. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/flux_value_control.py +0 -0
  94. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/general_modules.py +0 -0
  95. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/hidream_common.py +0 -0
  96. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/hidream_o1_image_dit.py +0 -0
  97. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/hpsv2.py +0 -0
  98. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/hpsv3.py +0 -0
  99. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ideogram4_dit.py +0 -0
  100. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ideogram4_text_encoder.py +0 -0
  101. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ideogram4_vae.py +0 -0
  102. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/image_reward.py +0 -0
  103. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/joyai_image_dit.py +0 -0
  104. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/joyai_image_text_encoder.py +0 -0
  105. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/krea2_dit.py +0 -0
  106. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/krea2_text_encoder.py +0 -0
  107. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/longcat_video_dit.py +0 -0
  108. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/lpips.py +0 -0
  109. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ltx2_audio_vae.py +0 -0
  110. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ltx2_common.py +0 -0
  111. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ltx2_dit.py +0 -0
  112. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ltx2_text_encoder.py +0 -0
  113. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ltx2_upsampler.py +0 -0
  114. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/ltx2_video_vae.py +0 -0
  115. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/model_loader.py +0 -0
  116. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/mova_audio_dit.py +0 -0
  117. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/mova_audio_vae.py +0 -0
  118. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/mova_dual_tower_bridge.py +0 -0
  119. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/nexus_gen.py +0 -0
  120. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/nexus_gen_ar_model.py +0 -0
  121. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/nexus_gen_projector.py +0 -0
  122. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/pickscore.py +0 -0
  123. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/qwen_image_bench.py +0 -0
  124. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/qwen_image_controlnet.py +0 -0
  125. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/qwen_image_dit.py +0 -0
  126. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/qwen_image_image2lora.py +0 -0
  127. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/qwen_image_text_encoder.py +0 -0
  128. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/qwen_image_vae.py +0 -0
  129. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/sd_text_encoder.py +0 -0
  130. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/siglip2_image_encoder.py +0 -0
  131. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/stable_diffusion_text_encoder.py +0 -0
  132. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/stable_diffusion_unet.py +0 -0
  133. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/stable_diffusion_vae.py +0 -0
  134. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/stable_diffusion_xl_text_encoder.py +0 -0
  135. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/stable_diffusion_xl_unet.py +0 -0
  136. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/step1x_connector.py +0 -0
  137. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/step1x_text_encoder.py +0 -0
  138. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/unified_reward_2.py +0 -0
  139. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/unified_reward_edit.py +0 -0
  140. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_animate_adapter.py +0 -0
  141. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_camera_controller.py +0 -0
  142. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_dit.py +0 -0
  143. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_dit_s2v.py +0 -0
  144. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_image_encoder.py +0 -0
  145. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_mot.py +0 -0
  146. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_motion_controller.py +0 -0
  147. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_text_encoder.py +0 -0
  148. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_vace.py +0 -0
  149. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wan_video_vae.py +0 -0
  150. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wantodance.py +0 -0
  151. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/wav2vec.py +0 -0
  152. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/z_image_controlnet.py +0 -0
  153. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/z_image_dit.py +0 -0
  154. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/z_image_image2lora.py +0 -0
  155. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/models/z_image_text_encoder.py +0 -0
  156. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/ace_step.py +0 -0
  157. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/anima_image.py +0 -0
  158. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/ernie_image.py +0 -0
  159. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/flux_image.py +0 -0
  160. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/hidream_o1_image.py +0 -0
  161. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/ideogram4.py +0 -0
  162. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/joyai_image.py +0 -0
  163. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/krea2.py +0 -0
  164. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/ltx2_audio_video.py +0 -0
  165. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/mova_audio_video.py +0 -0
  166. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/qwen_image.py +0 -0
  167. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/stable_diffusion.py +0 -0
  168. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/wan_video.py +0 -0
  169. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/pipelines/z_image.py +0 -0
  170. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/controlnet/__init__.py +0 -0
  171. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/controlnet/annotator.py +0 -0
  172. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/controlnet/controlnet_input.py +0 -0
  173. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/data/__init__.py +0 -0
  174. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/data/audio.py +0 -0
  175. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/data/audio_video.py +0 -0
  176. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/data/media_io_ltx2.py +0 -0
  177. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/demucs/__init__.py +0 -0
  178. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/dequantizer/__init__.py +0 -0
  179. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/__init__.py +0 -0
  180. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/flux.py +0 -0
  181. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/general.py +0 -0
  182. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/krea2.py +0 -0
  183. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/merge.py +0 -0
  184. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/reset_rank.py +0 -0
  185. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/lora/sdxl.py +0 -0
  186. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/ses/__init__.py +0 -0
  187. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/ses/ses.py +0 -0
  188. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/__init__.py +0 -0
  189. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ace_step_conditioner.py +0 -0
  190. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ace_step_dit.py +0 -0
  191. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ace_step_text_encoder.py +0 -0
  192. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ace_step_tokenizer.py +0 -0
  193. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/anima_dit.py +0 -0
  194. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/dino_v3.py +0 -0
  195. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ernie_image_text_encoder.py +0 -0
  196. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux2_text_encoder.py +0 -0
  197. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_controlnet.py +0 -0
  198. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_dit.py +0 -0
  199. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_infiniteyou.py +0 -0
  200. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_ipadapter.py +0 -0
  201. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_text_encoder_clip.py +0 -0
  202. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_text_encoder_t5.py +0 -0
  203. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/flux_vae.py +0 -0
  204. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/image_metrics.py +0 -0
  205. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/joyai_image_text_encoder.py +0 -0
  206. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/krea2_dit.py +0 -0
  207. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/krea2_text_encoder.py +0 -0
  208. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ltx2_audio_vae.py +0 -0
  209. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ltx2_dit.py +0 -0
  210. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ltx2_text_encoder.py +0 -0
  211. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/ltx2_video_vae.py +0 -0
  212. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/nexus_gen.py +0 -0
  213. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/nexus_gen_projector.py +0 -0
  214. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/qwen_image_text_encoder.py +0 -0
  215. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/sdxl.py +0 -0
  216. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/stable_diffusion_text_encoder.py +0 -0
  217. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/stable_diffusion_vae.py +0 -0
  218. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/stable_diffusion_xl_text_encoder.py +0 -0
  219. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/step1x_connector.py +0 -0
  220. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wan_video_animate_adapter.py +0 -0
  221. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wan_video_dit.py +0 -0
  222. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wan_video_image_encoder.py +0 -0
  223. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wan_video_mot.py +0 -0
  224. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wan_video_vace.py +0 -0
  225. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wan_video_vae.py +0 -0
  226. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/wans2v_audio_encoder.py +0 -0
  227. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/z_image_dit.py +0 -0
  228. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/state_dict_converters/z_image_text_encoder.py +0 -0
  229. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/xfuser/__init__.py +0 -0
  230. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/utils/xfuser/xdit_context_parallel.py +0 -0
  231. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth/version.py +0 -0
  232. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth.egg-info/dependency_links.txt +0 -0
  233. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth.egg-info/requires.txt +0 -0
  234. {diffsynth-2.0.16 → diffsynth-2.0.17}/diffsynth.egg-info/top_level.txt +0 -0
  235. {diffsynth-2.0.16 → diffsynth-2.0.17}/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.17
4
4
  Summary: Enjoy the magic of Diffusion models!
5
5
  Author: ModelScope Team
6
6
  License: Apache-2.0
@@ -34,6 +34,8 @@ We believe that a well-developed open-source code framework can lower the thresh
34
34
 
35
35
  > 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
36
 
37
+ - **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
+
37
39
  - **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
40
 
39
41
  - **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 +1099,70 @@ Example code for Krea-2 is available at: [/examples/krea2/](/examples/krea2/)
1097
1099
 
1098
1100
  </details>
1099
1101
 
1102
+ #### Boogu-Image: [/docs/en/Model_Details/Boogu-Image.md](/docs/en/Model_Details/Boogu-Image.md)
1103
+
1104
+ <details>
1105
+
1106
+ <summary>Quick Start</summary>
1107
+
1108
+ 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.
1109
+
1110
+ ```python
1111
+ from diffsynth.pipelines.boogu_image import BooguImagePipeline, ModelConfig
1112
+ import torch
1113
+
1114
+
1115
+ vram_config = {
1116
+ "offload_dtype": torch.float8_e4m3fn,
1117
+ "offload_device": "cpu",
1118
+ "onload_dtype": torch.float8_e4m3fn,
1119
+ "onload_device": "cpu",
1120
+ "preparing_dtype": torch.float8_e4m3fn,
1121
+ "preparing_device": "cuda",
1122
+ "computation_dtype": torch.bfloat16,
1123
+ "computation_device": "cuda",
1124
+ }
1125
+
1126
+ pipe = BooguImagePipeline.from_pretrained(
1127
+ torch_dtype=torch.bfloat16,
1128
+ device="cuda",
1129
+ model_configs=[
1130
+ ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="transformer/*.safetensors", **vram_config),
1131
+ ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="mllm/*.safetensors", **vram_config),
1132
+ ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="vae/*.safetensors", **vram_config),
1133
+ ],
1134
+ processor_config=ModelConfig(model_id="Boogu/Boogu-Image-0.1-Base", origin_file_pattern="mllm/"),
1135
+ vram_limit=torch.cuda.mem_get_info("cuda")[1] / (1024 ** 3) - 0.5,
1136
+ )
1137
+
1138
+ output = pipe(
1139
+ prompt="a cat",
1140
+ negative_prompt="",
1141
+ height=1024,
1142
+ width=1024,
1143
+ seed=42,
1144
+ num_inference_steps=50,
1145
+ cfg_scale=4.0,
1146
+ )
1147
+ output.save("image_Boogu-Image-0.1-Base.jpg")
1148
+ ```
1149
+
1150
+ </details>
1151
+
1152
+ <details>
1153
+
1154
+ <summary>Examples</summary>
1155
+
1156
+ Example code for Boogu-Image is available at: [/examples/boogu_image/](/examples/boogu_image/)
1157
+
1158
+ |Model ID|Inference|Low VRAM Inference|Full Training|Full Training Validation|LoRA Training|LoRA Training Validation|
1159
+ |-|-|-|-|-|-|-|
1160
+ |[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)|
1161
+ |[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)|
1162
+ |[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)|
1163
+
1164
+ </details>
1165
+
1100
1166
  ### Video Synthesis
1101
1167
 
1102
1168
  https://github.com/user-attachments/assets/1d66ae74-3b02-40a9-acc3-ea95fc039314
@@ -1372,8 +1438,8 @@ Example code for Wan is available at: [/examples/wanvideo/](/examples/wanvideo/)
1372
1438
  |[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
1439
  |[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
1440
  |[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)|
1441
+ |[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)|
1442
+ |[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
1443
 
1378
1444
  </details>
1379
1445
 
@@ -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,6 +295,12 @@ 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",
@@ -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 *