Skip to content

Qwen Image Edit Support#12164

Merged
yiyixuxu merged 3 commits into
huggingface:mainfrom
naykun:main
Aug 17, 2025
Merged

Qwen Image Edit Support#12164
yiyixuxu merged 3 commits into
huggingface:mainfrom
naykun:main

Conversation

@naykun

@naykun naykun commented Aug 16, 2025

Copy link
Copy Markdown
Contributor

This pull request introduces support for Qwen Image Edit.

For additional information, please visit the Qwen-Image repository .
If you find our work beneficial, we kindly encourage you to star the repository, which will help accelerate the release of the checkpoint.

cc @yiyixuxu @a-r-r-o-w

add qwen-image-edit support

@a-r-r-o-w a-r-r-o-w left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @naykun!

Comment thread src/diffusers/pipelines/__init__.py Outdated
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage.py
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_img2img.py
self.register_buffer("neg_freqs", neg_freqs, persistent=False)

# 是否使用 scale rope
# DO NOT USING REGISTER BUFFER HERE, IT WILL CAUSE COMPLEX NUMBERS LOSE ITS IMAGINARY PART

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @sayakpaul for review of rope changes

@naykun We refactored the RoPE logic in #12061 to make it compatible with torch.compile. Would you be able to add the relevant changes for QwenEdit with the current implementation?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the latest commit, I have refactored the code as described in #12061.
Please kindly review and let me know if it looks good. Local testing confirms that it correctly generates images.

Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py Outdated
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py Outdated
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py

@yiyixuxu yiyixuxu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aweesome! thank you!

Comment thread src/diffusers/models/transformers/transformer_qwenimage.py
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py
Comment thread src/diffusers/pipelines/qwenimage/pipeline_qwenimage_edit.py Outdated
- compatible with torch.compile in new rope setting
- fix init import
- add prompt truncation in img2img and inpaint pipe
- remove unused logic and comment
- add copy statement
- guard logic for rope video shape tuple
@naykun naykun requested review from a-r-r-o-w and yiyixuxu and removed request for a-r-r-o-w August 17, 2025 02:56
@HuggingFaceDocBuilderDev

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

- make fix-copies
- update doc

@yiyixuxu yiyixuxu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!
Will merge now!
(Not sure if the RoPE refactor works completely - I think we need to test for recompilation, but that can be updated and reviewed in a follow-up PR, cc @a-r-r-o-w)

@yiyixuxu yiyixuxu merged commit e682af2 into huggingface:main Aug 17, 2025
10 of 11 checks passed
@TuanNT-ZenAI

Copy link
Copy Markdown
Contributor

hi @naykun, where do you find PREFERRED_QWENIMAGE_RESOLUTIONS? Are you basing it solely on FluxKontext?

@naykun

naykun commented Aug 17, 2025

Copy link
Copy Markdown
Contributor Author

hi @naykun, where do you find PREFERRED_QWENIMAGE_RESOLUTIONS? Are you basing it solely on FluxKontext?

Hi @TuanNT-ZenAI , while Qwen-Image-Edit was trained on multiple resolutions, we find that the resolution settings from FluxKontext offer a reliable and consistent baseline for inference. These defaults may be refined in future updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants