Skip to content

Commit c75c907

Browse files
committed
add qwen-image-edit-controlnet
1 parent efb7a29 commit c75c907

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
"QwenImageImg2ImgPipeline",
@@ -1168,6 +1169,7 @@
11681169
PixArtSigmaPipeline,
11691170
QwenImageControlNetInpaintPipeline,
11701171
QwenImageControlNetPipeline,
1172+
QwenImageEditControlNetPipeline,
11711173
QwenImageEditInpaintPipeline,
11721174
QwenImageEditPipeline,
11731175
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
@@ -395,6 +395,7 @@
395395
"QwenImageInpaintPipeline",
396396
"QwenImageEditPipeline",
397397
"QwenImageEditInpaintPipeline",
398+
"QwenImageEditControlNetPipeline",
398399
"QwenImageControlNetInpaintPipeline",
399400
"QwenImageControlNetPipeline",
400401
]
@@ -719,6 +720,7 @@
719720
from .qwenimage import (
720721
QwenImageControlNetInpaintPipeline,
721722
QwenImageControlNetPipeline,
723+
QwenImageEditControlNetPipeline,
722724
QwenImageEditInpaintPipeline,
723725
QwenImageEditPipeline,
724726
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)