综合介绍
DiffSynth-Engine 是魔搭社区(ModelScope)推出的开源项目,托管于 GitHub。它基于扩散模型技术,专注于高效生成图像和视频,适合开发者在生产环境中部署 AI 模型。项目从 DiffSynth-Studio 演进而来,经过全面工程化改造,优化了计算效率和部署便捷性。它支持多种模型(如 FLUX、Wan2.1),提供清晰的代码结构和灵活的内存管理。截至 2025 年 3 月,项目持续更新,受到开源社区广泛关注,旨在推动 AI 创作的实用化。
功能列表
- 支持高效生成图像和视频,覆盖从静态图片到动态内容的多种需求。
- 提供清晰可读的代码,无需依赖第三方库,方便开发者修改和扩展。
- 兼容多种基础模型(如 FLUX、Wan2.1)和 LoRA 模型,适应不同场景。
- 内置灵活的内存管理,支持 FP8、INT8 等量化模式,低显存设备也能运行。
- 优化推理速度,支持张量并行计算,加速大规模生成任务。
- 提供跨平台支持,兼容 Windows、macOS(含 Apple Silicon)和 Linux。
- 支持文本到图像、文本到视频,以及视频风格化等多种功能。
使用帮助
安装流程
安装 DiffSynth-Engine 很简单,只需几步即可完成。
- 安装核心包
在终端输入以下命令,通过 pip3 安装:
pip3 install diffsynth-engine
确保 Python 版本为 3.8 或以上。建议使用虚拟环境,避免依赖冲突。
- 下载模型文件
项目不包含模型文件,需手动或通过代码下载。例如,获取 FLUX 模型:
from diffsynth_engine import fetch_model
model_path = fetch_model("muse/flux-with-vae", revision="20240902173035", path="flux1-dev-with-vae.safetensors")
下载后,模型文件通常放在本地指定目录,供脚本调用。
- 验证安装
安装完成后,运行简单测试脚本确认环境正常:from diffsynth_engine import __version__ print(__version__)
输出版本号即表示安装成功。
主要功能操作
1. 生成图像(以 FLUX 为例)
- 操作步骤
使用以下代码生成图像:from diffsynth_engine.pipelines import FluxImagePipeline, FluxModelConfig from diffsynth_engine import fetch_model model_path = fetch_model("muse/flux-with-vae", revision="20240902173035", path="flux1-dev-with-vae.safetensors") config = FluxModelConfig(dit_path=model_path) pipe = FluxImagePipeline.from_pretrained(config, offload_mode="cpu_offload").eval() image = pipe( prompt="月球上的宇航员骑马,黑白摄影风格,颗粒感强,对比度高", width=1024, height=1024, num_inference_steps=30, seed=42, ) image.save("flux_txt2img.png")
- 特色说明
默认需要 23GB 显存。若显存不足,可调整offload_mode="sequential_cpu_offload"
,只需 4GB 显存即可运行,但生成时间会延长(如 91 秒)。支持多种量化精度(如 q8_0、q6_k),显存需求可降至 7-12GB。
2. 生成视频(以 Wan2.1 为例)
- 操作步骤
使用以下代码生成视频:from diffsynth_engine.pipelines import WanVideoPipeline, WanModelConfig from diffsynth_engine.utils.download import fetch_model from diffsynth_engine.utils.video import save_video config = WanModelConfig( model_path=fetch_model("muse/wan2.1-14b-bf16", path="dit.safetensors"), t5_path=fetch_model("muse/wan2.1-umt5", path="umt5.safetensors"), vae_path=fetch_model("muse/wan2.1-vae", path="vae.safetensors"), ) pipe = WanVideoPipeline.from_pretrained(config) video = pipe( prompt="小狗在草地上奔跑,阳光照耀,背景有野花和蓝天", num_frames=41, width=848, height=480, seed=42, ) save_video(video, "wan_t2v.mp4", fps=15)
- 特色说明
单卡生成 2 秒视频需 358 秒。若使用 4 张 A100 GPU 并开启张量并行(parallelism=4, use_cfg_parallel=True
),时间缩短至 114 秒,加速比达 3.14 倍。
3. 低显存优化
- 操作步骤
在 FLUX 示例中,将offload_mode
改为sequential_cpu_offload
:pipe = FluxImagePipeline.from_pretrained(config, offload_mode="sequential_cpu_offload").eval()
- 特色说明
显存需求从 23GB 降至 3.52GB,适合普通设备。量化模式(如 q4_k_s)进一步平衡速度和质量,生成效果略有下降但仍实用。
4. 多卡并行推理
- 操作步骤
在 Wan2.1 示例中,添加并行参数:pipe = WanVideoPipeline.from_pretrained(config, parallelism=4, use_cfg_parallel=True)
- 特色说明
支持多 GPU 并行计算。2 张 GPU 加速 1.97 倍,4 张 GPU 加速 3.14 倍,适合工业级部署。
注意事项
- 硬件要求:图像生成推荐 8GB 显存,视频生成建议 24GB 或多卡配置。
- 模型路径:确保
fetch_model
下载的路径正确,否则需手动指定。 - 文档参考:更多用法见官方 GitHub 页面
<https://github.com/modelscope/DiffSynth-Engine>
。
应用场景
- 个人创作
用户可以用 FLUX 生成艺术图像,或用 Wan2.1 制作短视频,适合社交媒体分享。 - 工业部署
企业可利用多卡并行推理,快速生成高质量视频内容,用于广告或影视制作。 - 技术研究
开发者可修改代码,测试不同模型和量化策略,推动 AI 技术优化。 - 教育培训
学生可通过简单安装,学习扩散模型的实际应用,探索 AI 生成原理。
QA
- 安装失败怎么办?
检查 Python 版本和网络连接。确保 pip 是最新版(pip install --upgrade pip
),或手动下载依赖。 - 支持哪些模型?
支持 FLUX、Wan2.1 等基础模型,以及兼容 LoRA 微调模型,覆盖图像和视频生成。 - 低配电脑能用吗?
可以。调整offload_mode
和量化参数后,4GB 显存即可运行 FLUX。 - 多卡并行怎么设置?
在管道初始化时添加parallelism
参数,需确保 GPU 数量匹配。