Skip to content

fix(flux3): point the single-file starters at the renamed Comfy files - #10091

Open
Pfannkuchensack wants to merge 3 commits into
invoke-ai:mainfrom
Pfannkuchensack:fix/flux3-starter-urls
Open

Pfannkuchensack wants to merge 3 commits into
invoke-ai:mainfrom
Pfannkuchensack:fix/flux3-starter-urls

Conversation

@Pfannkuchensack

@Pfannkuchensack Pfannkuchensack commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Installing FLUX.3 Klein (single file) or FLUX.3 Klein Base (single file) from the starter models fails with HTTP 404. On 2026-10-17, black-forest-labs/flux-3-image-klein-comfy deleted its underscore-named diffusion models (commit 94a2e33818) after adding the same files under hyphenated names.

Both starters now download diffusion_models/flux3-image-klein-bf16.safetensors and diffusion_models/flux3-image-klein-base-bf16.safetensors, pinned to revision feef60b0aaf63a4773ace96636ebbcf43b881312, so another rename cannot break them. The files are the same LFS objects as before, and as BFL's own model.safetensors (Klein c3e9813c…, Base 5c921759…), so installed models and their hashes do not change.

The FLUX.3 Klein key fixture's docstring named the old file and a local path; it now names the repository paths.

Related Issues / Discussions

Follow-up to #9883.

QA Instructions

  • With a Hugging Face token, curl -I on the old resolve/main/...flux3_image_klein_sd_bf16.safetensors and ...flux3_image_klein_bf16.safetensors returns 404; both new pinned URLs return 302.
  • pytest tests/backend/model_manager/test_starter_models.py tests/backend/model_manager/test_starter_models_package.py tests/backend/model_manager/configs/test_flux3_main_config.py: 30 passed.
  • ruff check and ruff format --check on the changed files: clean.
  • A local copy of the old Klein file hashes to c3e9813cdd049c831c836b2e9db61150e49a93fc1a4c63b256494642fee0bd7c, the LFS oid of the new file.
  • Not run: a full starter install (11 GB); the install path for URL sources is unchanged. No test was added, because it could only assert the URL literal.

Review

No material findings. A model installed from the old URL still shows as installed, because the installed check falls back to name, base and type when the source differs.

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Meaningful regression coverage added / updated where needed; obsolete tests/code removed
  • Persisted-state and API changes include required migrations / compatibility validation
  • Relevant performance/efficiency opportunities considered; material claims have evidence
  • Material review findings resolved and relevant checks rerun
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

The Comfy repository removed the underscore-named FLUX.3 files on 2026-10-17, so both single-file
starters failed with 404. They now download the hyphenated files at a pinned revision.
@github-actions github-actions Bot added python PRs that change python files backend PRs that change backend files python-tests PRs that change python tests labels Nov 1, 2026
@lstein lstein self-assigned this Nov 2, 2026
@lstein lstein added the 7.0.0 label Nov 2, 2026
@lstein lstein moved this to 7.0.0: UX overhaul in Invoke - Community Roadmap Nov 2, 2026
@lstein lstein assigned dunkeroni and unassigned lstein Nov 2, 2026

@joshistoast joshistoast 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.

A nit that I think is worth addressing

base=BaseModelType.Flux3,
source="https://huggingface.co/black-forest-labs/flux-3-image-klein-comfy/resolve/main/diffusion_models/"
"flux3_image_klein_sd_bf16.safetensors",
source="https://huggingface.co/black-forest-labs/flux-3-image-klein-comfy/resolve/feef60b0aaf63a4773ace96636ebbcf43b881312/diffusion_models/flux3-image-klein-bf16.safetensors",

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.

[P3] Renamed existing installations appear uninstalled.

The URL change and line 58 breaks source matching for previously installed models. If the user also renamed the model, get_is_installed() cannot recognize it through its name fallback, offering a redundant ~11 GB download. Recognizing the previous URLs as source aliases would preserve this behavior. Default-name installations remain recognized.

Starters list previous_sources so renamed installs from an old URL are not offered again; FLUX.3 single-file starters use it.
@github-actions github-actions Bot added api frontend PRs that change frontend files labels Nov 3, 2026
@Pfannkuchensack

Copy link
Copy Markdown
Member Author

Fixed in f0be6f6. Starters can now list previous_sources. get_is_installed and the webv2 installed-starter lookup also match an installed model's source against them. Both FLUX.3 single-file starters list their old diffusion_models/ URLs, so an install from the old URL counts as installed even after a rename. Covered by a router test and a vitest case.

This branch has not been deployed

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

Labels

7.0.0 api backend PRs that change backend files frontend PRs that change frontend files python PRs that change python files python-tests PRs that change python tests

Projects

Status: 7.0.0: UX overhaul

Development

Successfully merging this pull request may close these issues.

4 participants