@@ -612,6 +612,7 @@
< tbody >
< tr > < td > < code > api/main.py< / code > < / td > < td > FastAPI 单文件后端: 登录会话、状态模型、任务恢复、下载、抽帧、Vision、清洗、元素、分镜、原音频转写/翻译、声音与背景音分析、后续口播改写/TTS、文件返回。< / td > < / tr >
< tr > < td > < code > api/product_library/skg-products< / code > < / td > < td > 内置 SKG 白底产品图库:< code > manifest.json< / code > 记录从桌面产品图筛出的 gallery 白底图和桌面 4 张产品角度图,< code > images/< / code > 存 45 张参考图。< / td > < / tr >
< tr > < td > < code > api/character_library/skg-characters< / code > < / td > < td > 内置相似主体形象库:从桌面 5 套策划形象导入,< code > manifest.json< / code > 记录运动阳光男、都市型男、优雅白领女、运动辣妹、绅士大叔,每套含 7 张透明骨架参考图,用于相似主体高清视图包的创意方向选择。< / td > < / tr >
< tr > < td > < code > jobs/< jobId> /state.json< / code > < / td > < td > 运行时状态文件,不在源码列表里,但刷新恢复依赖它。< / td > < / tr >
< tr > < td > < code > jobs/< jobId> /audio.wav< / code > < / td > < td > 拆轨得到的原始音频,当前只作为后端分析和后续必要预览的只读文件来源;主界面不再默认渲染底部音频条。< / td > < / tr >
< tr > < td > < code > jobs/< jobId> /frames< / code > < / td > < td > 关键帧 jpg。注意 frame.index 是稳定 ID, 不等于数组下标。< / td > < / tr >
@@ -626,7 +627,7 @@
web/app/page.tsx
-> 信息流广告复刻工作表: web/components/ad-recreation-board.tsx
-> 开始:创建/激活 job → 下载完成后自动触发音频处理
-> 左侧素材输入列 + 右侧默认折叠的文案依据 + 源视频工作区(音频解析结果默认折叠,竖版 9:16 原视频播放器内可当前点抽帧,右侧上方连续响度波形显示当前/总时长/指针停点,右侧下方逐句时间轴联动滚动,参考帧池在下方多列铺开且主入口为“自动抽帧 12 张”,相似主体 6 白底 视图生成按钮放在视图区;不勾选帧则默认用全部帧,勾选后只用已选帧)
-> 左侧素材输入列 + 右侧默认折叠的文案依据 + 源视频工作区(音频解析结果默认折叠,竖版 9:16 原视频播放器内可当前点抽帧,右侧上方连续响度波形显示当前/总时长/指针停点,右侧下方逐句时间轴联动滚动,参考帧池在下方多列铺开且主入口为“自动抽帧 12 张”,相似主体高清 视图包 生成按钮放在视图区;不勾选帧则默认用全部帧,勾选后只用已选帧,可叠加 5 套内置形象 )
-> 信息流复刻分镜工作台:同一产品素材池不限量上传 → 自动识别视角 / 背景 / 用途 / 风险 → 人工检查备注 → 单条生成自动挑选最多 6 张相关产品图 → 逐句时间轴 → 原内容 / 新口播文案 / 画面规划与产品融入 / 6 个候选视频槽
-> 底部音频条:不再渲染,音频结果集中到右侧工作表
-> 旧节点/深度素材面板: web/components/nodes/index.tsx、web/components/lightbox.tsx、web/components/storyboard-workbench.tsx( 底层保留, 当前不作为主入口)
@@ -650,7 +651,7 @@ api/main.py
< div class = "flow-row" >
< div > < strong > 你看到的区域< / strong > < span > 音频解析结果表< / span > < / div >
< div > < strong > 主要源码< / strong > < span > < code > AudioIntakePanel< / code > / < code > SourceReferenceBuildPanel< / code > in < code > web/components/ad-recreation-board.tsx< / code > ;复用 < code > triggerTranscribe< / code > 、< code > AudioScript< / code > 、< code > analyzeJob< / code > 、< code > addManualFrame< / code > 、< code > deleteFrame< / code > 和 < code > generateSubjectAssets< / code > 。< / span > < / div >
< div > < strong > 适合怎么描述< / strong > < span > “竖版原视频尺寸、播放器内当前播放点手动抽帧、自动抽帧 12 张入口、关键帧删除、相似主体 6 白底视图 、透明骨架/普通真人主体类型、连续响度波形、逐句时间轴滚动、高亮和跳转联动还需要怎么调整”。< / span > < / div >
< div > < strong > 适合怎么描述< / strong > < span > “竖版原视频尺寸、播放器内当前播放点手动抽帧、自动抽帧 12 张入口、关键帧删除、相似主体高清视图包、内置形象选择 、透明骨架/普通真人主体类型、连续响度波形、逐句时间轴滚动、高亮和跳转联动还需要怎么调整”。< / span > < / div >
< / div >
< div class = "flow-row" >
< div > < strong > 你看到的区域< / strong > < span > 信息流复刻分镜工作台< / span > < / div >
@@ -888,7 +889,7 @@ ProductRefStateItem {
< tr > < td > 应用清洗< / td > < td > < code > POST /cleanup/apply< / code > < / td > < td > < code > applyCleanedFrame< / code > < / td > < td > 物理覆盖 frames/{idx}.jpg, 并备份原图。< / td > < / tr >
< tr > < td > 元素增改删< / td > < td > < code > POST/PATCH/DELETE /elements< / code > < / td > < td > < code > addElement/updateElement/deleteElement< / code > < / td > < td > 让用户修正 Vision 错误,避免候选结果锁死。< / td > < / tr >
< tr > < td > 元素提取< / td > < td > < code > POST /elements/{element_id}/cutout< / code > < / td > < td > < code > cutoutElement< / code > < / td > < td > 调用图像模型生成独立白底素材图,每次累积一张 cutout。< / td > < / tr >
< tr > < td > 主体资产包< / td > < td > < code > POST /elements/{element_id}/subject-assets< / code > < br > < code > DELETE /elements/{element_id}/subject-assets/{asset_id}< / code > < / td > < td > < code > generateSubjectAssets< / code > < br > < code > deleteSubjectAsset< / code > < / td > < td > 根据参考帧重新绘制一个统一主体资产包;前端默认把全部关键帧作为 < code > source_frame_indices< / code > ,如果用户手动选择了关键帧则只传已选帧,后端拼参考板 。当前源视频工作区支持 < code > subject_style=transparent_human< / code > 和 < code > subject_style= source_actor< / code > 两种相似主体:透明骨架人会保持透明/半透明皮肤包裹可见白色骨架,普通真人会保持正常广告演员方向。两种模式都使用 < code > reconstruction_mode=similar< / code > , 最多读取 12 张参考帧,生成 6 张白底视图;后端强制使用 < code > gpt-image-2< / code > ,不再接受前端或环境变量切到其他图片模型,也不做 < code > gpt-image-1.5 < / code > / Gemini fallback; 后端会加身份锁定约束, 统一性别表现、年龄段、体型、材质、风格和视觉身份, 避免六视 图混成不同人物。如果参考帧是竖屏, prompt 会明确要求竖版 9:16 风格画布,落盘也按源帧纵横比归一化。前端白底视图缩略图和关键帧一样,鼠标停留会用顶层浮层放大预览,点击仍打开原图;后端每个 < code > view< / code > 单独调用一次生图,并明确禁止六 视图拼图、contact sheet、多主体、多面板、标签或对比排版, 保证一个视角一张照片。< code > replace_views=true< / code > 时会替换同一视角旧图;删除接口会移除对应 subject asset 记录并删除本地 jpg 文件。< / td > < / tr >
< tr > < td > 主体资产包< / td > < td > < code > POST /elements/{element_id}/subject-assets< / code > < br > < code > DELETE /elements/{element_id}/subject-assets/{asset_id}< / code > < / td > < td > < code > generateSubjectAssets< / code > < br > < code > deleteSubjectAsset< / code > < / td > < td > 根据参考帧和可选内置形象 重新绘制一个统一主体资产包;前端默认把全部关键帧作为 < code > source_frame_indices< / code > ,如果用户手动选择了关键帧则只传已选帧,也可传 < code > character_id< / code > 选择 5 套内置透明骨架形象之一 。当前源视频工作区支持 < code > subject_style=transparent_human< / code > 和 < code > source_actor< / code > 两种相似主体:透明骨架人会保持透明/半透明皮肤包裹可见白色骨架,普通真人会保持正常广告演员方向。两种模式都使用 < code > reconstruction_mode=similar< / code > , 后端最多把 10 张参考图作为独立 < code > image[]< / code > 提交给 < code > gpt-image-2< / code > ,生成默认 10 张 2048 高清白底图:正面、左右 45、左右侧、背面、肩颈正/左右近景、后颈肩背特写。Prompt 明确这是肩颈按摩设备视频素材,要求脖颈、锁骨、肩线、上背和肩胛区域清晰无遮挡;内置形象只作为创意方向,不照抄。后端强制使用 < code > gpt-image-2 < / code > ,不再接受前端或环境变量切到其他图片模型,也不做图片模型 fallback; 后端会加身份锁定约束, 统一性别表现、年龄段、体型、材质、风格和视觉身份, 避免整套 图混成不同人物。如果参考帧是竖屏, prompt 会明确要求竖版 9:16 风格画布,落盘也按源帧纵横比归一化。前端白底视图缩略图和关键帧一样,鼠标停留会用顶层浮层放大预览,点击仍打开原图;后端每个 < code > view< / code > 单独调用一次生图,并明确禁止多 视图拼图、contact sheet、多主体、多面板、标签或对比排版, 保证一个视角一张照片。< code > replace_views=true< / code > 时会替换同一视角旧图;删除接口会移除对应 subject asset 记录并删除本地 jpg 文件。< / td > < / tr >
< tr > < td > 首尾帧资产< / td > < td > < code > POST /frames/{idx}/scene-asset< / code > < / td > < td > < code > generateSceneAsset< / code > < / td > < td > 同一接口兼容旧场景图和新首尾帧;新流程传 < code > asset_role=first_frame/last_frame< / code > ,后端走文字生图,参考帧只用于理解透明骨架人形象、比例、机位和光线,生成结果仍保存在 < code > scene_assets< / code > 并自动填入产品融合镜头。< / td > < / tr >
< tr > < td > 产品图库< / td > < td > < code > GET /product-library/skg< / code > < / td > < td > < code > listProductLibrary< / code > < / td > < td > 读取内置 SKG 白底图库 manifest, 返回产品标题、品类、尺寸、白底评分和预览图 URL。< / td > < / tr >
< tr > < td > 产品图入库到 job< / td > < td > < code > POST /jobs/{id}/assets< / code > 、< code > POST /jobs/{id}/assets/product-library< / code > < / td > < td > < code > uploadStoryboardAsset< / code > 、< code > copyProductLibraryAsset< / code > < / td > < td > 上传产品图或把内置产品图库条目复制为当前 job 的普通 asset。后端统一生成最长边 1600px、JPEG 92 的 AI 工作副本,透明底铺白,过大/过小图片会在 < code > ImageRef.asset_meta< / code > 里返回转换动作和风险;黑底/白底背景本身不强行转换。注意该接口只写图片文件,产品素材池列表另由 < code > PUT /jobs/{id}/product-refs< / code > 持久化。< / td > < / tr >
@@ -1004,6 +1005,19 @@ ProductRefStateItem {
< h2 > 变更记录< / h2 >
< p > 这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。< / p >
< div class = "changelog" >
< article class = "change" >
< header >
< h3 > 2026-05-18 · 相似主体升级为内置形象 + 肩颈高清视图包< / h3 >
< span class = "tag violet" > API< / span >
< span class = "tag rose" > UI< / span >
< span class = "tag cyan" > Workflow< / span >
< / header >
< div class = "body" >
< p > < strong > 问题:< / strong > 相似主体仍按“6 视图”理解,只覆盖全身角度;肩颈按摩设备需要更清晰的脖颈、肩线、后颈和上背特写。桌面已有 5 套策划好的透明骨架形象,但主工作表没有提供内置形象选择。< / p >
< p > < strong > 改动:< / strong > < code > SourceReferenceBuildPanel< / code > 在“相似主体白底视图”中加入 5 套内置形象选择,默认仍可走源视频相似,选择内置形象后把 < code > character_id< / code > 传给 < code > generateSubjectAssets< / code > 。主体生成默认请求 10 张 < code > 2048< / code > 高清图,包含全身多视角、肩颈正/左右近景和后颈肩背特写。后端不再把主体多参考图拼成参考板,而是把内置形象图和关键帧作为独立 < code > image[]< / code > 交给 < code > gpt-image-2< / code > ,并在 prompt 中明确“创新变体,不照抄”。< / p >
< p > < strong > 影响:< / strong > < code > api/main.py< / code > 、< code > web/lib/api.ts< / code > 、< code > web/components/ad-recreation-board.tsx< / code > 、< code > RULES.md< / code > 、< code > docs/source-analysis.html< / code > 。后续描述这个功能时应叫“相似主体高清视图包”,不要再只说 6 视图。< / p >
< / div >
< / article >
< article class = "change" >
< header >
< h3 > 2026-05-18 · 产品视角识别切到 gpt-image-2 并重做补图参考选择< / h3 >