---
title: Qwen-Image-Blockwise-ControlNet-Canny
canonical_url: "https://www.modelscope.cn/models/DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny"
md_url: "https://www.modelscope.cn/models/DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny.md"
repository: DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny
chinese_name: "Qwen-Image 图像结构控制模型-Canny ControlNet"
last_updated: 2025-08-15
license: "Apache License 2.0"
pipeline_tag: text-to-image-synthesis
tasks:
  - text-to-image-synthesis
base_model:
  - Qwen/Qwen-Image
base_model_relation: adapter
parameters: 1.1B
tensor_type:
  - BF16
library_name:
  - pytorch
  - safetensors
frameworks:
  - Pytorch
downloads: 5267
stars: 17
---

# Qwen-Image-Blockwise-ControlNet-Canny

> Qwen-Image-Blockwise-ControlNet-Canny - DiffSynth-Studio 在 ModelScope 开源的模型。本模型是基于 Qwen-Image 训练的图像结构控制模型，模型结构为 ControlNet，可根据边缘检测（Canny）图控制生成的图像结构。训练框架基于 DiffSynth-Studio 构建，采用的数据集是 BLIP3o。

DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny 是 ModelScope 魔搭社区上的 1.1B 参数text-to-image-synthesis模型，采用 Apache License 2.0 许可，基于 Qwen/Qwen-Image 构建。

- **Repository**: DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny
- **License**: Apache License 2.0
- **Tasks**: text-to-image-synthesis
- **Parameters**: 1.1B
- **Base model**: Qwen/Qwen-Image
- **Downloads**: 5267
- **Stars**: 17
- **Last updated**: 2025-08-15

Source: https://www.modelscope.cn/models/DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny

---

# Qwen-Image 图像结构控制模型

![](./assets/title.png)

## 模型介绍

本模型是基于 [Qwen-Image](https://www.modelscope.cn/models/Qwen/Qwen-Image) 训练的图像结构控制模型，模型结构为 ControlNet，可根据边缘检测（Canny）图控制生成的图像结构。训练框架基于 [DiffSynth-Studio](https://github.com/modelscope/DiffSynth-Studio) 构建，采用的数据集是 [BLIP3o](https://modelscope.cn/datasets/BLIP3o/BLIP3o-60k)。


## 效果展示

|结构图|生成图1|生成图2|
|-|-|-|
|![](./assets/canny_3.png)|![](./assets/image_3_1.png)|![](./assets/image_3_2.png)|
|![](./assets/canny_2.png)|![](./assets/image_2_1.png)|![](./assets/image_2_2.png)|
|![](./assets/canny_1.png)|![](./assets/image_1_1.png)|![](./assets/image_1_2.png)|

## 推理代码
```
git clone https://github.com/modelscope/DiffSynth-Studio.git  
cd DiffSynth-Studio
pip install -e .
```

```python
from diffsynth.pipelines.qwen_image import QwenImagePipeline, ModelConfig, ControlNetInput
from PIL import Image
import torch
from modelscope import dataset_snapshot_download


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"),
        ModelConfig(model_id="DiffSynth-Studio/Qwen-Image-Blockwise-ControlNet-Canny", origin_file_pattern="model.safetensors"),
    ],
    tokenizer_config=ModelConfig(model_id="Qwen/Qwen-Image", origin_file_pattern="tokenizer/"),
)

dataset_snapshot_download(
    dataset_id="DiffSynth-Studio/example_image_dataset",
    local_dir="./data/example_image_dataset",
    allow_file_pattern="canny/image_1.jpg"
)
controlnet_image = Image.open("data/example_image_dataset/canny/image_1.jpg").resize((1328, 1328))

prompt = "一只小狗，毛发光洁柔顺，眼神灵动，背景是樱花纷飞的春日庭院，唯美温馨。"
image = pipe(
    prompt, seed=0,
    blockwise_controlnet_inputs=[ControlNetInput(image=controlnet_image)]
)
image.save("image.jpg")
```
