diff --git a/.memory/worklog.json b/.memory/worklog.json index fcd8e58..e0d5914 100644 --- a/.memory/worklog.json +++ b/.memory/worklog.json @@ -2461,6 +2461,19 @@ "message": "auto-save 2026-05-13 21:40 (~6)", "hash": "97d6104", "files_changed": 6 + }, + { + "ts": "2026-05-13T21:46:40+08:00", + "type": "commit", + "message": "auto-save 2026-05-13 21:46 (~3)", + "hash": "3c564e1", + "files_changed": 3 + }, + { + "ts": "2026-05-13T13:49:31Z", + "type": "session-heartbeat", + "message": "Codex 会话活跃 · 最近命令:codex · 2 项未提交变更 · 最近提交:auto-save 2026-05-13 21:46 (~3)", + "files_changed": 2 } ] } diff --git a/docs/source-analysis.html b/docs/source-analysis.html index 358547b..b3d842a 100644 --- a/docs/source-analysis.html +++ b/docs/source-analysis.html @@ -830,6 +830,17 @@ api/main.py

变更记录

这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。

+
+
+

2026-05-13 · 允许骨骼人使用按摩仪后状态变好

+ Prompt +
+
+

问题:本轮参考素材的主体可能是人形骷髅/透明骨骼人,不应被提示词强行替换成普通真人;核心是“用了 SKG 颈部按摩仪后状态变好”。

+

改动:prompt 允许保留人形骷髅作为视觉隐喻,要求正确佩戴 U 形颈部按摩仪,并通过从僵硬/揉脖子/疲惫到抬头/肩颈舒展/放松来表现状态改善;同时禁止恐怖化、血腥化或夸大医疗治愈。

+

影响:web/app/page.tsx

+
+

2026-05-13 · 生视频提示词改为产品图优先

diff --git a/web/app/page.tsx b/web/app/page.tsx index 515b648..dd1a762 100644 --- a/web/app/page.tsx +++ b/web/app/page.tsx @@ -254,15 +254,22 @@ export default function Home() { ? `参考元素:${frame.description.objects.slice(0, 6).map((o) => o.name).join("、")}` : "" const subjectDirection = scene.subject?.trim() - || "保留首尾帧里的主体位置、手部动作关系和镜头调度,但人物/主体必须服务于 SKG 产品演示;不要保留医疗骨架、竞品或原视频人物设定,除非用户明确写了要保留。" + || "保留首尾帧里的主体位置、手部动作关系和镜头调度;如果参考主体是人形骷髅、透明骨骼人或卡通骨骼角色,可以保留为视觉隐喻,让它正确佩戴 SKG 颈部按摩仪后状态变好。不要做恐怖、血腥或严肃医疗治疗画面。" const productDirection = scene.product?.trim() || "以已上传 SKG 产品图为唯一产品真源,把参考视频或首尾帧里的任何非 SKG 产品替换成该产品;产品轮廓、颜色、材质、按键/接口/包装比例必须稳定,不要变成其他物体。" const sceneDirection = scene.scene?.trim() || "借鉴参考画面的构图、可信感和空间层次,但改造成适合 SKG 产品广告的现代家居、办公或零售场景。" const actionDirection = scene.action?.trim() || "按首帧到尾帧做平滑过渡,动作连续自然,镜头运动稳定,最后准确停在尾帧意图。" + const productNature = [ + "产品性质:这是 SKG 白色 U 形可穿戴颈部/肩颈按摩仪,不是药品、护肤品、饮料、瓶罐、医疗器械镜头道具或普通项链。", + "正确使用方式:产品应佩戴/环绕在人的脖子和肩颈位置,U 形机身落在肩颈两侧,内侧金属按摩触点贴合后颈或肩颈肌肉区域。", + "可表现的交互:手拿起产品、展开并戴到脖子上、轻按侧边圆形按键/控制区、轻微调整贴合位置、闭眼放松、肩颈从紧绷变舒展。", + "效果表达:使用后状态变好,表现为颈肩放松、姿态更自然、表情舒缓、精神恢复;如果主体是人形骷髅,可以通过放下揉脖子的手、抬头、肩颈舒展、表情/动作变轻松来表现改善。不要表现治愈疾病、骨骼修复、皮肤祛痘或夸张医疗效果。", + ].join("\n") const prompt = [ `竖屏 9:16,${duration.toFixed(1)} 秒,SKG 产品短视频广告。`, + productNature, productRefs.length ? `已上传 ${productRefs.length} 张 SKG 真实产品参考图。产品参考图是唯一产品真源:视频中出现的产品必须严格匹配这些图的外观、颜色、材质、结构比例和关键细节。` : "未上传产品图时,仍需生成一个干净高级的 SKG 产品广告画面,但不得保留原视频里的竞品包装或平台元素。", @@ -272,7 +279,7 @@ export default function Home() { "如果提供了原视频链接,把它只作为节奏、镜头运动、动作顺序和画面调度参考;不要照搬原视频里的品牌、文字、水印、竞品产品或具体人物。", "时间线:0%-15% 锁住首帧构图并轻微启动;15%-85% 做平滑连续运动;85%-100% 缓慢贴近尾帧并稳定收住。", `主体改造:${subjectDirection}`, - `产品替换:${productDirection}`, + `产品替换:${productDirection} 产品必须作为颈部/肩颈按摩仪被正确佩戴或展示,不要放在脸上、手臂上、桌面当摆件,也不要变成瓶子、面霜、医疗设备或食品。`, `场景改造:${sceneDirection}`, `连续动作和镜头:${actionDirection}`, `首帧:${labelOf(firstRef, "当前分镜关键帧")}`, @@ -281,8 +288,9 @@ export default function Home() { sourceScene, sourceStyle, sourceObjects, - "产品一致性要求:整个视频只能出现同一个 SKG 产品或同一套产品包装;不要生成第二种产品,不要改变 logo/形状/颜色,不要凭空增加按钮、屏幕、线缆、文字标签或说明书。", - "产品呈现要求:至少一次让产品清晰占据画面视觉中心,边缘清楚、材质真实、比例可信;手部接触产品时不要遮挡关键外观,产品不能融化、扭曲、穿帮或漂移。", + "产品一致性要求:整个视频只能出现同一个白色 U 形 SKG 颈部按摩仪或同一套包装;不要生成第二种产品,不要改变 U 形机身、金属按摩触点、侧边按键、白色材质和整体比例,不要凭空增加屏幕、线缆、文字标签或说明书。", + "产品呈现要求:至少一次让产品在脖子/肩颈位置清晰占据视觉中心,边缘清楚、材质真实、比例可信;手部接触产品时不要遮挡关键外观,产品不能融化、扭曲、穿帮或漂移。", + "状态改善要求:画面应形成明确的使用前后感受变化:使用前可以是低头久坐、揉脖子、肩颈疲惫或紧绷;使用后变为肩颈放松、抬头、动作舒展、精神更好。人形骷髅也可以表现为从僵硬难受变轻松放松。表达舒缓和放松,不要承诺治疗。", "运动要求:动作幅度小而连续,速度均匀,手部和产品位置前后一致,产品外形不变形,人物表情和姿态不漂移,背景只允许轻微景深和光影变化。", "商业质感:真实拍摄感,干净高级,柔和稳定打光,产品边缘清晰,材质真实,画面无抖动、无拉伸、无闪烁。", "禁止:字幕、文字、平台 UI、TikTok 水印、logo 水印、免责声明、竞品包装、随机新物体、非 SKG 产品、医学骨架、夸张病症画面、恐怖元素、画面撕裂、人物或产品突然变形。",