From 3828ec792d41fa9737d498bc54e216291ae93df5 Mon Sep 17 00:00:00 2001 From: 134 Date: Tue, 7 Jul 2026 19:57:36 +0800 Subject: [PATCH] fix: honor fal scale adjust mask requests --- app/api/canvas/local-edit/route.ts | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/api/canvas/local-edit/route.ts b/app/api/canvas/local-edit/route.ts index d7e12b77a..a10e040e1 100644 --- a/app/api/canvas/local-edit/route.ts +++ b/app/api/canvas/local-edit/route.ts @@ -471,6 +471,16 @@ function resolveScaleAdjustPreferredModelId(params: { const maskCapableGptImage2 = gptImage2Candidates .filter(isScaleAdjustMaskCapableModel) .filter((entry) => entry.model.healthStatus !== "auto_disabled"); + const requestedMaskCapableGptImage2 = requestedModel + ? maskCapableGptImage2.find( + (entry) => + entry.model.id === requestedModel.model.id || + entry.model.modelId === requestedModel.model.modelId + ) + : null; + if (requestedMaskCapableGptImage2) { + return requestedMaskCapableGptImage2.model.id; + } if (maskCapableGptImage2[0]) { return maskCapableGptImage2[0].model.id; } @@ -5410,11 +5420,22 @@ export async function POST(request: NextRequest) { } catch (error) { scaleAdjustPatchReferenceFailed = true; console.warn( - "[Canvas Local Edit] Scale adjust patch reference failed; falling back to source-only coordinate prompt:", + "[Canvas Local Edit] Scale adjust patch reference failed:", { error: error instanceof Error ? error.message : String(error), + structureLockedPatchWorkflow: useScaleAdjustStructureLockedPatchWorkflow, } ); + if (useScaleAdjustStructureLockedPatchWorkflow) { + return NextResponse.json( + { + success: false, + error: + "比例调整参考图上传失败,请稍后重试;已停止本次生成以避免返回无效结果。", + }, + { status: 503 } + ); + } } } const shouldCreateScaleAdjustCropReferences =