diff --git a/app/api/canvas/local-edit/route.ts b/app/api/canvas/local-edit/route.ts index 8ef6533ce..15b2f1810 100644 --- a/app/api/canvas/local-edit/route.ts +++ b/app/api/canvas/local-edit/route.ts @@ -383,6 +383,7 @@ function compareScaleAdjustProviderCandidates( function resolveScaleAdjustPreferredModelId(params: { configuredModelId: string; + honorRequestedModelBeforeGpt?: boolean; requestedModelId: string; models: AiModelWithProviderForSelection[]; }) { @@ -394,6 +395,14 @@ function resolveScaleAdjustPreferredModelId(params: { params.models, params.configuredModelId ); + if ( + params.honorRequestedModelBeforeGpt && + requestedModel && + isScaleAdjustUsableImageEditModel(requestedModel) + ) { + return requestedModel.model.id || params.requestedModelId; + } + const gptImage2Candidates = params.models .filter((entry) => isScaleAdjustUsableImageEditModel(entry)) .filter((entry) => getScaleAdjustModelFamily(entry) === "gpt-image-2") @@ -2303,6 +2312,10 @@ export async function POST(request: NextRequest) { const detailFixedModel = isScaleAdjustOperation ? resolveScaleAdjustPreferredModelId({ configuredModelId: configuredDetailModel, + honorRequestedModelBeforeGpt: hasScaleAdjustEnlargeTarget( + regions, + scalePercent + ), requestedModelId: requestedModel || "", models: scaleAdjustModelCandidates, })