diffsynth 2.1.6__tar.gz → 2.1.8__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.
- {diffsynth-2.1.6 → diffsynth-2.1.8}/PKG-INFO +41 -4
- {diffsynth-2.1.6 → diffsynth-2.1.8}/README.md +36 -3
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/configs/model_configs.py +169 -10
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/configs/vram_management_module_maps.py +70 -17
- diffsynth-2.1.8/diffsynth/core/attention/__init__.py +1 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/attention/attention.py +1 -1
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/data/operators.py +47 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/data/unified_dataset.py +3 -2
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/__init__.py +1 -1
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/flow_match.py +38 -1
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/runner.py +22 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/template.py +4 -3
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/unified_reward_edit.py +1 -1
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ace_step_conditioner.py +6 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ace_step_vae.py +7 -7
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/demucs.py +3 -1
- diffsynth-2.1.8/diffsynth/models/diffsynth_music_dit.py +237 -0
- diffsynth-2.1.8/diffsynth/models/ltx25_diffusion_video_vae.py +5014 -0
- diffsynth-2.1.8/diffsynth/models/ltx25_duration_head.py +57 -0
- diffsynth-2.1.8/diffsynth/models/ltx25_text_encoder.py +449 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ltx2_audio_vae.py +20 -9
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ltx2_common.py +3 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ltx2_dit.py +78 -17
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ltx2_video_vae.py +7 -4
- diffsynth-2.1.8/diffsynth/models/qwen_image_21_dit.py +595 -0
- diffsynth-2.1.8/diffsynth/models/qwen_image_21_text_encoder.py +105 -0
- diffsynth-2.1.8/diffsynth/models/qwen_image_21_vae.py +1228 -0
- diffsynth-2.1.8/diffsynth/models/yue2_mot.py +760 -0
- diffsynth-2.1.8/diffsynth/models/yue2_tokenizer.py +43 -0
- diffsynth-2.1.8/diffsynth/models/yue2_vae.py +597 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/boogu_image.py +3 -3
- diffsynth-2.1.8/diffsynth/pipelines/diffsynth_music.py +353 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/joyai_image.py +3 -3
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/ltx2_audio_video.py +124 -48
- diffsynth-2.1.8/diffsynth/pipelines/qwen_image_21.py +357 -0
- diffsynth-2.1.8/diffsynth/pipelines/yue2.py +574 -0
- diffsynth-2.1.8/diffsynth/utils/controlnet/annotator.py +71 -0
- diffsynth-2.1.8/diffsynth/utils/music_tools/__init__.py +2 -0
- diffsynth-2.1.8/diffsynth/utils/music_tools/click.py +17 -0
- diffsynth-2.1.8/diffsynth/utils/music_tools/prosody.py +60 -0
- diffsynth-2.1.8/diffsynth/utils/state_dict_converters/ltx25_diffusion_video_vae.py +21 -0
- diffsynth-2.1.8/diffsynth/utils/state_dict_converters/ltx25_duration_head.py +6 -0
- diffsynth-2.1.8/diffsynth/utils/state_dict_converters/ltx25_text_encoder.py +16 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ltx2_video_vae.py +6 -2
- diffsynth-2.1.8/diffsynth/utils/state_dict_converters/minimax_h3_dit.py +7 -0
- diffsynth-2.1.6/diffsynth/utils/state_dict_converters/joyai_image_text_encoder.py → diffsynth-2.1.8/diffsynth/utils/state_dict_converters/qwen_image_21_text_encoder.py +1 -1
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/version.py +1 -1
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth.egg-info/PKG-INFO +41 -4
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth.egg-info/SOURCES.txt +21 -2
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth.egg-info/requires.txt +6 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/pyproject.toml +6 -0
- diffsynth-2.1.6/diffsynth/core/attention/__init__.py +0 -1
- diffsynth-2.1.6/diffsynth/models/joyai_image_text_encoder.py +0 -82
- diffsynth-2.1.6/diffsynth/utils/controlnet/annotator.py +0 -63
- {diffsynth-2.1.6 → diffsynth-2.1.8}/LICENSE +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/configs/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/data/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/device/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/device/npu_compatible_device.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/gradient/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/gradient/gradient_checkpoint.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/loader/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/loader/config.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/loader/file.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/loader/model.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/npu_patch/npu_fused_operator.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/offload_training/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/offload_training/manager.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/offload_training/memory_buffer.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/offload_training/offloader.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/backends/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/backends/bitsandbytes.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/backends/comfy_kitchen.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/backends/torchao.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/base.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/quant/config.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/vram/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/vram/disk_map.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/vram/initialization.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/core/vram/layers.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/base_pipeline.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/ddim_scheduler.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/dmd2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/logger.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/loss.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/parsers.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/diffusion/training_module.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/aesthetic.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/base.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/bioclip.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/clip.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/fid.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/hpsv2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/hpsv3.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/image_reward.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/lpips.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/pickscore.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/qwen_image_bench.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/metrics/unified_reward_2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ace_step_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ace_step_residual_fsq.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ace_step_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ace_step_tokenizer.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/aesthetic.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/anima_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/bioclip.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/boogu_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/clip.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/dinov3_image_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ernie_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ernie_image_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/fid.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux2_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux2_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux2_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_controlnet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_infiniteyou.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_ipadapter.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_lora_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_lora_patcher.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_redux.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_text_encoder_clip.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_text_encoder_t5.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/flux_value_control.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/general_modules.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/hidream_common.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/hidream_o1_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/hpsv2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/hpsv3.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ideogram4_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ideogram4_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ideogram4_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/image_reward.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/joyai_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/krea2_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/krea2_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/lingbot_video_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/longcat_video_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/lpips.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ltx2_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/ltx2_upsampler.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_h3_audio_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_h3_controlnet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_h3_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_h3_dit_comfy.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_h3_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_h3_video_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_music3_condition_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_music3_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_music3_rvq_depth_decoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_music3_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/minimax_music3_vocoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/model_loader.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/mova_audio_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/mova_audio_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/mova_dual_tower_bridge.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/nexus_gen.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/nexus_gen_ar_model.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/nexus_gen_projector.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/pickscore.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_image_bench.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_image_controlnet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_image_image2lora.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_image_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_image_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/qwen_video_edit_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/sd_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/sensenova_u1_common.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/sensenova_u1_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/siglip2_image_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/stable_diffusion_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/stable_diffusion_unet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/stable_diffusion_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/stable_diffusion_xl_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/stable_diffusion_xl_unet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/step1x_connector.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/step1x_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/unified_reward_2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/unified_reward_edit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_animate_2_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_animate_adapter.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_camera_controller.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_dit_s2v.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_image_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_mot.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_motion_controller.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_vace.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wan_video_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wantodance.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/wav2vec.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/z_image_controlnet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/z_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/z_image_image2lora.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/models/z_image_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/ace_step.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/anima_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/ernie_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/flux2_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/flux_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/hidream_o1_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/ideogram4.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/krea2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/lingbot_video.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/minimax_h3_audio_video.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/minimax_music3.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/mova_audio_video.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/qwen_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/qwen_video_edit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/sensenova_u1_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/stable_diffusion.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/stable_diffusion_xl.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/wan_video.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/pipelines/z_image.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/controlnet/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/controlnet/controlnet_input.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/data/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/data/audio.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/data/audio_video.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/data/media_io_ltx2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/data/minimax_h3.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/demucs/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/dequantizer/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/flux.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/flux_timestep.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/general.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/krea2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/merge.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/minimax_h3.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/reset_rank.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/lora/sdxl.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/quant/serialization.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/ses/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/ses/ses.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ace_step_conditioner.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ace_step_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ace_step_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ace_step_tokenizer.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/anima_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/dino_v3.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ernie_image_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux2_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_controlnet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_infiniteyou.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_ipadapter.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_text_encoder_clip.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_text_encoder_t5.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/flux_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ideogram4_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/image_metrics.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/krea2_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/krea2_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/lingbot_video_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ltx2_audio_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ltx2_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/ltx2_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/minimax_h3_audio_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/minimax_h3_controlnet.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/minimax_h3_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/minimax_h3_video_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/minimax_music3_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/nexus_gen.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/nexus_gen_projector.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/qwen_image_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/qwen_video_edit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/sdxl.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/sdxl_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/sdxl_text_encoder_2.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/sdxl_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/stable_diffusion_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/stable_diffusion_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/stable_diffusion_xl_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/step1x_connector.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wan_video_animate_adapter.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wan_video_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wan_video_image_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wan_video_mot.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wan_video_vace.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wan_video_vae.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/wans2v_audio_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/z_image_dit.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/state_dict_converters/z_image_text_encoder.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/tile/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/tile/tile_worker.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/xfuser/__init__.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth/utils/xfuser/xdit_context_parallel.py +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth.egg-info/dependency_links.txt +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/diffsynth.egg-info/top_level.txt +0 -0
- {diffsynth-2.1.6 → diffsynth-2.1.8}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: diffsynth
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.8
|
|
4
4
|
Summary: Enjoy the magic of Diffusion models!
|
|
5
5
|
Author: ModelScope Team
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -43,6 +43,8 @@ Provides-Extra: npu-aarch64
|
|
|
43
43
|
Requires-Dist: torch==2.7.1; extra == "npu-aarch64"
|
|
44
44
|
Requires-Dist: torch-npu==2.7.1; extra == "npu-aarch64"
|
|
45
45
|
Requires-Dist: torchvision==0.22.1; extra == "npu-aarch64"
|
|
46
|
+
Provides-Extra: controlnet
|
|
47
|
+
Requires-Dist: controlnet_aux; extra == "controlnet"
|
|
46
48
|
Provides-Extra: infiniteyou
|
|
47
49
|
Requires-Dist: insightface; extra == "infiniteyou"
|
|
48
50
|
Requires-Dist: facexlib; extra == "infiniteyou"
|
|
@@ -51,6 +53,8 @@ Requires-Dist: pywt; extra == "ses"
|
|
|
51
53
|
Provides-Extra: nexusgen
|
|
52
54
|
Requires-Dist: qwen_vl_utils; extra == "nexusgen"
|
|
53
55
|
Requires-Dist: transformers==4.49.0; extra == "nexusgen"
|
|
56
|
+
Provides-Extra: yue2
|
|
57
|
+
Requires-Dist: tiktoken; extra == "yue2"
|
|
54
58
|
Provides-Extra: all
|
|
55
59
|
Requires-Dist: av; extra == "all"
|
|
56
60
|
Requires-Dist: torchaudio; extra == "all"
|
|
@@ -97,6 +101,7 @@ References:
|
|
|
97
101
|
|
|
98
102
|
See also:
|
|
99
103
|
|
|
104
|
+
* [DiffSynth-ComfyUI](https://github.com/modelscope/DiffSynth-ComfyUI): A [ComfyUI](https://github.com/Comfy-Org/ComfyUI) node package built on DiffSynth-Studio, enabling you to build workflows in ComfyUI to run model inference.
|
|
100
105
|
* [DiffSynth-WebUI](https://github.com/modelscope/DiffSynth-WebUI): A lightweight LoRA training tool built on DiffSynth-Studio, enabling LoRA training of models on consumer-grade GPUs.
|
|
101
106
|
* [ModelScope AIGC Zone (for Chinese users)](https://modelscope.cn/aigc/home): Productized features powered by DiffSynth-Studio as the core inference and training engine; experience the rich potential of the open-source model ecosystem.
|
|
102
107
|
* [ModelScope Civision (for global users)](https://modelscope.ai/civision/home): Unlock the vast potential of the open-source model ecosystem through productized capabilities powered by DiffSynth-Studio.
|
|
@@ -107,6 +112,21 @@ See also:
|
|
|
107
112
|
|
|
108
113
|
> 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.
|
|
109
114
|
|
|
115
|
+
- **September 20, 2026** Qwen-Image-2.1 was open-sourced. The model supports text-to-image generation, image editing, and RGBA output with a transparency channel. DiffSynth-Studio now provides full support for it. For details, please refer to the [documentation](/docs/zh/Model_Details/Qwen-Image-2.1.md) and [example code](/examples/qwen_image_21/).
|
|
116
|
+
|
|
117
|
+
- **September 14, 2026** We trained and open-sourced DiffSynth-Music, a controllable music generation model based on ACE-Step, which supports five control modes: Beats, Vocals, Accompany, Prosody, and Reference. For more information, please refer to:
|
|
118
|
+
* Model: https://modelscope.cn/models/DiffSynth-Studio/DiffSynth-Music
|
|
119
|
+
* Technical Report: https://arxiv.org/abs/2609.12774
|
|
120
|
+
* Code: [./examples/diffsynth_music/](./examples/diffsynth_music/)
|
|
121
|
+
|
|
122
|
+
- **September 11, 2026** We have added support for YuE2, a new music generation model. For details, please refer to the [documentation](/docs/zh/Model_Details/YuE2.md) and [example code](/examples/yue2/).
|
|
123
|
+
|
|
124
|
+
- **September 10, 2026** We have integrated [LTX-2.5](https://modelscope.cn/models/Lightricks/LTX-2.5), the latest audio-video generation model from Lightricks. The features include text-to-audio/video with automatic duration prediction, image-to-audio/video with keyframe interpolation, audio-to-video, audio-video retake, IC-LoRA pixel spatial upscaling, text-to-audio, INT8 quantized inference, low VRAM inference, and training. For details, please refer to the [documentation](/docs/en/Model_Details/LTX-2.md) and [code](/examples/ltx2/).
|
|
125
|
+
|
|
126
|
+
- **September 10, 2026** We have open-sourced [DiffSynth-ComfyUI](https://github.com/modelscope/DiffSynth-ComfyUI). Now you can run model inference with DiffSynth-Studio in [ComfyUI](https://github.com/Comfy-Org/ComfyUI).
|
|
127
|
+
|
|
128
|
+
- **September 8, 2026** We trained a [MiniMax-H3 Training Adapter](https://www.modelscope.cn/models/DiffSynth-Studio/MiniMax-H3-TrainingAdapter) for the CFG-distilled MiniMax-H3 base, a DeCFG LoRA training adapter offered in FL2VA and Ref2VA versions. The training data comes from the self-generated [MiniMax-H3-Self-Generated-Dataset](https://www.modelscope.cn/datasets/DiffSynth-Studio/MiniMax-H3-Self-Generated-Dataset). Based on this adapter, we trained two toy models, [MiniMax-H3-Songyu-LoRA](https://www.modelscope.cn/models/mibei0804/MiniMax-H3-Songyu-LoRA) (character identity, FL2VA) and [MiniMax-H3-Ref2VA-FirstFrame-Lineart](https://www.modelscope.cn/models/mibei0804/MiniMax-H3-Ref2VA-FirstFrame-Lineart) (lineart first-frame control, Ref2VA), as references for inference and fine-tuning.
|
|
129
|
+
|
|
110
130
|
- **September 1, 2026** We have integrated [SenseNova-U1.5](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT), SenseTime's unified multimodal model, for which we provide text-to-image generation, image editing, low VRAM inference, and training support. For details, please refer to the [documentation](/docs/en/Model_Details/SenseNova-U1.md) and [example code](/examples/sensenova_u1/).
|
|
111
131
|
|
|
112
132
|
- **August 31, 2026** We have integrated [Qwen-Video-Edit](https://modelscope.cn/models/yunpeng1998/Qwen-Video-Edit), a video editing model developed by open-source community contributor [yunpeng1998](https://github.com/yunpeng1998) based on the image editing model Qwen-Image-Edit. This serves as an excellent example of exploring and expanding model capabilities.
|
|
@@ -115,6 +135,9 @@ See also:
|
|
|
115
135
|
|
|
116
136
|
- **August 19, 2026** We have released the model quantization feature. It provides a unified `QuantizeConfig` entry point supporting multiple quantization backends including bitsandbytes, torchao, and comfy-kitchen, with capabilities such as online quantization, loading pre-quantized weights, mixed quantization, saving quantized models, and quantization + LoRA training. For details, please refer to the [documentation](/docs/en/Pipeline_Usage/Quantization.md).
|
|
117
137
|
|
|
138
|
+
<details>
|
|
139
|
+
<summary>More</summary>
|
|
140
|
+
|
|
118
141
|
- **August 17, 2026** MiniMax-Music3 open-sourced, welcome a new member to the audio model family! Support includes text-to-music generation and low VRAM inference. For details, please refer to the [documentation](/docs/en/Model_Details/MiniMax-Music3.md) and [example code](/examples/minimax_music3/).
|
|
119
142
|
|
|
120
143
|
- **August 7, 2026** We add support for Wan-Animate-2 in the Wan series. Given a reference image and a driving video, it makes the reference character perform the motions in the driving video, generating high-quality character animation, with both standard and distilled variants. For details, please refer to the [documentation](/docs/en/Model_Details/Wan.md) and [example code](/examples/wanvideo/).
|
|
@@ -125,9 +148,6 @@ See also:
|
|
|
125
148
|
|
|
126
149
|
- **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)!
|
|
127
150
|
|
|
128
|
-
<details>
|
|
129
|
-
<summary>More</summary>
|
|
130
|
-
|
|
131
151
|
- **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/).
|
|
132
152
|
|
|
133
153
|
- **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/).
|
|
@@ -367,6 +387,7 @@ Quick start: experience popular and the latest models:
|
|
|
367
387
|
|
|
368
388
|
| Architecture | Model ID | Inference | Low VRAM Inference | Full Training | Validation After Full Training | LoRA Training | Validation After LoRA Training |
|
|
369
389
|
|-|-|-|-|-|-|-|-|
|
|
390
|
+
| Qwen-Image-2.1 | [Qwen/Qwen-Image-2.1](https://www.modelscope.cn/models/Qwen/Qwen-Image-2.1) | [code](/examples/qwen_image_21/model_inference/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_inference_low_vram/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/full/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_full/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/lora/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_lora/Qwen-Image-2.1.py) |
|
|
370
391
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: FL2VA](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/full/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_full/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-FL2VA.py) |
|
|
371
392
|
| MiniMax-H3 | [DiffSynth-Studio/MiniMax-H3-NF4: FL2VA pruned](https://www.modelscope.cn/models/DiffSynth-Studio/MiniMax-H3-NF4) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-NF4-Pruned-FL2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-NF4-Pruned-FL2VA.py) | - | - | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-NF4-Pruned-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-NF4-Pruned-FL2VA.py) |
|
|
372
393
|
| ACE-Step | [ACE-Step/acestep-v15-xl-sft](https://www.modelscope.cn/models/ACE-Step/acestep-v15-xl-sft) | [code](/examples/ace_step/model_inference/acestep-v15-xl-sft.py) | [code](/examples/ace_step/model_inference_low_vram/acestep-v15-xl-sft.py) | [code](/examples/ace_step/model_training/full/acestep-v15-xl-sft.sh) | [code](/examples/ace_step/model_training/validate_full/acestep-v15-xl-sft.py) | [code](/examples/ace_step/model_training/lora/acestep-v15-xl-sft.sh) | [code](/examples/ace_step/model_training/validate_lora/acestep-v15-xl-sft.py) |
|
|
@@ -377,6 +398,7 @@ Quick start: experience popular and the latest models:
|
|
|
377
398
|
Model overview:
|
|
378
399
|
|
|
379
400
|
- Image generation
|
|
401
|
+
- Qwen-Image-2.1: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Qwen-Image-2.1.html), [Example code](/examples/qwen_image_21/)
|
|
380
402
|
- SenseNova-U1: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/SenseNova-U1.html), [Example code](/examples/sensenova_u1/)
|
|
381
403
|
- Boogu-Image: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Boogu-Image.html), [Example code](/examples/boogu_image/)
|
|
382
404
|
- Krea-2: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Krea-2.html), [Example code](/examples/krea2/)
|
|
@@ -397,7 +419,9 @@ Model overview:
|
|
|
397
419
|
- LTX-2: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/LTX-2.html), [Example code](/examples/ltx2/)
|
|
398
420
|
- Wan: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Wan.html), [Example code](/examples/wanvideo/)
|
|
399
421
|
- Audio generation
|
|
422
|
+
- DiffSynth-Music: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/DiffSynth-Music.html), [Example code](/examples/diffsynth_music/)
|
|
400
423
|
- MiniMax-Music3: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/MiniMax-Music3.html), [Example code](/examples/minimax_music3/)
|
|
424
|
+
- YuE2: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/YuE2.html), [Example code](/examples/yue2/)
|
|
401
425
|
- ACE-Step: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/ACE-Step.html), [Example code](/examples/ace_step/)
|
|
402
426
|
- Evaluation models: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Image-Quality-Metrics.html), [Example code](/examples/image_quality_metric/)
|
|
403
427
|
|
|
@@ -645,12 +669,15 @@ https://github.com/Artiprocher/DiffSynth-Studio/assets/35051019/59fb2f7b-8de0-44
|
|
|
645
669
|
|
|
646
670
|
| Architecture | Model ID | Inference | Low VRAM Inference | Full Training | Validation After Full Training | LoRA Training | Validation After LoRA Training |
|
|
647
671
|
|-|-|-|-|-|-|-|-|
|
|
672
|
+
| Qwen-Image-2.1 | [Qwen/Qwen-Image-2.1](https://www.modelscope.cn/models/Qwen/Qwen-Image-2.1) | [code](/examples/qwen_image_21/model_inference/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_inference_low_vram/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/full/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_full/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/lora/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_lora/Qwen-Image-2.1.py) |
|
|
648
673
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT: T2I](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT.py) |
|
|
649
674
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT: Edit](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-Edit.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-Edit.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT-Edit.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT-Edit.py) |
|
|
650
675
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT-LoRAs: 8-step](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT-LoRAs) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-LoRA-8step.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-LoRA-8step.py) | - | - | - | - |
|
|
651
676
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT-SFT: T2I](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT-SFT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-SFT.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-SFT.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT-SFT.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT-SFT.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT-SFT.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT-SFT.py) |
|
|
652
677
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT-SFT: Edit](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT-SFT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-SFT-Edit.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-SFT-Edit.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT-SFT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT-SFT-Edit.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT-SFT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT-SFT-Edit.py) |
|
|
653
678
|
| MiniMax-Music3 | [MiniMax/MiniMax-Music3](https://www.modelscope.cn/models/MiniMax/MiniMax-Music3) | [code](/examples/minimax_music3/model_inference/MiniMax-Music3.py) | [code](/examples/minimax_music3/model_inference_low_vram/MiniMax-Music3.py) | — | — | — | — |
|
|
679
|
+
| YuE2 | [m-a-p/YuE2-3B](https://www.modelscope.cn/models/m-a-p/YuE2-3B) | [code](/examples/yue2/model_inference/YuE2.py) | [code](/examples/yue2/model_inference_low_vram/YuE2.py) | — | — | — | — |
|
|
680
|
+
| DiffSynth-Music | [DiffSynth-Studio/DiffSynth-Music](https://www.modelscope.cn/models/DiffSynth-Studio/DiffSynth-Music) | [code](/examples/diffsynth_music/model_inference/DiffSynth-Music.py) | [code](/examples/diffsynth_music/model_inference_low_vram/DiffSynth-Music.py) | [code](/examples/diffsynth_music/model_training/full/DiffSynth-Music.sh) | [code](/examples/diffsynth_music/model_training/validate_full/DiffSynth-Music.py) | - | - |
|
|
654
681
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: FL2VA](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/full/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_full/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-FL2VA.py) |
|
|
655
682
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: Ref2VA](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-Ref2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-Ref2VA.py) | [code](/examples/minimax_h3/model_training/full/MiniMax-H3-Ref2VA.sh) | [code](/examples/minimax_h3/model_training/validate_full/MiniMax-H3-Ref2VA.py) | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-Ref2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-Ref2VA.py) |
|
|
656
683
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: Retake](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-Retake.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-Retake.py) | - | - | - | - |
|
|
@@ -702,6 +729,16 @@ https://github.com/Artiprocher/DiffSynth-Studio/assets/35051019/59fb2f7b-8de0-44
|
|
|
702
729
|
| JoyAI-Image | [jd-opensource/JoyAI-Image-Edit](https://modelscope.cn/models/jd-opensource/JoyAI-Image-Edit) | [code](/examples/joyai_image/model_inference/JoyAI-Image-Edit.py) | [code](/examples/joyai_image/model_inference_low_vram/JoyAI-Image-Edit.py) | [code](/examples/joyai_image/model_training/full/JoyAI-Image-Edit.sh) | [code](/examples/joyai_image/model_training/validate_full/JoyAI-Image-Edit.py) | [code](/examples/joyai_image/model_training/lora/JoyAI-Image-Edit.sh) | [code](/examples/joyai_image/model_training/validate_lora/JoyAI-Image-Edit.py) |
|
|
703
730
|
| ERNIE-Image | [PaddlePaddle/ERNIE-Image](https://www.modelscope.cn/models/PaddlePaddle/ERNIE-Image) | [code](/examples/ernie_image/model_inference/ERNIE-Image.py) | [code](/examples/ernie_image/model_inference_low_vram/ERNIE-Image.py) | [code](/examples/ernie_image/model_training/full/ERNIE-Image.sh) | [code](/examples/ernie_image/model_training/validate_full/ERNIE-Image.py) | [code](/examples/ernie_image/model_training/lora/ERNIE-Image.sh) | [code](/examples/ernie_image/model_training/validate_lora/ERNIE-Image.py) |
|
|
704
731
|
| ERNIE-Image | [PaddlePaddle/ERNIE-Image-Turbo](https://www.modelscope.cn/models/PaddlePaddle/ERNIE-Image-Turbo) | [code](/examples/ernie_image/model_inference/ERNIE-Image-Turbo.py) | [code](/examples/ernie_image/model_inference_low_vram/ERNIE-Image-Turbo.py) | — | — | — | — |
|
|
732
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: OneStagePipeline-T2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-OneStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-OneStage.py) | [code](/examples/ltx2/model_training/full/LTX-2.5-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_full/LTX-2.5-T2AV.py) | [code](/examples/ltx2/model_training/lora/LTX-2.5-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_lora/LTX-2.5-T2AV.py) |
|
|
733
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-T2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-TwoStage.py) | - | - | - | - |
|
|
734
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: OneStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-I2AV-OneStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-I2AV-OneStage.py) | - | - | - | - |
|
|
735
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-I2AV-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-I2AV-TwoStage.py) | - | - | - | - |
|
|
736
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-A2V](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-A2V-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-A2V-TwoStage.py) | - | - | - | - |
|
|
737
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-Retake](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-TwoStage-Retake.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-TwoStage-Retake.py) | - | - | - | - |
|
|
738
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: T2A](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2A.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2A.py) | - | - | - | - |
|
|
739
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: DistilledPipeline-T2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-DistilledPipeline.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-DistilledPipeline.py) | - | - | - | - |
|
|
740
|
+
| LTX-2.5 | [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://www.modelscope.cn/models/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler) | [code](/examples/ltx2/model_inference/LTX-2.5-IC-LoRA-Pixel-Spatial-Upscaler.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-IC-LoRA-Pixel-Spatial-Upscaler.py) | - | - | - | - |
|
|
741
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: INT8-ConvRot](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-INT8-ConvRot.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-INT8-ConvRot.py) | - | - | - | - |
|
|
705
742
|
| LTX-2 | [jd-opensource/JoyAI-Echo](https://modelscope.cn/models/jd-opensource/JoyAI-Echo) | [code](/examples/ltx2/model_inference/JoyAI-Echo-T2AV.py) | [code](/examples/ltx2/model_inference_low_vram/JoyAI-Echo-T2AV.py) | [code](/examples/ltx2/model_training/full/JoyAI-Echo-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_full/JoyAI-Echo-T2AV.py) | [code](/examples/ltx2/model_training/lora/JoyAI-Echo-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_lora/JoyAI-Echo-T2AV.py) |
|
|
706
743
|
| LTX-2 | [Lightricks/LTX-2.3: OneStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.3) | [code](/examples/ltx2/model_inference/LTX-2.3-I2AV-OneStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.3-I2AV-OneStage.py) | [code](/examples/ltx2/model_training/full/LTX-2.3-I2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_full/LTX-2.3-I2AV.py) | [code](/examples/ltx2/model_training/lora/LTX-2.3-I2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_lora/LTX-2.3-I2AV.py) |
|
|
707
744
|
| LTX-2 | [Lightricks/LTX-2.3: TwoStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.3) | [code](/examples/ltx2/model_inference/LTX-2.3-I2AV-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.3-I2AV-TwoStage.py) | - | - | - | - |
|
|
@@ -30,6 +30,7 @@ References:
|
|
|
30
30
|
|
|
31
31
|
See also:
|
|
32
32
|
|
|
33
|
+
* [DiffSynth-ComfyUI](https://github.com/modelscope/DiffSynth-ComfyUI): A [ComfyUI](https://github.com/Comfy-Org/ComfyUI) node package built on DiffSynth-Studio, enabling you to build workflows in ComfyUI to run model inference.
|
|
33
34
|
* [DiffSynth-WebUI](https://github.com/modelscope/DiffSynth-WebUI): A lightweight LoRA training tool built on DiffSynth-Studio, enabling LoRA training of models on consumer-grade GPUs.
|
|
34
35
|
* [ModelScope AIGC Zone (for Chinese users)](https://modelscope.cn/aigc/home): Productized features powered by DiffSynth-Studio as the core inference and training engine; experience the rich potential of the open-source model ecosystem.
|
|
35
36
|
* [ModelScope Civision (for global users)](https://modelscope.ai/civision/home): Unlock the vast potential of the open-source model ecosystem through productized capabilities powered by DiffSynth-Studio.
|
|
@@ -40,6 +41,21 @@ See also:
|
|
|
40
41
|
|
|
41
42
|
> 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.
|
|
42
43
|
|
|
44
|
+
- **September 20, 2026** Qwen-Image-2.1 was open-sourced. The model supports text-to-image generation, image editing, and RGBA output with a transparency channel. DiffSynth-Studio now provides full support for it. For details, please refer to the [documentation](/docs/zh/Model_Details/Qwen-Image-2.1.md) and [example code](/examples/qwen_image_21/).
|
|
45
|
+
|
|
46
|
+
- **September 14, 2026** We trained and open-sourced DiffSynth-Music, a controllable music generation model based on ACE-Step, which supports five control modes: Beats, Vocals, Accompany, Prosody, and Reference. For more information, please refer to:
|
|
47
|
+
* Model: https://modelscope.cn/models/DiffSynth-Studio/DiffSynth-Music
|
|
48
|
+
* Technical Report: https://arxiv.org/abs/2609.12774
|
|
49
|
+
* Code: [./examples/diffsynth_music/](./examples/diffsynth_music/)
|
|
50
|
+
|
|
51
|
+
- **September 11, 2026** We have added support for YuE2, a new music generation model. For details, please refer to the [documentation](/docs/zh/Model_Details/YuE2.md) and [example code](/examples/yue2/).
|
|
52
|
+
|
|
53
|
+
- **September 10, 2026** We have integrated [LTX-2.5](https://modelscope.cn/models/Lightricks/LTX-2.5), the latest audio-video generation model from Lightricks. The features include text-to-audio/video with automatic duration prediction, image-to-audio/video with keyframe interpolation, audio-to-video, audio-video retake, IC-LoRA pixel spatial upscaling, text-to-audio, INT8 quantized inference, low VRAM inference, and training. For details, please refer to the [documentation](/docs/en/Model_Details/LTX-2.md) and [code](/examples/ltx2/).
|
|
54
|
+
|
|
55
|
+
- **September 10, 2026** We have open-sourced [DiffSynth-ComfyUI](https://github.com/modelscope/DiffSynth-ComfyUI). Now you can run model inference with DiffSynth-Studio in [ComfyUI](https://github.com/Comfy-Org/ComfyUI).
|
|
56
|
+
|
|
57
|
+
- **September 8, 2026** We trained a [MiniMax-H3 Training Adapter](https://www.modelscope.cn/models/DiffSynth-Studio/MiniMax-H3-TrainingAdapter) for the CFG-distilled MiniMax-H3 base, a DeCFG LoRA training adapter offered in FL2VA and Ref2VA versions. The training data comes from the self-generated [MiniMax-H3-Self-Generated-Dataset](https://www.modelscope.cn/datasets/DiffSynth-Studio/MiniMax-H3-Self-Generated-Dataset). Based on this adapter, we trained two toy models, [MiniMax-H3-Songyu-LoRA](https://www.modelscope.cn/models/mibei0804/MiniMax-H3-Songyu-LoRA) (character identity, FL2VA) and [MiniMax-H3-Ref2VA-FirstFrame-Lineart](https://www.modelscope.cn/models/mibei0804/MiniMax-H3-Ref2VA-FirstFrame-Lineart) (lineart first-frame control, Ref2VA), as references for inference and fine-tuning.
|
|
58
|
+
|
|
43
59
|
- **September 1, 2026** We have integrated [SenseNova-U1.5](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT), SenseTime's unified multimodal model, for which we provide text-to-image generation, image editing, low VRAM inference, and training support. For details, please refer to the [documentation](/docs/en/Model_Details/SenseNova-U1.md) and [example code](/examples/sensenova_u1/).
|
|
44
60
|
|
|
45
61
|
- **August 31, 2026** We have integrated [Qwen-Video-Edit](https://modelscope.cn/models/yunpeng1998/Qwen-Video-Edit), a video editing model developed by open-source community contributor [yunpeng1998](https://github.com/yunpeng1998) based on the image editing model Qwen-Image-Edit. This serves as an excellent example of exploring and expanding model capabilities.
|
|
@@ -48,6 +64,9 @@ See also:
|
|
|
48
64
|
|
|
49
65
|
- **August 19, 2026** We have released the model quantization feature. It provides a unified `QuantizeConfig` entry point supporting multiple quantization backends including bitsandbytes, torchao, and comfy-kitchen, with capabilities such as online quantization, loading pre-quantized weights, mixed quantization, saving quantized models, and quantization + LoRA training. For details, please refer to the [documentation](/docs/en/Pipeline_Usage/Quantization.md).
|
|
50
66
|
|
|
67
|
+
<details>
|
|
68
|
+
<summary>More</summary>
|
|
69
|
+
|
|
51
70
|
- **August 17, 2026** MiniMax-Music3 open-sourced, welcome a new member to the audio model family! Support includes text-to-music generation and low VRAM inference. For details, please refer to the [documentation](/docs/en/Model_Details/MiniMax-Music3.md) and [example code](/examples/minimax_music3/).
|
|
52
71
|
|
|
53
72
|
- **August 7, 2026** We add support for Wan-Animate-2 in the Wan series. Given a reference image and a driving video, it makes the reference character perform the motions in the driving video, generating high-quality character animation, with both standard and distilled variants. For details, please refer to the [documentation](/docs/en/Model_Details/Wan.md) and [example code](/examples/wanvideo/).
|
|
@@ -58,9 +77,6 @@ See also:
|
|
|
58
77
|
|
|
59
78
|
- **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)!
|
|
60
79
|
|
|
61
|
-
<details>
|
|
62
|
-
<summary>More</summary>
|
|
63
|
-
|
|
64
80
|
- **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/).
|
|
65
81
|
|
|
66
82
|
- **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/).
|
|
@@ -300,6 +316,7 @@ Quick start: experience popular and the latest models:
|
|
|
300
316
|
|
|
301
317
|
| Architecture | Model ID | Inference | Low VRAM Inference | Full Training | Validation After Full Training | LoRA Training | Validation After LoRA Training |
|
|
302
318
|
|-|-|-|-|-|-|-|-|
|
|
319
|
+
| Qwen-Image-2.1 | [Qwen/Qwen-Image-2.1](https://www.modelscope.cn/models/Qwen/Qwen-Image-2.1) | [code](/examples/qwen_image_21/model_inference/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_inference_low_vram/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/full/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_full/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/lora/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_lora/Qwen-Image-2.1.py) |
|
|
303
320
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: FL2VA](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/full/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_full/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-FL2VA.py) |
|
|
304
321
|
| MiniMax-H3 | [DiffSynth-Studio/MiniMax-H3-NF4: FL2VA pruned](https://www.modelscope.cn/models/DiffSynth-Studio/MiniMax-H3-NF4) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-NF4-Pruned-FL2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-NF4-Pruned-FL2VA.py) | - | - | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-NF4-Pruned-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-NF4-Pruned-FL2VA.py) |
|
|
305
322
|
| ACE-Step | [ACE-Step/acestep-v15-xl-sft](https://www.modelscope.cn/models/ACE-Step/acestep-v15-xl-sft) | [code](/examples/ace_step/model_inference/acestep-v15-xl-sft.py) | [code](/examples/ace_step/model_inference_low_vram/acestep-v15-xl-sft.py) | [code](/examples/ace_step/model_training/full/acestep-v15-xl-sft.sh) | [code](/examples/ace_step/model_training/validate_full/acestep-v15-xl-sft.py) | [code](/examples/ace_step/model_training/lora/acestep-v15-xl-sft.sh) | [code](/examples/ace_step/model_training/validate_lora/acestep-v15-xl-sft.py) |
|
|
@@ -310,6 +327,7 @@ Quick start: experience popular and the latest models:
|
|
|
310
327
|
Model overview:
|
|
311
328
|
|
|
312
329
|
- Image generation
|
|
330
|
+
- Qwen-Image-2.1: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Qwen-Image-2.1.html), [Example code](/examples/qwen_image_21/)
|
|
313
331
|
- SenseNova-U1: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/SenseNova-U1.html), [Example code](/examples/sensenova_u1/)
|
|
314
332
|
- Boogu-Image: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Boogu-Image.html), [Example code](/examples/boogu_image/)
|
|
315
333
|
- Krea-2: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Krea-2.html), [Example code](/examples/krea2/)
|
|
@@ -330,7 +348,9 @@ Model overview:
|
|
|
330
348
|
- LTX-2: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/LTX-2.html), [Example code](/examples/ltx2/)
|
|
331
349
|
- Wan: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Wan.html), [Example code](/examples/wanvideo/)
|
|
332
350
|
- Audio generation
|
|
351
|
+
- DiffSynth-Music: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/DiffSynth-Music.html), [Example code](/examples/diffsynth_music/)
|
|
333
352
|
- MiniMax-Music3: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/MiniMax-Music3.html), [Example code](/examples/minimax_music3/)
|
|
353
|
+
- YuE2: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/YuE2.html), [Example code](/examples/yue2/)
|
|
334
354
|
- ACE-Step: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/ACE-Step.html), [Example code](/examples/ace_step/)
|
|
335
355
|
- Evaluation models: [Documentation](https://diffsynth-studio-doc.readthedocs.io/en/latest/Model_Details/Image-Quality-Metrics.html), [Example code](/examples/image_quality_metric/)
|
|
336
356
|
|
|
@@ -578,12 +598,15 @@ https://github.com/Artiprocher/DiffSynth-Studio/assets/35051019/59fb2f7b-8de0-44
|
|
|
578
598
|
|
|
579
599
|
| Architecture | Model ID | Inference | Low VRAM Inference | Full Training | Validation After Full Training | LoRA Training | Validation After LoRA Training |
|
|
580
600
|
|-|-|-|-|-|-|-|-|
|
|
601
|
+
| Qwen-Image-2.1 | [Qwen/Qwen-Image-2.1](https://www.modelscope.cn/models/Qwen/Qwen-Image-2.1) | [code](/examples/qwen_image_21/model_inference/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_inference_low_vram/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/full/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_full/Qwen-Image-2.1.py) | [code](/examples/qwen_image_21/model_training/lora/Qwen-Image-2.1.sh) | [code](/examples/qwen_image_21/model_training/validate_lora/Qwen-Image-2.1.py) |
|
|
581
602
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT: T2I](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT.py) |
|
|
582
603
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT: Edit](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-Edit.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-Edit.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT-Edit.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT-Edit.py) |
|
|
583
604
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT-LoRAs: 8-step](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT-LoRAs) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-LoRA-8step.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-LoRA-8step.py) | - | - | - | - |
|
|
584
605
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT-SFT: T2I](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT-SFT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-SFT.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-SFT.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT-SFT.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT-SFT.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT-SFT.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT-SFT.py) |
|
|
585
606
|
| SenseNova-U1 | [SenseNova/SenseNova-U1.5-8B-MoT-SFT: Edit](https://www.modelscope.cn/models/SenseNova/SenseNova-U1.5-8B-MoT-SFT) | [code](/examples/sensenova_u1/model_inference/SenseNova-U1.5-8B-MoT-SFT-Edit.py) | [code](/examples/sensenova_u1/model_inference_low_vram/SenseNova-U1.5-8B-MoT-SFT-Edit.py) | [code](/examples/sensenova_u1/model_training/full/SenseNova-U1.5-8B-MoT-SFT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_full/SenseNova-U1.5-8B-MoT-SFT-Edit.py) | [code](/examples/sensenova_u1/model_training/lora/SenseNova-U1.5-8B-MoT-SFT-Edit.sh) | [code](/examples/sensenova_u1/model_training/validate_lora/SenseNova-U1.5-8B-MoT-SFT-Edit.py) |
|
|
586
607
|
| MiniMax-Music3 | [MiniMax/MiniMax-Music3](https://www.modelscope.cn/models/MiniMax/MiniMax-Music3) | [code](/examples/minimax_music3/model_inference/MiniMax-Music3.py) | [code](/examples/minimax_music3/model_inference_low_vram/MiniMax-Music3.py) | — | — | — | — |
|
|
608
|
+
| YuE2 | [m-a-p/YuE2-3B](https://www.modelscope.cn/models/m-a-p/YuE2-3B) | [code](/examples/yue2/model_inference/YuE2.py) | [code](/examples/yue2/model_inference_low_vram/YuE2.py) | — | — | — | — |
|
|
609
|
+
| DiffSynth-Music | [DiffSynth-Studio/DiffSynth-Music](https://www.modelscope.cn/models/DiffSynth-Studio/DiffSynth-Music) | [code](/examples/diffsynth_music/model_inference/DiffSynth-Music.py) | [code](/examples/diffsynth_music/model_inference_low_vram/DiffSynth-Music.py) | [code](/examples/diffsynth_music/model_training/full/DiffSynth-Music.sh) | [code](/examples/diffsynth_music/model_training/validate_full/DiffSynth-Music.py) | - | - |
|
|
587
610
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: FL2VA](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/full/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_full/MiniMax-H3-FL2VA.py) | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-FL2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-FL2VA.py) |
|
|
588
611
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: Ref2VA](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-Ref2VA.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-Ref2VA.py) | [code](/examples/minimax_h3/model_training/full/MiniMax-H3-Ref2VA.sh) | [code](/examples/minimax_h3/model_training/validate_full/MiniMax-H3-Ref2VA.py) | [code](/examples/minimax_h3/model_training/lora/MiniMax-H3-Ref2VA.sh) | [code](/examples/minimax_h3/model_training/validate_lora/MiniMax-H3-Ref2VA.py) |
|
|
589
612
|
| MiniMax-H3 | [MiniMax/MiniMax-H3: Retake](https://www.modelscope.cn/models/MiniMax/MiniMax-H3) | [code](/examples/minimax_h3/model_inference/MiniMax-H3-Retake.py) | [code](/examples/minimax_h3/model_inference_low_vram/MiniMax-H3-Retake.py) | - | - | - | - |
|
|
@@ -635,6 +658,16 @@ https://github.com/Artiprocher/DiffSynth-Studio/assets/35051019/59fb2f7b-8de0-44
|
|
|
635
658
|
| JoyAI-Image | [jd-opensource/JoyAI-Image-Edit](https://modelscope.cn/models/jd-opensource/JoyAI-Image-Edit) | [code](/examples/joyai_image/model_inference/JoyAI-Image-Edit.py) | [code](/examples/joyai_image/model_inference_low_vram/JoyAI-Image-Edit.py) | [code](/examples/joyai_image/model_training/full/JoyAI-Image-Edit.sh) | [code](/examples/joyai_image/model_training/validate_full/JoyAI-Image-Edit.py) | [code](/examples/joyai_image/model_training/lora/JoyAI-Image-Edit.sh) | [code](/examples/joyai_image/model_training/validate_lora/JoyAI-Image-Edit.py) |
|
|
636
659
|
| ERNIE-Image | [PaddlePaddle/ERNIE-Image](https://www.modelscope.cn/models/PaddlePaddle/ERNIE-Image) | [code](/examples/ernie_image/model_inference/ERNIE-Image.py) | [code](/examples/ernie_image/model_inference_low_vram/ERNIE-Image.py) | [code](/examples/ernie_image/model_training/full/ERNIE-Image.sh) | [code](/examples/ernie_image/model_training/validate_full/ERNIE-Image.py) | [code](/examples/ernie_image/model_training/lora/ERNIE-Image.sh) | [code](/examples/ernie_image/model_training/validate_lora/ERNIE-Image.py) |
|
|
637
660
|
| ERNIE-Image | [PaddlePaddle/ERNIE-Image-Turbo](https://www.modelscope.cn/models/PaddlePaddle/ERNIE-Image-Turbo) | [code](/examples/ernie_image/model_inference/ERNIE-Image-Turbo.py) | [code](/examples/ernie_image/model_inference_low_vram/ERNIE-Image-Turbo.py) | — | — | — | — |
|
|
661
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: OneStagePipeline-T2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-OneStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-OneStage.py) | [code](/examples/ltx2/model_training/full/LTX-2.5-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_full/LTX-2.5-T2AV.py) | [code](/examples/ltx2/model_training/lora/LTX-2.5-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_lora/LTX-2.5-T2AV.py) |
|
|
662
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-T2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-TwoStage.py) | - | - | - | - |
|
|
663
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: OneStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-I2AV-OneStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-I2AV-OneStage.py) | - | - | - | - |
|
|
664
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-I2AV-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-I2AV-TwoStage.py) | - | - | - | - |
|
|
665
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-A2V](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-A2V-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-A2V-TwoStage.py) | - | - | - | - |
|
|
666
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: TwoStagePipeline-Retake](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-TwoStage-Retake.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-TwoStage-Retake.py) | - | - | - | - |
|
|
667
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: T2A](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2A.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2A.py) | - | - | - | - |
|
|
668
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: DistilledPipeline-T2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-DistilledPipeline.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-DistilledPipeline.py) | - | - | - | - |
|
|
669
|
+
| LTX-2.5 | [Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler](https://www.modelscope.cn/models/Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler) | [code](/examples/ltx2/model_inference/LTX-2.5-IC-LoRA-Pixel-Spatial-Upscaler.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-IC-LoRA-Pixel-Spatial-Upscaler.py) | - | - | - | - |
|
|
670
|
+
| LTX-2.5 | [Lightricks/LTX-2.5: INT8-ConvRot](https://www.modelscope.cn/models/Lightricks/LTX-2.5) | [code](/examples/ltx2/model_inference/LTX-2.5-T2AV-INT8-ConvRot.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.5-T2AV-INT8-ConvRot.py) | - | - | - | - |
|
|
638
671
|
| LTX-2 | [jd-opensource/JoyAI-Echo](https://modelscope.cn/models/jd-opensource/JoyAI-Echo) | [code](/examples/ltx2/model_inference/JoyAI-Echo-T2AV.py) | [code](/examples/ltx2/model_inference_low_vram/JoyAI-Echo-T2AV.py) | [code](/examples/ltx2/model_training/full/JoyAI-Echo-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_full/JoyAI-Echo-T2AV.py) | [code](/examples/ltx2/model_training/lora/JoyAI-Echo-T2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_lora/JoyAI-Echo-T2AV.py) |
|
|
639
672
|
| LTX-2 | [Lightricks/LTX-2.3: OneStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.3) | [code](/examples/ltx2/model_inference/LTX-2.3-I2AV-OneStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.3-I2AV-OneStage.py) | [code](/examples/ltx2/model_training/full/LTX-2.3-I2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_full/LTX-2.3-I2AV.py) | [code](/examples/ltx2/model_training/lora/LTX-2.3-I2AV-splited.sh) | [code](/examples/ltx2/model_training/validate_lora/LTX-2.3-I2AV.py) |
|
|
640
673
|
| LTX-2 | [Lightricks/LTX-2.3: TwoStagePipeline-I2AV](https://www.modelscope.cn/models/Lightricks/LTX-2.3) | [code](/examples/ltx2/model_inference/LTX-2.3-I2AV-TwoStage.py) | [code](/examples/ltx2/model_inference_low_vram/LTX-2.3-I2AV-TwoStage.py) | - | - | - | - |
|
|
@@ -850,7 +850,7 @@ ltx2_series = [
|
|
|
850
850
|
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_text_encoder.LTX2TextEncoderPostModulesStateDictConverter",
|
|
851
851
|
},
|
|
852
852
|
{
|
|
853
|
-
# Example: ModelConfig(model_id="Lightricks/LTX-2.3", origin_file_pattern="ltx-2.3-spatial-upscaler-x2-1.
|
|
853
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.3", origin_file_pattern="ltx-2.3-spatial-upscaler-x2-1.1.safetensors")
|
|
854
854
|
"model_hash": "aed408774d694a2452f69936c32febb5",
|
|
855
855
|
"model_name": "ltx2_latent_upsampler",
|
|
856
856
|
"model_class": "diffsynth.models.ltx2_upsampler.LTX2LatentUpsampler",
|
|
@@ -895,6 +895,104 @@ ltx2_series = [
|
|
|
895
895
|
"extra_kwargs": {"separated_audio_video": True, "embedding_dim_gemma": 3840, "num_layers_gemma": 49, "video_attention_heads": 32, "video_attention_head_dim": 128, "audio_attention_heads": 32, "audio_attention_head_dim": 64, "num_connector_layers": 8, "apply_gated_attention": True},
|
|
896
896
|
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_text_encoder.LTX2TextEncoderPostModulesStateDictConverter",
|
|
897
897
|
},
|
|
898
|
+
{
|
|
899
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="diffusion_models/ltx-2.5-22b-dev-transformer-bf16.safetensors")
|
|
900
|
+
"model_hash": "7960c5dc4626650824e36f65a8e992e9",
|
|
901
|
+
"model_name": "ltx2_dit",
|
|
902
|
+
"model_class": "diffsynth.models.ltx2_dit.LTXModel",
|
|
903
|
+
"extra_kwargs": {"caption_channels": None, "apply_gated_attention": True, "cross_attention_adaln": True, "ff_bias": False, "use_keyframes_abs_pos_embedding": True, "use_tokenwise_av_ca_scale_shift": True},
|
|
904
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_dit.LTXModelStateDictConverter",
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="diffusion_models/ltx-2.5-22b-dev-transformer-comfy-int8-convrot.safetensors")
|
|
908
|
+
"model_hash": "57343d320cac0bbba58a488b8ebe7187",
|
|
909
|
+
"model_name": "ltx2_dit",
|
|
910
|
+
"model_class": "diffsynth.models.ltx2_dit.LTXModel",
|
|
911
|
+
"extra_kwargs": {"caption_channels": None, "apply_gated_attention": True, "cross_attention_adaln": True, "ff_bias": False, "use_keyframes_abs_pos_embedding": True, "use_tokenwise_av_ca_scale_shift": True},
|
|
912
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_dit.LTXModelStateDictConverter",
|
|
913
|
+
"quant_config": {"method": "comfy_kitchen_int8_w8a8", "load_prequantized": True, "exclude_modules": ["timestep_embedder.linear_1", "timestep_embedder.linear_2", "adaln_single.linear", "audio_adaln_single.linear", "prompt_adaln_single.linear", "audio_prompt_adaln_single.linear", "av_ca_a2v_gate_adaln_single.linear", "av_ca_audio_scale_shift_adaln_single.linear", "av_ca_v2a_gate_adaln_single.linear", "av_ca_video_scale_shift_adaln_single.linear", "patchify_proj", "audio_patchify_proj", "proj_out", "audio_proj_out", "to_gate_logits"]},
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
# Example: ModelConfig(model_id="DiffSynth-Studio/LTX-2.5-Repackage", origin_file_pattern="text_encoder_post_modules.safetensors")
|
|
917
|
+
"model_hash": "8f3c146ff3d584392236c5b29d26146c",
|
|
918
|
+
"model_name": "ltx2_text_encoder_post_modules",
|
|
919
|
+
"model_class": "diffsynth.models.ltx25_text_encoder.LTX25TextEncoderPostModules",
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors")
|
|
923
|
+
"model_hash": "055700dc619165899bebb5162f699cd2",
|
|
924
|
+
"model_name": "ltx2_text_encoder",
|
|
925
|
+
"model_class": "diffsynth.models.ltx25_text_encoder.LTX25TextEncoder",
|
|
926
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx25_text_encoder.LTX25TextEncoderStateDictConverter",
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="text_encoders/gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors")
|
|
930
|
+
"model_hash": "4743ded7a5725b6589bccdb62512723b",
|
|
931
|
+
"model_name": "ltx2_text_encoder",
|
|
932
|
+
"model_class": "diffsynth.models.ltx25_text_encoder.LTX25TextEncoder",
|
|
933
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx25_text_encoder.LTX25TextEncoderStateDictConverter",
|
|
934
|
+
"quant_config": {"method": "comfy_kitchen_int8_w8a8", "load_prequantized": True, "exclude_modules": ["lm_head", "embedding_projection", "patch_dense"]},
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-video-vae-bf16.safetensors")
|
|
938
|
+
"model_hash": "e19205490f01801d0a7b6d3aba61e26e",
|
|
939
|
+
"model_name": "ltx2_video_vae_encoder",
|
|
940
|
+
"model_class": "diffsynth.models.ltx2_video_vae.LTX2VideoEncoder",
|
|
941
|
+
"extra_kwargs": {"encoder_version": "ltx-2.3"},
|
|
942
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_video_vae.LTX2VideoEncoderStateDictConverter",
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-video-vae-bf16.safetensors")
|
|
946
|
+
"model_hash": "e19205490f01801d0a7b6d3aba61e26e",
|
|
947
|
+
"model_name": "ltx25_diffusion_video_vae_decoder",
|
|
948
|
+
"model_class": "diffsynth.models.ltx25_diffusion_video_vae.LTX25DiffusionVideoDecoder",
|
|
949
|
+
"extra_kwargs": {"stage_channels": [2048, 1024, 512, 512, 256], "stage_depths": [4, 6, 4, 2, 8], "stage_kernels": [[3, 7, 7], [3, 7, 7], [3, 5, 5], [3, 5, 5], [11, 11, 11]], "stage5_kernel": [11, 11, 11], "timestep_scale_multiplier": 1000.0, "default_num_inference_steps": 1, "model_output_type": "x0"},
|
|
950
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx25_diffusion_video_vae.LTX25DiffusionVideoDecoderStateDictConverter",
|
|
951
|
+
},
|
|
952
|
+
{
|
|
953
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-video-vae-conv-bf16.safetensors")
|
|
954
|
+
"model_hash": "a1d642eecae96baa9c31d4e405564f49",
|
|
955
|
+
"model_name": "ltx2_video_vae_encoder",
|
|
956
|
+
"model_class": "diffsynth.models.ltx2_video_vae.LTX2VideoEncoder",
|
|
957
|
+
"extra_kwargs": {"encoder_version": "ltx-2.3"},
|
|
958
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_video_vae.LTX2VideoEncoderStateDictConverter",
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-video-vae-conv-bf16.safetensors")
|
|
962
|
+
"model_hash": "a1d642eecae96baa9c31d4e405564f49",
|
|
963
|
+
"model_name": "ltx2_video_vae_decoder",
|
|
964
|
+
"model_class": "diffsynth.models.ltx2_video_vae.LTX2VideoDecoder",
|
|
965
|
+
"extra_kwargs": {"decoder_version": "ltx-2.3"},
|
|
966
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_video_vae.LTX2VideoDecoderStateDictConverter",
|
|
967
|
+
},
|
|
968
|
+
{
|
|
969
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-audio-vae-bf16.safetensors")
|
|
970
|
+
"model_hash": "c2488315f13356abb806f9f217f1e803",
|
|
971
|
+
"model_name": "ltx2_audio_vae_decoder",
|
|
972
|
+
"model_class": "diffsynth.models.ltx2_audio_vae.LTX2AudioDecoder",
|
|
973
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_audio_vae.LTX2AudioDecoderStateDictConverter",
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-audio-vae-bf16.safetensors")
|
|
977
|
+
"model_hash": "c2488315f13356abb806f9f217f1e803",
|
|
978
|
+
"model_name": "ltx2_audio_vocoder",
|
|
979
|
+
"model_class": "diffsynth.models.ltx2_audio_vae.LTX2VocoderWithBWE",
|
|
980
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_audio_vae.LTX2VocoderStateDictConverter",
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="vae/ltx-2.5-audio-vae-bf16.safetensors")
|
|
984
|
+
"model_hash": "c2488315f13356abb806f9f217f1e803",
|
|
985
|
+
"model_name": "ltx2_audio_vae_encoder",
|
|
986
|
+
"model_class": "diffsynth.models.ltx2_audio_vae.LTX2AudioEncoder",
|
|
987
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx2_audio_vae.LTX2AudioEncoderStateDictConverter",
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
# Example: ModelConfig(model_id="Lightricks/LTX-2.5", origin_file_pattern="model_patches/ltx-2.5-duration-head-bf16.safetensors")
|
|
991
|
+
"model_hash": "35840495e440a4f00946450269299bd6",
|
|
992
|
+
"model_name": "ltx25_duration_head",
|
|
993
|
+
"model_class": "diffsynth.models.ltx25_duration_head.LTX25DurationHead",
|
|
994
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.ltx25_duration_head.LTX25DurationHeadStateDictConverter",
|
|
995
|
+
},
|
|
898
996
|
]
|
|
899
997
|
anima_series = [
|
|
900
998
|
{
|
|
@@ -1116,14 +1214,6 @@ joyai_image_series = [
|
|
|
1116
1214
|
"model_name": "joyai_image_dit",
|
|
1117
1215
|
"model_class": "diffsynth.models.joyai_image_dit.JoyAIImageDiT",
|
|
1118
1216
|
},
|
|
1119
|
-
{
|
|
1120
|
-
# Example: ModelConfig(model_id="jd-opensource/JoyAI-Image-Edit", origin_file_pattern="JoyAI-Image-Und/model-*.safetensors")
|
|
1121
|
-
# Example: ModelConfig(model_id="DiffSynth-Studio/ImageMetrics", origin_file_pattern="UnifiedReward-Edit-qwen3vl-8b/model-*.safetensors")
|
|
1122
|
-
"model_hash": "2d11bf14bba8b4e87477c8199a895403",
|
|
1123
|
-
"model_name": "joyai_image_text_encoder",
|
|
1124
|
-
"model_class": "diffsynth.models.joyai_image_text_encoder.JoyAIImageTextEncoder",
|
|
1125
|
-
"state_dict_converter": "diffsynth.utils.state_dict_converters.joyai_image_text_encoder.JoyAIImageTextEncoderStateDictConverter",
|
|
1126
|
-
},
|
|
1127
1217
|
]
|
|
1128
1218
|
|
|
1129
1219
|
boogu_image_series = [
|
|
@@ -1202,11 +1292,24 @@ ace_step_series = [
|
|
|
1202
1292
|
"state_dict_converter": "diffsynth.utils.state_dict_converters.ace_step_tokenizer.AceStepTokenizerStateDictConverter",
|
|
1203
1293
|
},
|
|
1204
1294
|
{
|
|
1205
|
-
# Example:
|
|
1295
|
+
# Example: ModelConfig(model_id="DiffSynth-Studio/DiffSynth-Music-Tools", origin_file_pattern="track_separator/model.safetensors")
|
|
1206
1296
|
"model_hash": "ff74b1806e6a0b52e7bbd1d3df2d26d1",
|
|
1207
1297
|
"model_name": "demucs",
|
|
1208
1298
|
"model_class": "diffsynth.models.demucs.HTDemucs",
|
|
1209
1299
|
},
|
|
1300
|
+
{
|
|
1301
|
+
# Example: ModelConfig(model_id="DiffSynth-Studio/DiffSynth-Music-Tools", origin_file_pattern="transformer/model.safetensors")
|
|
1302
|
+
"model_hash": "167b8d453605e3d72076f88790528f8e",
|
|
1303
|
+
"model_name": "diffsynth_music_dit",
|
|
1304
|
+
"model_class": "diffsynth.models.diffsynth_music_dit.DiffSynthMusicDiTModel",
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
# Example: ModelConfig(model_id="DiffSynth-Studio/DiffSynth-Music-Tools", origin_file_pattern="conditioner/model.safetensors")
|
|
1308
|
+
"model_hash": "d6c90aec3f282bde16298e0221413098",
|
|
1309
|
+
"model_name": "ace_step_conditioner",
|
|
1310
|
+
"model_class": "diffsynth.models.ace_step_conditioner.AceStepConditionEncoder",
|
|
1311
|
+
"extra_kwargs": {"placeholder_shape": (1, 15000, 64)},
|
|
1312
|
+
},
|
|
1210
1313
|
]
|
|
1211
1314
|
|
|
1212
1315
|
image_metrics_series = [
|
|
@@ -1534,6 +1637,22 @@ minimax_h3_series = [
|
|
|
1534
1637
|
"extra_kwargs": {'control_layers': (0, 10, 20, 30, 40), 'control_in_dim': 49, 'control_apply_audio': False, 'hidden_size': 5376, 'num_attention_heads': 56, 'attention_head_dim': 128, 'ffn_hidden_size': 14336, 'time_embed_dim': 2688, 'adaln_out_features': 96768, 'patch_size': (1, 2, 2), 'norm_eps': 1e-05, 'qk_norm_eps': 1e-05},
|
|
1535
1638
|
"state_dict_converter": "diffsynth.utils.state_dict_converters.minimax_h3_controlnet.MiniMaxH3ControlNetStateDictConverter"
|
|
1536
1639
|
},
|
|
1640
|
+
{
|
|
1641
|
+
# Example: ModelConfig(model_id="WarmBloodAban/Minimax-h3_Singularity", origin_file_pattern="Minimax-h3_Singularity_ref2va_Pruned_v1.3_int8.safetensors")
|
|
1642
|
+
"model_hash": "c00577940e5a11f0fb5a0a754ac6003d",
|
|
1643
|
+
"model_name": "minimax_h3_dit",
|
|
1644
|
+
"model_class": "diffsynth.models.minimax_h3_dit_comfy.MiniMaxH3DiTComfyPruned",
|
|
1645
|
+
"quant_config": {"method": "comfy_kitchen_int8_w8a8", "load_prequantized": True, "exclude_modules": ["video_patch_proj", "audio_patch_proj", "condition_proj", "adaln_proj.linear", "final_layer.video_out", "final_layer.audio_out", "token_refiner.blocks.0.attn.qkv_proj", "token_refiner.blocks.0.attn.out_proj", "token_refiner.blocks.0.mlp.fc1", "token_refiner.blocks.0.mlp.fc2", "token_refiner.blocks.1.attn.qkv_proj", "token_refiner.blocks.1.attn.out_proj", "token_refiner.blocks.1.mlp.fc1", "token_refiner.blocks.1.mlp.fc2"]},
|
|
1646
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.minimax_h3_dit.MiniMaxH3DiTSingularityStateDictConverter",
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
# Example: ModelConfig(model_id="WarmBloodAban/Minimax-h3_Singularity", origin_file_pattern="Minimax-h3_Singularity_ref2va_v1.3_int8.safetensors")
|
|
1650
|
+
"model_hash": "dea0301a17c3e68100ecc6cf9f52e2e5",
|
|
1651
|
+
"model_name": "minimax_h3_dit",
|
|
1652
|
+
"model_class": "diffsynth.models.minimax_h3_dit_comfy.MiniMaxH3DiTComfy",
|
|
1653
|
+
"quant_config": {"method": "comfy_kitchen_int8_w8a8", "load_prequantized": True, "exclude_modules": ["video_patch_proj", "audio_patch_proj", "condition_proj", "time_embedder.proj_in", "time_embedder.proj_out", "final_layer.adaln_proj.linear", "final_layer.video_out", "final_layer.audio_out", "token_refiner.blocks.0.attn.qkv_proj", "token_refiner.blocks.0.attn.out_proj", "token_refiner.blocks.0.mlp.fc1", "token_refiner.blocks.0.mlp.fc2", "token_refiner.blocks.1.attn.qkv_proj", "token_refiner.blocks.1.attn.out_proj", "token_refiner.blocks.1.mlp.fc1", "token_refiner.blocks.1.mlp.fc2"]},
|
|
1654
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.minimax_h3_dit.MiniMaxH3DiTSingularityStateDictConverter",
|
|
1655
|
+
},
|
|
1537
1656
|
]
|
|
1538
1657
|
|
|
1539
1658
|
minimax_music3_series = [
|
|
@@ -1579,8 +1698,48 @@ sensenova_u1_series = [
|
|
|
1579
1698
|
},
|
|
1580
1699
|
]
|
|
1581
1700
|
|
|
1701
|
+
yue2_series = [
|
|
1702
|
+
{
|
|
1703
|
+
# Example: ModelConfig(model_id="m-a-p/YuE2-3B", origin_file_pattern="model.safetensors")
|
|
1704
|
+
"model_hash": "bbf2429c299689138aaea6cd6a9b80ab",
|
|
1705
|
+
"model_name": "yue2_mot",
|
|
1706
|
+
"model_class": "diffsynth.models.yue2_mot.YuE2MoT",
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
# Example: ModelConfig(model_id="m-a-p/YuE2-Vae", origin_file_pattern="model.safetensors")
|
|
1710
|
+
"model_hash": "2c8808833766c8bb497b44aaa90bfb45",
|
|
1711
|
+
"model_name": "yue2_vae",
|
|
1712
|
+
"model_class": "diffsynth.models.yue2_vae.YuE2VAEModel",
|
|
1713
|
+
},
|
|
1714
|
+
]
|
|
1715
|
+
|
|
1716
|
+
qwen_image_21_series = [
|
|
1717
|
+
{
|
|
1718
|
+
# Example: ModelConfig(model_id="Qwen/Qwen-Image-2.1", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors")
|
|
1719
|
+
"model_hash": "4c9f4f5bdeb5c737742ad8e4080221d1",
|
|
1720
|
+
"model_name": "qwen_image_21_dit",
|
|
1721
|
+
"model_class": "diffsynth.models.qwen_image_21_dit.QwenImage21DiT",
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
# Example: ModelConfig(model_id="Qwen/Qwen-Image-2.1", origin_file_pattern="vae/diffusion_pytorch_model.safetensors")
|
|
1725
|
+
"model_hash": "959403bfea52f7c5a3ccf82274f7e9ef",
|
|
1726
|
+
"model_name": "qwen_image_21_vae",
|
|
1727
|
+
"model_class": "diffsynth.models.qwen_image_21_vae.QwenImage21VAE",
|
|
1728
|
+
},
|
|
1729
|
+
{
|
|
1730
|
+
# Example: ModelConfig(model_id="Qwen/Qwen-Image-2.1", origin_file_pattern="text_encoder/model*.safetensors")
|
|
1731
|
+
# Example: ModelConfig(model_id="jd-opensource/JoyAI-Image-Edit", origin_file_pattern="JoyAI-Image-Und/model-*.safetensors")
|
|
1732
|
+
# Example: ModelConfig(model_id="DiffSynth-Studio/ImageMetrics", origin_file_pattern="UnifiedReward-Edit-qwen3vl-8b/model-*.safetensors")
|
|
1733
|
+
"model_hash": "2d11bf14bba8b4e87477c8199a895403",
|
|
1734
|
+
"model_name": "qwen_image_21_text_encoder",
|
|
1735
|
+
"model_class": "diffsynth.models.qwen_image_21_text_encoder.QwenImage21TextEncoder",
|
|
1736
|
+
"state_dict_converter": "diffsynth.utils.state_dict_converters.qwen_image_21_text_encoder.QwenImage21TextEncoderStateDictConverter",
|
|
1737
|
+
},
|
|
1738
|
+
]
|
|
1739
|
+
|
|
1582
1740
|
MODEL_CONFIGS = (
|
|
1583
1741
|
stable_diffusion_xl_series + stable_diffusion_series + qwen_image_series + qwen_video_edit_series + wan_series + flux_series + flux2_series + ernie_image_series
|
|
1584
1742
|
+ z_image_series + ltx2_series + anima_series + mova_series + joyai_image_series + boogu_image_series + ace_step_series + hidream_o1_image_series
|
|
1585
1743
|
+ image_metrics_series + ideogram4_series + krea2_series + lingbot_video_series + minimax_h3_series + minimax_music3_series + sensenova_u1_series
|
|
1744
|
+
+ yue2_series + qwen_image_21_series
|
|
1586
1745
|
)
|