fix: improve scale adjust annotation guide

This commit is contained in:
134 2026-06-24 11:35:49 +08:00
parent 07d081f838
commit 91a855c041

View File

@ -931,7 +931,7 @@ function buildScaleAdjustPrompt(
"这是一项局部主体比例 inpaint/edit 任务,不是整图缩放、整图裁切或重新构图任务。",
sourceSizeLine,
"输入图片1是原始干净图,也是最终输出必须继承的唯一画面基底。除目标主体尺寸变化与必要背景补全外,输入图片1中的文字、Logo、装饰、排版、背景、光线、构图边界和所有未选区域必须保持不变。",
"输入图片2是白底选区参考图,只用于说明输入图片1上的红色实线框、青色目标虚线框和四角箭头关系;它不包含场景内容,不是输出底图,不得学习或复刻它的框线、箭头、编号、角点、半透明遮罩或 UI 标记。",
"输入图片2是输入图片1的标注副本,直接在原始图上叠加了红色实线框、青色目标虚线框和四角箭头,只用于让你读取目标主体的当前位置、目标大小和目标位置;输入图片2不是输出底图,不得学习或复刻它的框线、箭头、编号、角点、半透明遮罩或 UI 标记。",
cropLines
? `输入图片3及之后是框选区域的干净局部裁切参考图,作用是帮助你确认“要缩放的是哪个主体”。这些裁切图不是输出底图,不得被整体放大、贴回或覆盖到原图上。\n${cropLines}`
: "",
@ -1099,16 +1099,7 @@ export async function POST(request: NextRequest) {
regions,
width: sourceWidth,
});
const annotatedBase = isScaleAdjustOperation
? sharp({
create: {
background: "#ffffff",
channels: 3,
height: sourceHeight,
width: sourceWidth,
},
})
: sharp(sourceBuffer, { failOn: "none" });
const annotatedBase = sharp(sourceBuffer, { failOn: "none" });
const annotatedBuffer = await annotatedBase
.composite([{ input: annotationSvg, left: 0, top: 0 }])
.png({ compressionLevel: 6 })
@ -1194,7 +1185,7 @@ export async function POST(request: NextRequest) {
annotatedReferenceUrl: annotatedUpload.url,
annotatedReferenceSentToModel: isScaleAdjustOperation,
annotatedReferenceType: isScaleAdjustOperation
? "white-source-target-arrow-guide"
? "source-target-arrow-overlay"
: "source-overlay",
cleanSourceReferenceIndex: 1,
configuredDetailModelId: configuredDetailModel || null,
@ -1218,7 +1209,7 @@ export async function POST(request: NextRequest) {
scaleAdjustTargetRegionCount: regions.filter((region) => region.targetRect)
.length,
scaleAdjustPromptStrategy: isScaleAdjustOperation
? "locked-plate-local-subject-target-box-arrows-v5"
? "locked-plate-local-subject-target-box-arrows-v6"
: undefined,
scaleAdjustPostCompositeApplied: false,
scaleAdjustUsesFullFrameOutput: isScaleAdjustOperation,