From b8efd6b09659494d86a90a5f55d470818863361c Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 18 Jan 2026 22:03:06 +0800 Subject: [PATCH] fix: optimize scene fusion prompts - use 'reference' approach for better product preservation --- app/api/scene-fusion/route.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/api/scene-fusion/route.ts b/app/api/scene-fusion/route.ts index 05fbe061e..672e9dcdd 100644 --- a/app/api/scene-fusion/route.ts +++ b/app/api/scene-fusion/route.ts @@ -31,8 +31,8 @@ const sceneFusionRequestSchema = z.object({ })).min(1, "至少需要一个场景图").max(20, "最多支持20个场景图"), }); -// 默认提示词(当数据库未配置时使用)- 优化版本,强调保持产品原样 -const FALLBACK_PROMPT = "严格按照图1产品的原始形状、尺寸比例、颜色、材质和所有细节,将其完整地放置到图2的场景中。禁止对产品进行任何变形、拉伸、压缩或颜色改变。产品必须与图1完全一致,只改变其所处的环境背景。"; +// 默认提示词(当数据库未配置时使用)- 使用"参考"的表述方式 +const FALLBACK_PROMPT = "请参考第一张图片中的产品,将其自然地融合到第二张图片的场景中。要求:1)保持产品的整体外观、颜色、形状和设计风格与第一张图一致;2)调整产品的大小和角度以适应场景;3)注意光影和透视关系使融合自然。"; /** * 获取场景裂变配置 @@ -321,18 +321,18 @@ function buildPrompt( let prompt = defaultPrompt; // 如果用户提供了具体的产品名称和被替换物体名称,构建更精确的提示词 - // 所有模板都强调:严格保持产品原样,禁止变形 + // 使用"参考图1"的表述方式,并强调产品的视觉特征 if (productName && targetName) { - prompt = `严格按照图1中"${productName}"的原始形状、尺寸比例、颜色、材质和所有细节,将其完整地放置到图2场景中,替换掉图2中的"${targetName}"。禁止对"${productName}"进行任何变形、拉伸、压缩或颜色改变。"${productName}"必须与图1完全一致。`; + prompt = `请参考第一张图片中的${productName},将其自然地融合到第二张图片的场景中,替换掉场景中的${targetName}。要求:1)保持${productName}的整体外观、颜色、形状和设计风格与第一张图一致;2)调整${productName}的大小和角度以适应场景;3)注意光影和透视关系使融合自然。`; } else if (productName) { - prompt = `严格按照图1中"${productName}"的原始形状、尺寸比例、颜色、材质和所有细节,将其完整地放置到图2的场景中。禁止对"${productName}"进行任何变形、拉伸、压缩或颜色改变。"${productName}"必须与图1完全一致。`; + prompt = `请参考第一张图片中的${productName},将其自然地融合到第二张图片的场景中。要求:1)保持${productName}的整体外观、颜色、形状和设计风格与第一张图一致;2)调整${productName}的大小和角度以适应场景;3)注意光影和透视关系使融合自然。`; } else if (targetName) { - prompt = `严格按照图1产品的原始形状、尺寸比例、颜色、材质和所有细节,将其完整地放置到图2场景中,替换掉图2中的"${targetName}"。禁止对产品进行任何变形、拉伸、压缩或颜色改变。产品必须与图1完全一致。`; + prompt = `请参考第一张图片中的产品,将其自然地融合到第二张图片的场景中,替换掉场景中的${targetName}。要求:1)保持产品的整体外观、颜色、形状和设计风格与第一张图一致;2)调整产品的大小和角度以适应场景;3)注意光影和透视关系使融合自然。`; } // 添加用户补充的关键词 if (customPrompt) { - prompt = `${prompt} ${customPrompt}`; + prompt = `${prompt} 补充要求:${customPrompt}`; } return prompt;