# 三商品发布短片：可复现的后期拼装练习

本包提供三张自行绘制的 SVG 商品示意图，品牌 ARC / 形物练习系列为虚构练习品牌。素材不是真实商品实拍、模型生成视频，也不能证明商品功能。成片 MP4 是持续标注说明的本地静帧剪辑。MiniMax H3 生成阶段**没有执行**。

## 01. 输入清单与命名

三个镜头分开：`01-lamp-overview` 台灯整体、`02-bottle-detail` 水瓶细节、`03-pouch-context` 收纳包场景。每镜有 SVG 源文件与 PNG 首帧；`manifest.json` 记录目的和中英待测试提示词。真实发布要换自己的合法素材与审核文案。插画换成实拍时，必须同步改写提示词中的插画风格与商品细节，不能直接沿用。

`end-card.en.svg`、`end-card.zh.svg` 是保留文字节点的可编辑结束字卡，只含虚构练习文案。真实品牌、日期、价格与性能须另行核实，不能从模型画面推断。`demo-disclosure-overlay.svg` 为整段示范说明层。

## 02. 可选模型生成阶段：此处未执行

每件商品单独准备图生视频任务，只上传**该镜头自己的**首帧。不要把三商品一起传入单一首帧，也不要求一件商品变形成另一件。手动提交前确认当前控制项与费用。接受的片段按镜头 ID 命名，保留任务和版本信息，对照授权来源检查可见轮廓。本地示范用静帧代替这些尚未执行的模型片段。

## 03. 复现本地拼装

需要 Python 3 与支持 libx264 的 FFmpeg。配套 PNG 可直接使用；修改 SVG 后，需在矢量编辑器重新导出 PNG。另附可调用现有 Sharp 安装的 `render-assets.mjs`，本包不会安装依赖。

```sh
python3 assemble-demo.py --ffmpeg /path/to/ffmpeg --language zh --output-dir my-demo
```

脚本生成整体、细节、场景、结束字卡四段静帧，各 3 秒，使用硬切，无平移假动画、无声音；所有段落叠加示范说明。导出为 1280×720、24fps、H.264，随后完整解码，检查 288 帧与 12 秒，提取四张关键帧，把 SHA-256 和结果写入 `execution-receipt.json`。临时片段自动清理。重跑使用新输出目录，或明确传入 `--overwrite`。

修改 SVG 后，可用现有 Sharp 转为 PNG：

```sh
node render-assets.mjs --sharp-module /path/to/existing/node_modules/sharp
```

真实视频剪辑先审核三份独立生成或实拍的片段，保留镜头 ID，按交付要求裁剪，再在剪辑软件放入准确字卡。示范每段 3 秒是**本地夹具时间**，不是承诺的模型设置，也不是通用发布尺寸。

## 04. 最终验收与交接

检查关键帧并完整播放 MP4。在正常观看大小下读结束字卡，确认没有缺字或裁切。用 `shot-list.csv` 对照镜头顺序，用 `export-checklist.csv` 检查真实交付。交接源插画、PNG、审核文案、通过的片段 ID、剪辑与导出设置、最终回执。夹具没有音轨；真实成片是否无声仍需播放导出文件确认。

生成片段外形改变时，替换片段，不用字幕盖住商品错误。镜头串入其他商品时，重新分开任务和素材清单。字卡缺字时，换包含所需字符的字体并重新导出。无法解码时，检查 FFmpeg 报错和输入 PNG，不把失败文件改后缀充当 MP4。
