{{ message }}
Repository navigation
Add Qwen-Image 2.1 Turbo as a downloadable model - #1
Merged
Merged
Conversation
ph1lb4
reviewed
Oct 23, 2026
ph1lb4
left a comment
Owner
There was a problem hiding this comment.
Review: OK with notes
The change is small, well scoped and correct. Before merging, someone should do one real download and generation run on an Apple Silicon Mac, since the PR says that hasn't been done.
Verified
- The Diffusers pin
da1d3829cf08d4f329b526d89e17cc035c049d8dis the merge commit of huggingface/diffusers#14950 ("Configure fixed sampling sigmas on QwenImage21Pipeline", merged 2026-10-05). That PR readssample_sigmasfrommodel_index.json, and the grid determines the step count. Qwen/Qwen-Image-2.1-Turboon HF: public, not gated,QwenImage21Pipeline, licenseqwen-research(non-commercial, same as base). Itsmodel_index.jsonships exactly 8sample_sigmas, sodefault_steps=8,total_stepsand the step callback line up. The model is ~32.5 GB withassets/skipped, matchingsize_gb.local_diris derived fromrepo, so base and Turbo install separately (also covered by the test).- Engine: Turbo rejects any explicit
stepsother thanNoneor 8. The base model'sNone→40and clamp behavior are unchanged. The app never sends custom steps for afixedStepsmodel, even ifuseCustomStepswas left on from the base model, and the UI swaps the toggle for an explanatory caption.fixedSteps: Bool?decodes safely against an older backend. - MCP
list_modelsnow exposesdefault_stepsandfixed_steps, and the docstrings are updated. uv.lock: only the diffusers rev changes, plus nvidia marker re-normalisation from a newer uv (Linux and Windows only, so no effect on macOS).- Mergeable: clean. There's no CI on this repo, so the Python tests and Swift build are only as reported in the PR.
Notes (non-blocking)
- Smoke test before merge: download Turbo, run one text-to-image and one edit at
standard, and check that the progress bar reaches 8/8 and the result looks right. The unit test mocks the pipeline, so it can't catch an incompatible scheduler or sigma handling at the pinned rev. - Turbo is a distilled checkpoint. A non-empty negative prompt still sets
true_cfg_scale = cfgScale, which doubles the compute per step and may hurt quality. Consider hiding the negative prompt and CFG forfixedStepsmodels, or forcingcfg_scale = 1.0in the engine. - The downloader follows the HF
mainrevision. If Qwen ever changes the length ofsample_sigmas, the hard-codeddefault_steps=8(and the "fixed 8-step" validation) will disagree with the real step count. Readinglen(sample_sigmas)from the downloadedmodel_index.jsonwould be more robust. That's optional. - The PR comes from the contributor's fork
mainbranch. That's fine to merge, but follow-ups are easier from a topic branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

ImageGen currently offers only Qwen-Image 2.1. This adds Qwen-Image 2.1 Turbo to the existing model picker, download flow and MCP model list, with a separate model directory.
Turbo uses the checkpoint's saved eight-step sampling schedule. The engine rejects incompatible custom step counts, and the app shows the fixed schedule instead of the custom-step controls. Progress and saved metadata use eight steps. The base model retains its default of 40 and its custom-step support.
The Diffusers pin is updated to da1d3829cf08d4f329b526d89e17cc035c049d8d, the merge commit for upstream PR #14950, which adds support for pipeline-configured sampling sigmas. The previous pin lacks this support. The lockfile is regenerated; package versions other than the Diffusers revision remain unchanged.
Validation:
References: