Repository navigation
feat(generate): restore model-family tuning, Krea-2 style reference and output filters - #9809
joshistoast wants to merge 6 commits into
Conversation
…nd output filters FLUX.1 DyPE, Z-Image shift and seed variance, and Qwen-Image shift and encoder quantization reach their denoise and encoder nodes, with metadata and recall. Krea-2 declares a single style reference; the Generate panel compiles it to krea2_style_reference for Generate and every Canvas mode. Project settings add the NSFW checker and invisible watermark, chained after every locally decoded output with the result flags and metadata on the final node.
…hift field The shift override uses the sibling slider pattern so its label is not repeated; its off switch is tested to hand the shift back to the node. Canvas outpaint, the project invoke path, and a Krea-2 record without a reference image are covered; the defaults test names the node-type contract as the real guard.
|
Thanks for this. I ran the PR head ( These compiled to the expected graphs:
The runs I queued finished with metadata and board on the final node. Three things should be fixed before merge. Should fix1. Recall All / Remix doesn't restore DyPE "Off"
Repro:
The seed comes back, but DyPE stays on 4K optimized. Legacy always records The shift has the same gap:
The recall tests all start from default tuning ( 2. The watermark makes masked Canvas output fully opaque
With the watermark on, inpaint and outpaint therefore stage the whole opaque bbox instead of only the masked region. Legacy chains the filter the same way, so the bug is inherited, but this PR puts it on webv2's default Canvas path. The simplest fix is to keep the source alpha in 3. The reference-image type name differs from legacy webv2 uses Smaller issues
Verified fine
Not exercised: an actual NSFW-checker run and a real Canvas inpaint. Finding 2 rests on the backend function and the graph order. |
This comment has been minimized.
This comment has been minimized.
… masks transparent FLUX records DyPE off, and recall restores defaults a same-family record omits; the watermark keeps source alpha. Krea-2 references use the legacy type name, model switches turn off references over the limit, and shift stays within 0.1-10. Filter flags are required, Canvas output takeovers share one helper, and filter, shift and quantization copy is corrected.
…d locale growth Request counts, chunk sets and timing medians are unchanged; only byte fields move. About 43 KB of editor script comes from this branch's model-family tuning and filters, and the rest from its new strings.
|
@Pfannkuchensack ready for a re-review |
Summary
Model-family tuning controls and two output options from the legacy frontend were missing from webv2 Generate and Canvas.
krea2_style_referencefed by the (cropped) image and the model VAE and connected to denoising; strength 0 bypasses it. Krea-2 now advertises one reference image on the backend.img_nsfw/img_watermarkafter the final image of every built-in Generate and Canvas family, keeping the output flags and metadata on the last node.Every control appears only for its model family; graphs at defaults are structurally unchanged. New settings are emitted in metadata and restored by Recall All and Remix.
Related Issues / Discussions
Follows up the legacy parity audit behind #9803.
QA Instructions
From
invokeai/frontend/webv2(Node 22.14, pnpm 10.12):pnpm check:releasepasses. Python:pytest tests/backend/architectures tests/app/invocations/test_frontend_graph_node_types.pypasses.The mock backend's representative profile has only SD 1.x main models, so the per-family controls are covered by browser tests (
GenerateRenderSection,GenerateAdvancedFields) and compile tests. On the mock: open a project → Settings → Project: toggle NSFW checker and Invisible watermark; the Generate graph preview then ends… → img_nsfw → img_watermark. With a real install: select a FLUX.1 model → Render → DyPE = Manual shows λs/λt; Qwen-Image → Advanced → Encoder quantization; Z-Image → Shift override and Seed variance; Krea-2 → add a reference image → Style strength. Generate, then Recall All restores each.Review
No material findings. Reviewers confirmed every field against the backend invocations and the legacy builders, including that DyPE scale/exponent are read only under the manual preset. Follow-ups applied from review: tests for the shift override being turned off, watermark-only Canvas outpaint to a staging destination, the project setting flowing through the normal invoke path, and recall of a style reference whose image is missing; a single "Shift" label; docs naming.
Limitation:
core_metadataat defaults now recordsz_image_shift: 'auto',qwen_image_shift: 'auto',qwen_image_quantization: 'none'and the seed-variance keys, matching legacy; execution nodes are unchanged.Compatibility / Rollout
New generate settings and the two project settings are optional with defaults and normalize on load; no project-document migration. The Krea-2 architecture definition now reports
max_reference_images=1(capabilities fixture regenerated). No API changes.Checklist
What's Newcopy (if doing a release after this PR)🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.