|
|
@@ -52,6 +52,27 @@ agent_created: true
|
|
|
|
|
|
## 执行流程
|
|
|
|
|
|
+### 任务产物目录约定(每次任务独立归档)
|
|
|
+
|
|
|
+每个任务在 Step 1 收集输入后,即**新建一个独立文件夹**存放该任务全部产物,避免跨任务文件混杂、便于交付与回看。约定如下:
|
|
|
+
|
|
|
+- **基础目录**:工作区内 `beauty-video-materials/`(与技能目录分离,纯产物区)。
|
|
|
+- **任务文件夹**:`beauty-video-materials/<任务短名>/`,`<任务短名>` 由选题/主题派生(如 `敏感肌功效型护肤品`、`贵产品无效`),去除特殊字符与空格。
|
|
|
+- **自包含**:本任务实际用到的参考图(人物完整形象照、门店内景、插画)也复制进该文件夹,使文件夹独立可交付、可归档(复用上次的素材则复制一份进来)。
|
|
|
+- **标准结构**:
|
|
|
+ ```
|
|
|
+ beauty-video-materials/<任务短名>/
|
|
|
+ ├── 脚本_<主题>.md # Step 8/9 交付的结构化脚本
|
|
|
+ ├── prompt.txt # 提交 wan3 的纯文本 prompt(Step 8 写出)
|
|
|
+ ├── 成片_<主题>.mp4 # Step 10 下载的视频成片
|
|
|
+ ├── 人物_完整形象照.png # Image 1(本任务生成或复用复制)
|
|
|
+ ├── 门店_内景_采用.png # Image 2(含 LOGO)
|
|
|
+ └── 插画/
|
|
|
+ ├── 插画_参考1.png # Image 3
|
|
|
+ └── 插画_参考2.png # Image 4
|
|
|
+ ```
|
|
|
+- 后续 `--media` / `--output` 一律引用本任务文件夹内路径;生成脚本 `generate_video.py` 已支持**自动创建输出父目录**,传任务文件夹路径无需手动 mkdir。
|
|
|
+
|
|
|
### Step 1 — 收集基础输入(提示词优先,缺失交互补全)
|
|
|
|
|
|
1. 解析用户提示词,提取已指定元素:选题/口播素材、画幅、平台、人设、目标人群、场景、机位、运镜、造型、画质、穿插类型、字幕、配乐、情绪、品牌露出、门店/插画/色调风格、自带素材包路径。
|
|
|
@@ -75,6 +96,8 @@ agent_created: true
|
|
|
|
|
|
### Step 4 — 生成最终确认物料(人物形象照 + 门店内景 + 插画)并确认
|
|
|
|
|
|
+**产物落盘**:本步生成的三类物料保存到**本任务的 `<任务短名>/` 文件夹**——人物完整形象照、门店内景照片放根目录;插画放 `插画/` 子目录;便于后续统一引用与归档。若人物/门店沿用上次已确认物料,复制一份进本任务文件夹保持自包含。
|
|
|
+
|
|
|
按 `references/asset-collection.md` 第二节,用图像生成工具基于锁定素材生成并展示,请用户确认后才作为 wan3 参考图:
|
|
|
1. **人物完整形象照 — 1 张(可生成 2–3 张供选)**:以 `character_5view` 为人物参考、`uniform_detail` 为制服参考,合成「人物身穿制服的完整形象照」;胸牌样式与 `uniform_detail` 完全一致、不可变更。→ 确认后作为 **Image 1**。
|
|
|
2. **门店内景照片(含怡呵美 LOGO)— 3 张位置供选**:以 `logo_3d` 为 LOGO 参考生成门店内景(位置1 面诊桌正对面 / 位置2 前台侧含 LOGO / 位置3 产品护理区),确保前台出现立体 LOGO。→ 用户确认采用哪张作为主场景,记为 `门店_内景_采用.jpg`,作为 **Image 2**。
|
|
|
@@ -108,6 +131,7 @@ agent_created: true
|
|
|
|
|
|
用 `assets/script-template.md` 填充,产出**单份结构化 Markdown**:
|
|
|
一、角色定义 → 二、固定品牌素材 → 三、自动生成素材 → 四、口播文案(口语化,字数校验)→ **四-补、插画插入点** → 五、单段视频 Prompt(整段 30 秒,**编导分镜版**,含 Image 1–5 / Audio 1 引用)→ 六、保留分析 → 七、硬性禁令 → 八、AI 口令(wan3 请求:命令 + JSON)。
|
|
|
+- **落盘**:组装完成后,将脚本写入**本任务文件夹** `脚本_<主题>.md`;并把第五节整段 prompt 单独写出到本任务文件夹 `prompt.txt`(供 Step 10 直接 `--prompt "$(cat .../prompt.txt)"` 读取)。
|
|
|
- 第五节单段 Prompt **必须按 `wan3-workflow.md` 第四节「编导分镜版」范式写**,像专业编导一样覆盖四块:
|
|
|
1. **人物行为动线**(元素 25):30 秒单段内 **≤2 个动作切换**,且方向不反向("走动→落座"则落座后不再起身;"坐姿→起身走动"则走动后不再落座);**口播时不设计"整理产品"等手部摆弄动作**,手部只用自然手势 / 点头;全程在门店场景里与场景互动,**绝不全程正对镜头站桩**。
|
|
|
2. **运镜组合**(元素 12):每条约 2–3 种手法按时间轴穿插(跟随 / 推近 / 拉远 / 横移 / 手持微晃),随机组合、不全程单一机位。
|
|
|
@@ -119,13 +143,13 @@ agent_created: true
|
|
|
### Step 9 — 逐步确认后交付(贴合"逐步确认"习惯)
|
|
|
|
|
|
1. 呈现「已确定元素清单」+「口语化口播文案(含字数校验)」+「插画插入点:第 N 句」+「固定素材(URL/本地,生成输入)」+「生成并确认的最终物料(人物完整形象照 / 门店内景照片 / 插画,含自动随机指定的项)」+「单段 Prompt / wan3 请求」。请用户确认或修正。
|
|
|
-2. 用户确认后,将完整脚本写入工作区(如 `美业口播科普视频脚本_[主题].md`)并 present;参考物料图一并随交付提供。
|
|
|
+2. 用户确认后,将完整脚本写入**本任务文件夹** `脚本_<主题>.md`(路径如 `beauty-video-materials/<任务短名>/脚本_<主题>.md`)并 present;参考物料图(人物/门店/插画)已在本任务文件夹内,一并随交付提供。
|
|
|
3. 确认无误后再进入 Step 10 实际调用 API(避免浪费生成额度)。
|
|
|
|
|
|
### Step 10 — 调用百炼 wan3 生成视频 + 下载 + 确认
|
|
|
|
|
|
1. 确保 `DASHSCOPE_API_KEY` 环境变量(或同目录 `.env`)已设置;`scripts/config.json` 的 workspace_id / base_url / `brand_assets` URL 为固定预填(暨北内部朵朵专用),无需改动。
|
|
|
-2. 执行 `scripts/generate_video.py`(参数见脚本模板第八节):提交**确认后的生成物料**(人物完整形象照 / 门店内景照片 / 插画,本地图编码 base64 直传;音色 voice_ref 按 URL 直传或本地 base64 直传)→ 建任务 → 轮询 → 下载到 `output_dir`。
|
|
|
+2. 执行 `scripts/generate_video.py`(参数见脚本模板第八节):提交**确认后的生成物料**(人物完整形象照 / 门店内景照片 / 插画,本地图编码 base64 直传;音色 voice_ref 按 URL 直传或本地 base64 直传)→ 建任务 → 轮询 → 下载到**本任务文件夹** `成片_<主题>.mp4`;`--media` 引用本任务文件夹内的人物形象照/门店内景/插画,`--output` 指向该文件夹成片路径(脚本已自动创建父目录)。
|
|
|
3. 捕获脚本 stdout 的 `VIDEO_PATH=...`,把生成的视频 present 给用户确认。
|
|
|
4. 若生成失败/不满意 → 回到 Step 8 修改脚本,整段重发(见 Step 11)。
|
|
|
|