欢迎来到 Diffusion 模型的魔法世界!DiffSynth-Studio 是由魔搭社区团队开发和维护的开源 Diffusion 模型引擎。我们期望以框架建设孵化技术创新,凝聚开源社区的力量,探索生成式模型技术的边界!
DiffSynth 目前包括两个开源项目: * DiffSynth-Studio: 聚焦于激进的技术探索,面向学术界,提供更前沿的模型能力支持。 * DiffSynth-Engine: 聚焦于稳定的模型部署,面向工业界,提供更高的计算性能与更稳定的功能。
DiffSynth-Studio 与 DiffSynth-Engine 作为魔搭社区 AIGC 专区 的核心技术支撑,提供了强大的AI生成内容能力。欢迎体验我们精心打造的产品化功能,开启您的AI创作之旅!
从源码安装(推荐):
git clone https://github.com/modelscope/DiffSynth-Studio.git
cd DiffSynth-Studio
pip install -e .
其他安装方式
从 pypi 安装(存在版本更新延迟,如需使用最新功能,请从源码安装)
pip install diffsynth
如果在安装过程中遇到问题,可能是由上游依赖包导致的,请参考这些包的文档:
DiffSynth-Studio 为主流 Diffusion 模型(包括 FLUX、Wan 等)重新设计了推理和训练流水线,能够实现高效的显存管理、灵活的模型训练。
快速开始
from diffsynth.pipelines.qwen_image import QwenImagePipeline, ModelConfig
from PIL import Image
import torch
pipe = QwenImagePipeline.from_pretrained(
torch_dtype=torch.bfloat16,
device="cuda",
model_configs=[
ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="transformer/diffusion_pytorch_model*.safetensors"),
ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="text_encoder/model*.safetensors"),
ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="vae/diffusion_pytorch_model.safetensors"),
],
tokenizer_config=ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="tokenizer/"),
)
prompt = "精致肖像,水下少女,蓝裙飘逸,发丝轻扬,光影透澈,气泡环绕,面容恬静,细节精致,梦幻唯美。"
image = pipe(
prompt, seed=0, num_inference_steps=40,
# edit_image=Image.open("xxx.jpg").resize((1328, 1328)) # For Qwen-Image-Edit
)
image.save("image.jpg")
模型总览
详细页面:./examples/flux/
快速开始
import torch
from diffsynth.pipelines.flux_image_new import FluxImagePipeline, ModelConfig
pipe = FluxImagePipeline.from_pretrained(
torch_dtype=torch.bfloat16,
device="cuda",
model_configs=[
ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="flux1-dev.safetensors"),
ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="text_encoder/model.safetensors"),
ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="text_encoder_2/"),
ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="ae.safetensors"),
],
)
image = pipe(prompt="a cat", seed=0)
image.save("image.jpg")
模型总览
| 模型 ID | 额外参数 | 推理 | 低显存推理 | 全量训练 | 全量训练后验证 | LoRA 训练 | LoRA 训练后验证 |
|---|---|---|---|---|---|---|---|
| FLUX.1-dev | code | code | code | code | code | code | |
| FLUX.1-Krea-dev | code | code | code | code | code | code | |
| FLUX.1-Kontext-dev | kontext_images |
code | code | code | code | code | code |
| FLUX.1-dev-Controlnet-Inpainting-Beta | controlnet_inputs |
code | code | code | code | code | code |
| FLUX.1-dev-Controlnet-Union-alpha | controlnet_inputs |
code | code | code | code | [co |
$ claude mcp add DiffSynth-Studio \
-- python -m otcore.mcp_server <graph>