Skip to content

fix(generation): record and recall SD 3 text encoders - #10228

Open
renningg wants to merge 1 commit into
invoke-ai:mainfrom
renningg:fix/sd3-encoder-metadata
Open

renningg wants to merge 1 commit into
invoke-ai:mainfrom
renningg:fix/sd3-encoder-metadata

Conversation

@renningg

@renningg renningg commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

SD 3 images generated with separate text encoders lose those selections on recall. Canvas and Generate now save the T5, CLIP-L and CLIP-G overrides sent to the SD 3 loader. Recall all and Remix restore each compatible installed encoder, including when the same SD 3 model is already selected.

Related Issues / Discussions

Closes #9981

QA Instructions

  1. Select an SD 3 model with separate T5, CLIP-L and CLIP-G encoders and generate an image.
  2. Change the encoder selections, then use Recall all or Remix on the image. The Components section restores the recorded encoders.
  • 772 focused tests passed across Canvas graph compilation, Generate and image recall.
  • Chromium with a mock server restored all three selections from image metadata, then sent the same encoder IDs to the loader and metadata in the Canvas queue request. The backend metadata invocation also preserved all three IDs.
  • pnpm check:release passed formatting, lint and TypeScript. At the unit stage, 13,238 tests passed and two macOS shortcut assertions failed, in shortcut hints and command palette entries. Both failures reproduce on clean upstream 02e3ee0e5b. The later release stages did not run.
  • SD 3 inference was not run.
T5, CLIP-L, and CLIP-G restored in the Canvas Generate panel

Review

The SD 3 graph reads the encoder identifiers from the loader it just built. Recall uses the existing installed-model and slot checks. Older records without encoder fields retain their current compatible selections.

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)

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

Store the T5, CLIP-L and CLIP-G overrides used by the SD 3 loader and restore compatible installed components on image recall.
@github-actions github-actions Bot added the frontend PRs that change frontend files label Nov 10, 2026
@Pfannkuchensack

Copy link
Copy Markdown
Member

I don’t want to stop you from fixing bugs, but we’ve just discussed this as a team and would like to approach the matter in a more comprehensive way. Are you on discord so we can share our plan on that with you?

@renningg

Copy link
Copy Markdown
Contributor Author

Thanks for reaching out. I don't have Discord, but I'd be happy to discuss the team's plan. Do you use Telegram, or is there another platform where we could coordinate?

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

frontend PRs that change frontend files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[enhancement]: Record SD 3 text encoders in image metadata for recall

2 participants