Skip to content

Commit ca5f233

Browse files
committed
add qwen-image-edit-controlnet
1 parent f5c113e commit ca5f233

File tree

6 files changed

+1129
-1
lines changed

6 files changed

+1129
-1
lines changed

src/diffusers/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,7 @@
512512
"PixArtSigmaPipeline",
513513
"QwenImageControlNetInpaintPipeline",
514514
"QwenImageControlNetPipeline",
515+
"QwenImageEditControlNetPipeline",
515516
"QwenImageEditInpaintPipeline",
516517
"QwenImageEditPipeline",
517518
"QwenImageImg2ImgPipeline",
@@ -1166,6 +1167,7 @@
11661167
PixArtSigmaPipeline,
11671168
QwenImageControlNetInpaintPipeline,
11681169
QwenImageControlNetPipeline,
1170+
QwenImageEditControlNetPipeline,
11691171
QwenImageEditInpaintPipeline,
11701172
QwenImageEditPipeline,
11711173
QwenImageImg2ImgPipeline,

src/diffusers/models/transformers/transformer_qwenimage.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,9 @@ def forward(
639639
if controlnet_block_samples is not None:
640640
interval_control = len(self.transformer_blocks) / len(controlnet_block_samples)
641641
interval_control = int(np.ceil(interval_control))
642-
hidden_states = hidden_states + controlnet_block_samples[index_block // interval_control]
642+
sample = controlnet_block_samples[index_block // interval_control]
643+
sample_size = min(sample.size(1), hidden_states.size(1))
644+
hidden_states[:, :sample_size] = hidden_states[:, :sample_size] + sample[:, :sample_size]
643645

644646
# Use only the image part (hidden_states) from the dual-stream blocks
645647
hidden_states = self.norm_out(hidden_states, temb)

src/diffusers/pipelines/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@
394394
"QwenImageInpaintPipeline",
395395
"QwenImageEditPipeline",
396396
"QwenImageEditInpaintPipeline",
397+
"QwenImageEditControlNetPipeline",
397398
"QwenImageControlNetInpaintPipeline",
398399
"QwenImageControlNetPipeline",
399400
]
@@ -717,6 +718,7 @@
717718
from .qwenimage import (
718719
QwenImageControlNetInpaintPipeline,
719720
QwenImageControlNetPipeline,
721+
QwenImageEditControlNetPipeline,
720722
QwenImageEditInpaintPipeline,
721723
QwenImageEditPipeline,
722724
QwenImageImg2ImgPipeline,

src/diffusers/pipelines/qwenimage/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
_import_structure["pipeline_qwenimage_controlnet"] = ["QwenImageControlNetPipeline"]
2828
_import_structure["pipeline_qwenimage_controlnet_inpaint"] = ["QwenImageControlNetInpaintPipeline"]
2929
_import_structure["pipeline_qwenimage_edit"] = ["QwenImageEditPipeline"]
30+
_import_structure["pipeline_qwenimage_edit_controlnet"] = ["QwenImageEditControlNetPipeline"]
3031
_import_structure["pipeline_qwenimage_edit_inpaint"] = ["QwenImageEditInpaintPipeline"]
3132
_import_structure["pipeline_qwenimage_img2img"] = ["QwenImageImg2ImgPipeline"]
3233
_import_structure["pipeline_qwenimage_inpaint"] = ["QwenImageInpaintPipeline"]
@@ -42,6 +43,7 @@
4243
from .pipeline_qwenimage_controlnet import QwenImageControlNetPipeline
4344
from .pipeline_qwenimage_controlnet_inpaint import QwenImageControlNetInpaintPipeline
4445
from .pipeline_qwenimage_edit import QwenImageEditPipeline
46+
from .pipeline_qwenimage_edit_controlnet import QwenImageEditControlNetPipeline
4547
from .pipeline_qwenimage_edit_inpaint import QwenImageEditInpaintPipeline
4648
from .pipeline_qwenimage_img2img import QwenImageImg2ImgPipeline
4749
from .pipeline_qwenimage_inpaint import QwenImageInpaintPipeline

0 commit comments

Comments
 (0)