Skip to content

Commit 3473cdc

Browse files
committed
add qwen-image-edit-controlnet
1 parent 78031c2 commit 3473cdc

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
@@ -513,6 +513,7 @@
513513
"PixArtSigmaPipeline",
514514
"QwenImageControlNetInpaintPipeline",
515515
"QwenImageControlNetPipeline",
516+
"QwenImageEditControlNetPipeline",
516517
"QwenImageEditInpaintPipeline",
517518
"QwenImageEditPipeline",
518519
"QwenImageEditPlusPipeline",
@@ -1169,6 +1170,7 @@
11691170
PixArtSigmaPipeline,
11701171
QwenImageControlNetInpaintPipeline,
11711172
QwenImageControlNetPipeline,
1173+
QwenImageEditControlNetPipeline,
11721174
QwenImageEditInpaintPipeline,
11731175
QwenImageEditPipeline,
11741176
QwenImageEditPlusPipeline,

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
@@ -396,6 +396,7 @@
396396
"QwenImageEditPipeline",
397397
"QwenImageEditPlusPipeline",
398398
"QwenImageEditInpaintPipeline",
399+
"QwenImageEditControlNetPipeline",
399400
"QwenImageControlNetInpaintPipeline",
400401
"QwenImageControlNetPipeline",
401402
]
@@ -720,6 +721,7 @@
720721
from .qwenimage import (
721722
QwenImageControlNetInpaintPipeline,
722723
QwenImageControlNetPipeline,
724+
QwenImageEditControlNetPipeline,
723725
QwenImageEditInpaintPipeline,
724726
QwenImageEditPipeline,
725727
QwenImageEditPlusPipeline,

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_edit_plus"] = ["QwenImageEditPlusPipeline"]
3233
_import_structure["pipeline_qwenimage_img2img"] = ["QwenImageImg2ImgPipeline"]
@@ -43,6 +44,7 @@
4344
from .pipeline_qwenimage_controlnet import QwenImageControlNetPipeline
4445
from .pipeline_qwenimage_controlnet_inpaint import QwenImageControlNetInpaintPipeline
4546
from .pipeline_qwenimage_edit import QwenImageEditPipeline
47+
from .pipeline_qwenimage_edit_controlnet import QwenImageEditControlNetPipeline
4648
from .pipeline_qwenimage_edit_inpaint import QwenImageEditInpaintPipeline
4749
from .pipeline_qwenimage_edit_plus import QwenImageEditPlusPipeline
4850
from .pipeline_qwenimage_img2img import QwenImageImg2ImgPipeline

0 commit comments

Comments
 (0)