# 三条重新剪辑的商品样片

本轮重新安排脚本、镜头顺序、字幕和转场。三条独立 MP4，英文画面、无音轨，1080 × 1920、30 fps。保留旧版，不覆盖之前的 20 条。

## 样片与素材分工

| 样片 | 时长 | 原实拍 | 原照片 | AI 动作 |
| --- | ---: | ---: | ---: | ---: |
| 01 原来真是个瓶子 | 20.6 秒 | 16.8 秒 | 3.8 秒 | 无 |
| 02 细节才是记忆点 | 20.4 秒 | 14.9 秒 | 5.5 秒 | 无 |
| 03 把手机放下的片刻 | 20.6 秒 | 16.0 秒 | 1.6 秒 | 3.0 秒 |

以上按分镜主画面的时间计算，转场窗口有短暂叠加。照片段使用原高像素照片推近、拉远或移动，不声称它们是新的实拍动作。

## 脚本与剪辑

### 01：原来真是个瓶子

从闭盖原照片的局部提出 “THAT'S A BOTTLE?”，快速拉远，再用真实已开盖瓶口兑现身份。整体、挂件、渐变、手持转动和放回桌面依次接力。短甩镜用于从整体切向挂件或返回主体；圆形揭示与瓶口呼应，短推近连接不同景别。结尾保留真实放回、松手的动态过程。

### 02：细节才是记忆点

先给真实手部动作，再按颈圈、渐变、编绳和挂件逐一观察。高像素原照片承担实拍没有拍清楚的短特写。圈线绘制在原照片上；运动绳结的标注通过 OpenCV 金字塔 Lucas–Kanade 光流追踪纹理邻域，然后映射到裁切后的画面位置。最后回到完整商品。它是外观细节视频，没有编造材料、尺寸或性能。

### 03：把手机放下的片刻

前 3 秒用 AI 手部拿开手机建立情境，接真实握瓶、瓶口观察、短暂挂件特写和真实放回桌面。原生成视频中的合本子动作未进入最终剪辑。该片是叙事接切，手部、道具和相机并不是同一段连续实拍；没有让 AI 人物直接拿着生成的商品。

## 商品一致性

商品只来自用户提供的 `IMG_0053.HEIC` 与 `IMG_0054.MOV` 对应的本地整理素材。瓶身、渐变、标识、绳结和挂件保持原图像内容。仅做等比例裁切、运镜、时间调整与剪辑，没有镜像、商品重着色、AI 重画或推测隐藏视角。实拍已经开盖，成片没有假装展示拧盖过程。没有生成饮水、倒水、防漏或保温测试。

## 使用的技能、模型与 API 能力

- `tiktok-promo-video`：分镜、剪辑节奏、创意和成片检查。
- `imagegen`：基于原白桌参考生成无商品桌面图，补充手机与本子。内置工具未返回具体的细分模型版本，不猜测型号。
- `video-gen`：通过 ZexAPI `POST /v1/videos` 提交、`GET /v1/videos/{task_id}` 查询与回收，实际模型为 **`veo_3_1-fast-fl`**。使用参考图首帧的图生视频能力，生成无商品手机/手部动作；原始返回 8 秒、720 × 1280、24 fps，成片只选前段约 3 秒。
- 本地 Python / Pillow / OpenCV / FFmpeg：原片裁切、镜头时间映射、字幕入场、动态圈线、短甩镜、圆形揭示、推近转场与 H.264 编码。
- 没有 TTS、配音、音乐或音效。生成素材原有音轨在最终输出时移除。

首帧图片通过已配置的媒体上传接口转换为模型可读取的 URL。没有在项目中保存凭据。模型生成内容仅用于第三条开场，不用于商品本体。

## 检查记录

`verification.json` 保存最终编码文件的逐帧解码、时长、尺寸、帧率、音轨和黑帧检查结果；`browser-verification.json` 保存局域网页面的完整播放、移动端宽度和 HTTP 分段读取结果。二者是交付与播放检查，不代表广告转化效果。

`previews/*-final-review.jpg` 是最终 MP4 的时间标记画面，`previews/*-cut-review.jpg` 是每个切点前、切点中、切点后的画面。源分镜和剪辑参数在 `plans/`，渲染脚本在 `scripts/`。

本轮可评估开场吸引力、剪辑节奏、细节表达和商品一致性；点击率与购买转化仍需真实投放数据。因为原素材没有饮水、倒水或其他功能动作，本轮不验证这些表现。
