fix: enable product lock without person guard

This commit is contained in:
134 2026-07-06 07:19:09 +08:00
parent bf8a03cf73
commit fde5661436

View File

@ -2523,6 +2523,7 @@ async function resizeScaleAdjustAlphaMask(params: {
async function buildScaleAdjustRmbgStructureLockedComposite(params: {
placement: ReturnType<typeof getScaleAdjustVisualGuidePlacement>;
preferPixelStructure?: boolean;
protectedPersonSide?: ScaleAdjustProtectedPersonSide | null;
raw: Buffer;
sourceBuffer: Buffer;
@ -2532,6 +2533,7 @@ async function buildScaleAdjustRmbgStructureLockedComposite(params: {
}): Promise<ScaleAdjustStructureLockedComposite | null> {
const {
placement,
preferPixelStructure = false,
protectedPersonSide = null,
raw,
sourceBuffer,
@ -2550,7 +2552,7 @@ async function buildScaleAdjustRmbgStructureLockedComposite(params: {
userId,
imageBase64: sourceCropBuffer.toString("base64"),
imageBuffer: sourceCropBuffer,
prompt: protectedPersonSide
prompt: preferPixelStructure || protectedPersonSide
? "比例调整家具/商品抠图:只保留框选区域内需要缩放的目标家具/商品主体和它本身的配件结构,明确排除非目标人物、手、脚、腿、衣服、书本、身体遮挡物和背景,输出透明背景 PNG"
: "比例调整主体抠图:只保留框选的目标人物/家具/商品主体,输出透明背景 PNG",
skipGallerySave: true,
@ -3114,7 +3116,7 @@ async function buildScaleAdjustStructureLockedComposite(params: {
} = params;
const allowRmbgStructureLock =
process.env.CANVAS_SCALE_ADJUST_ENABLE_RMBG_PRODUCT_LOCK !== "0" &&
((preferPixelStructure && Boolean(protectedPersonSide)) ||
(preferPixelStructure ||
process.env.CANVAS_SCALE_ADJUST_ENABLE_RMBG_STRUCTURE === "1" ||
(includePersonPixels &&
process.env.CANVAS_SCALE_ADJUST_DISABLE_PERSON_RMBG !== "1"));
@ -3122,6 +3124,7 @@ async function buildScaleAdjustStructureLockedComposite(params: {
? null
: await buildScaleAdjustRmbgStructureLockedComposite({
placement,
preferPixelStructure,
protectedPersonSide,
raw,
sourceBuffer,