The FLUX.2 Klein PR (b92c6ae63) replaced the user's denoising strength (#8828)

setting with hardcoded full denoising (start=0, end=1) in addOutpaint.
   This caused denoising strength to be completely ignored whenever the
   canvas bbox extended beyond the raster layer content, triggering outpaint
   mode. The issue affected all model types (SDXL, SD1.5, FLUX, etc.).

   Restore the original behavior by reading denoising_start/end from the
   user's img2imgStrength setting via getDenoisingStartAndEnd().

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
This commit is contained in:
Alexander Eichhorn 2026-02-02 01:13:42 +01:00 committed by GitHub
parent f013fa6ff2
commit c072fd8261
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -6,6 +6,7 @@ import { selectCanvasSettingsSlice } from 'features/controlLayers/store/canvasSe
import { selectParamsSlice } from 'features/controlLayers/store/paramsSlice';
import type { Graph } from 'features/nodes/util/graph/generation/Graph';
import {
getDenoisingStartAndEnd,
getInfill,
getOriginalAndScaledSizesForOtherModes,
isMainModelWithoutUnet,
@ -45,12 +46,9 @@ export const addOutpaint = async ({
modelLoader,
seed,
}: AddOutpaintArg): Promise<Invocation<'invokeai_img_blend' | 'apply_mask_to_image'>> => {
// For outpainting, always use full denoising (from pure noise) because:
// - New areas should be fully generated
// - Existing areas are preserved by the inpaint mask
// The strength setting doesn't make sense for outpainting.
denoise.denoising_start = 0;
denoise.denoising_end = 1;
const { denoising_start, denoising_end } = getDenoisingStartAndEnd(state);
denoise.denoising_start = denoising_start;
denoise.denoising_end = denoising_end;
const params = selectParamsSlice(state);
const canvasSettings = selectCanvasSettingsSlice(state);