diff --git a/app/api/canvas/local-edit/route.ts b/app/api/canvas/local-edit/route.ts index 2dd2b7211..40452991d 100644 --- a/app/api/canvas/local-edit/route.ts +++ b/app/api/canvas/local-edit/route.ts @@ -394,8 +394,27 @@ function resolveScaleAdjustPreferredModelId(params: { params.models, params.configuredModelId ); - if (isScaleAdjustUsableImageEditModel(requestedModel)) { - return requestedModel?.model.id || params.requestedModelId; + const gptImage2Candidates = params.models + .filter((entry) => isScaleAdjustUsableImageEditModel(entry)) + .filter((entry) => getScaleAdjustModelFamily(entry) === "gpt-image-2") + .sort((left, right) => + compareScaleAdjustProviderCandidates( + left, + right, + params.requestedModelId || params.configuredModelId + ) + ); + if (gptImage2Candidates[0]) { + return gptImage2Candidates[0].model.id; + } + + if ( + isScaleAdjustUsableImageEditModel(requestedModel) && + requestedModel && + getScaleAdjustModelFamily(requestedModel) !== "nano-banana-2" && + requestedModel.provider.type !== "alibaba-image" + ) { + return requestedModel.model.id || params.requestedModelId; } const autoDetailModel = params.models.find(isScaleAdjustDedicatedDetailModel);