|
|
@@ -1,6 +1,6 @@
|
|
|
---
|
|
|
name: beauty-talk-science-video-script
|
|
|
-description: 生成「美业口播科普视频脚本」并直出视频的通用技能。面向阿里云百炼 wan3(万相3.0)文生/参考生视频,把选题/人设/画幅/时长/场景/服装/造型/画质/穿插/字幕/配乐等元素参数化;人物五视角图、制服细节图、立体LOGO、音色四项固定素材来自技能素材包(assets/brand/)或公网URL(config.brand_assets)并锁定作生成输入;据其生成人物完整形象照、门店内景(含LOGO)、插画供用户确认,确认后的物料作为参考图提交 wan3;口播转为口语化;整段视频一个片段、≤30秒;确认后调用 scripts/generate_video.py 提交 wan3 异步任务、轮询、下载本地;修改即整段重发(不支持二次创作)。
|
|
|
+description: 生成「美业口播科普视频脚本」并直出视频的通用技能。面向阿里云百炼 wan3(万相3.0)文生/参考生视频,把选题/人设/画幅/时长/场景/服装/造型/画质/穿插/字幕/配乐等元素参数化;人物五视角图、制服细节图、音色三项固定素材来自技能素材包(assets/brand/)或公网URL(config.brand_assets)并锁定作生成输入;据其生成人物完整形象照、插画供用户确认,门店场景直接采用门店空间索引实景图(按动线 zone 选取),确认后的物料作为参考图提交 wan3;口播转为口语化;整段视频一个片段、≤30秒;确认后调用 scripts/generate_video.py 提交 wan3 异步任务、轮询、下载本地;修改即整段重发(不支持二次创作)。
|
|
|
agent_created: true
|
|
|
---
|
|
|
|
|
|
@@ -12,7 +12,7 @@ agent_created: true
|
|
|
|
|
|
1. **人物**必须用指定的(素材包 `assets/brand/character_5view.*` 或公网 URL `config.brand_assets.character_5view.url`)人物五视角图(固定锁定)。
|
|
|
2. **制服**必须参考指定的(素材包或 URL)制服细节图(可换款式/颜色,**胸牌绝对不变**)。
|
|
|
-3. **门店内景**前台或某场景必须有指定的(素材包或 URL)怡呵美立体 LOGO(合成进参考图)。
|
|
|
+3. **门店场景**必须采用门店空间索引实景图(按动线规划从 `assets/store-spatial-index/` 选取对应 zone 照片作参考图),怡呵美 LOGO 随实景图(品牌墙/发光字展柜)自然呈现,不另行生成含 LOGO 的门店图。
|
|
|
4. **音色**必须用指定的(素材包或 URL)音色文件作 reference_audio。
|
|
|
5. 口播文案由用户内容**转换为口语化适合口播**的文案。
|
|
|
6. 整段视频**一个片段、≤30 秒**;超 30 秒则反馈用户精简、循环直到满足。
|
|
|
@@ -39,13 +39,13 @@ agent_created: true
|
|
|
## 何时使用
|
|
|
|
|
|
- "帮我做一条美业口播视频(给 wan3/百炼)" / "出个护肤科普短视频脚本并生成"
|
|
|
-- 用户上传/指定人物五视角图、制服细节图、LOGO、音色,或要求生成可直出的视频脚本与物料
|
|
|
+- 用户上传/指定人物五视角图、制服细节图、音色,或要求生成可直出的视频脚本与物料(门店场景直接采用门店空间索引实景图)
|
|
|
|
|
|
## 资源引用
|
|
|
|
|
|
- `references/elements.md` — 全部可参数化元素与可选项(含门店风格/插画风格/整体色调)。
|
|
|
- `references/wan3-workflow.md` — 百炼 wan3 端点/鉴权/参考映射/单段 prompt 范式/LOGO 合成/不二次创作。
|
|
|
-- `references/asset-collection.md` — 固定 4 项素材包清单 + 自动生成门店3/插画2确认 + LOGO 合成 + 物料登记 + wan3 映射。
|
|
|
+- `references/asset-collection.md` — 固定 3 项素材包清单 + 自动生成人物/插画确认 + 门店空间实景图选取 + 物料登记 + wan3 映射。
|
|
|
- `references/store-spatial-index.md` — 门店空间索引与空间锚定硬规则(Z01–Z09 可用区 / U01–U03 禁用区 / 常用映射 / V4 开放公共区关系 / 6 条空间锚定硬规则);配套实景图在 `assets/store-spatial-index/`。
|
|
|
- `assets/script-template.md` — 单段结构化 Markdown 脚本骨架(含物料清单与 wan3 请求段),填充后即为交付物。
|
|
|
- `scripts/generate_video.py` — 解析素材(公网URL直传 / 本地图base64直传)→建任务→轮询→下载本地。
|
|
|
@@ -59,7 +59,7 @@ agent_created: true
|
|
|
|
|
|
- **基础目录**:工作区内 `beauty-video-materials/`(与技能目录分离,纯产物区)。
|
|
|
- **任务文件夹**:`beauty-video-materials/<任务短名>/`,`<任务短名>` 由选题/主题派生(如 `敏感肌功效型护肤品`、`贵产品无效`),去除特殊字符与空格。
|
|
|
-- **自包含**:本任务实际用到的参考图(人物完整形象照、门店内景、插画)也复制进该文件夹,使文件夹独立可交付、可归档(复用上次的素材则复制一份进来)。
|
|
|
+- **自包含**:本任务实际用到的参考图(人物完整形象照、门店空间实景图、插画)也复制进该文件夹,使文件夹独立可交付、可归档(复用上次的素材则复制一份进来)。
|
|
|
- **标准结构**:
|
|
|
```
|
|
|
beauty-video-materials/<任务短名>/
|
|
|
@@ -67,7 +67,7 @@ agent_created: true
|
|
|
├── prompt.txt # 提交 wan3 的纯文本 prompt(Step 8 写出)
|
|
|
├── 成片_<主题>.mp4 # Step 10 下载的视频成片
|
|
|
├── 人物_完整形象照.png # Image 1(本任务生成或复用复制)
|
|
|
- ├── 门店_内景_采用.png # Image 2(含 LOGO)
|
|
|
+ ├── 门店_实景_Z0X.png # Image 2(门店空间索引实景图,按动线 zone 选取,LOGO 随实景自然呈现)
|
|
|
└── 插画/
|
|
|
├── 插画_参考1.png # Image 3
|
|
|
└── 插画_参考2.png # Image 4
|
|
|
@@ -89,24 +89,24 @@ agent_created: true
|
|
|
|
|
|
### Step 3 — 锁定固定品牌素材(URL 优先,本地文件兜底,校验存在)
|
|
|
|
|
|
-按 `references/asset-collection.md` 第一节,逐项解析并校验 4 个固定素材(**它们在本流程中是"生成输入",用于生成最终确认物料,默认不直接提交 wan3**):
|
|
|
+按 `references/asset-collection.md` 第一节,逐项解析并校验 3 个固定素材(**它们在本流程中是"生成输入",用于生成最终确认物料,默认不直接提交 wan3**):
|
|
|
- 每项优先读 `scripts/config.json` 的 `brand_assets.<key>.url`(公网 URL,调用 wan3 时固定素材可直接透传);若留空则回退读取 `assets/brand/` 本地文件。
|
|
|
-- 人物五视角(`character_5view`)、制服细节(`uniform_detail`)、立体 LOGO(`logo_3d`)、音色(`voice_ref`,≤15s)。
|
|
|
+- 人物五视角(`character_5view`)、制服细节(`uniform_detail`)、音色(`voice_ref`,≤15s)。
|
|
|
- **每项都必须有来源(URL 或本地文件),二者皆无 → 主动提示用户填 URL 或放文件,不进入后续生成**。
|
|
|
-- 锁定后:人物五视角 + 制服细节用于生成「人物完整形象照」、LOGO 用于生成「门店内景照片」、音色直接作 Audio 1;胸牌样式在锁定时即标注"不可变更"。
|
|
|
+- 锁定后:人物五视角 + 制服细节用于生成「人物完整形象照」、音色直接作 Audio 1;门店场景直接采用门店空间索引实景图(按动线 zone 选取),不另行生成;胸牌样式在锁定时即标注"不可变更"。
|
|
|
|
|
|
-### Step 4 — 生成最终确认物料(人物形象照 + 门店内景 + 插画)并确认
|
|
|
+### Step 4 — 生成最终确认物料(人物形象照 + 插画)并选取门店实景图
|
|
|
|
|
|
-**产物落盘**:本步生成的三类物料保存到**本任务的 `<任务短名>/` 文件夹**——人物完整形象照、门店内景照片放根目录;插画放 `插画/` 子目录;便于后续统一引用与归档。若人物/门店沿用上次已确认物料,复制一份进本任务文件夹保持自包含。
|
|
|
+**产物落盘**:本步生成的两类物料保存到**本任务的 `<任务短名>/` 文件夹**——人物完整形象照放根目录;插画放 `插画/` 子目录;门店空间实景图(按动线 zone 从资源包选取)另存 `门店实景/` 子目录;便于后续统一引用与归档。若人物沿用上次已确认物料,复制一份进本任务文件夹保持自包含。
|
|
|
|
|
|
-> ⚠️ **动线规划须最先确定(本步生成物料的前置)**:在生成任何物料前,先依选题/口播主题与 `references/store-spatial-index.md`(Z01–Z09 可用区)规划本片动线——列出本片**出场/经过的 zone、开场 zone、走位 zone、插画所在 zone**;**人物出场场景由动线规划决定,不再固定前台**。随后生成的门店内景照片须覆盖动线涉及的 zone,LOGO 落位于动线主场景的墙面/可见处(不限定前台)。该动线规划在 Step 8 组装时填入脚本第五节【动线设计规划】表。
|
|
|
+> ⚠️ **动线规划须最先确定(本步选取实景图的前置)**:在选取门店实景图前,先依选题/口播主题与 `references/store-spatial-index.md`(Z01–Z09 可用区)规划本片动线——列出本片**出场/经过的 zone、开场 zone、走位 zone、插画所在 zone**;**人物出场场景由动线规划决定,不再固定前台**。随后按动线涉及的 zone 从 `assets/store-spatial-index/` 选取对应实景图(LOGO 随实景图自然呈现,不另行生成含 LOGO 门店图)。该动线规划在 Step 8 组装时填入脚本第五节【动线设计规划】表。
|
|
|
|
|
|
按 `references/asset-collection.md` 第二节,用图像生成工具基于锁定素材生成并展示,请用户确认后才作为 wan3 参考图:
|
|
|
1. **人物完整形象照 — 1 张(可生成 2–3 张供选)**:以 `character_5view` 为人物参考、`uniform_detail` 为制服参考,合成「人物身穿制服的完整形象照」;胸牌样式与 `uniform_detail` 完全一致、不可变更。→ 确认后作为 **Image 1**。
|
|
|
-2. **门店内景照片(含怡呵美 LOGO)— 按动线规划 zone 生成**:以 `logo_3d` 为 LOGO 参考,按动线规划涉及的 zone(如开场 zone = 产品陈列架 Z02 / 洽谈区 Z04 / 前台 Z03…)生成对应门店内景,LOGO 落位于动线主场景墙面/可见处(不再限定前台侧)。→ 用户确认采用哪张作为主场景,记为 `门店_内景_采用.jpg`,作为 **Image 2**。
|
|
|
+2. **门店空间实景图(按动线规划 zone 选取)**:从 `assets/store-spatial-index/` 按动线规划涉及的 zone(如开场 zone = 产品陈列架 Z02 / 洽谈区 Z04 / 前台 Z03…)选取对应门店实景照片,作为 **Image 2**(场景参考图);怡呵美 LOGO 随实景图(品牌墙 Z01 / 发光字展柜 Z02 等)自然呈现,无需单独生成。多 zone 动线可选取多张分别作为各段背景参考。
|
|
|
3. **内容插入插画参考图 — 2 张**(抽象可视化风格启发,无真人皮肤/血液/文字)→ **Image 3 / Image 4**。
|
|
|
|
|
|
-展示后请用户**逐类挑选/确认**;若用户**未做任何选择** → 系统**自动随机指定**一组(记录"已自动随机指定")继续。确认后的物料登记进脚本「物料清单」。
|
|
|
+展示后请用户**逐类挑选/确认**;若用户**未做任何选择** → 系统**自动随机指定**一组(记录"已自动随机指定")继续。确认后的物料(人物形象照/插画)与选取的门店实景图登记进脚本「物料清单」。
|
|
|
|
|
|
### Step 5 — 处理口播文案(转口语化 + 30 秒硬卡)
|
|
|
|
|
|
@@ -152,18 +152,18 @@ agent_created: true
|
|
|
4. **门店丰富元素**(元素 27):在门店场景里随机点缀 2–3 个道具 / 人物(前台 / 美容床 / 沙发 / 桌椅 / 其他店员虚化走过),增加景深与真实感。
|
|
|
5. **背景逐段锚定**(元素 22 / 门店空间索引):每个 Shot 必须绑定对应 zone 参考图的元素清单(如门厅:品牌墙 + 吊灯 + 白门 + 圆几绿植 + 白沙发;产品区:怡呵美发光字展柜 + 灯带层板 + 绿植),并在硬规则写"人物未走位时背景禁止漂移成其他房间";人物真实经过的过渡空间(如走廊)**必须传对应实景图**,仅靠俯瞰图 + 文字会脑补"幽灵硬件"(见 `wan3-workflow.md` 坑4 与 `references/store-spatial-index.md`,实景图在 `assets/store-spatial-index/`)。
|
|
|
- 口播台词用 `{}` 圈出、逐句写进各 Shot 的「分镜内容」;在讲对口白前**加入语气/节奏指令**(见 `wan3-workflow.md` 第四节:疑问/转折处语调上扬、核心点重音与停顿、整体松弛有起伏、禁止机械平读),缓解 wan3 原生 TTS 语气偏平的问题;在「插画插入点」指定句处明确写"讲到[第 N 句:原文]时,画面以[某展示方式]融入插画风格的抽象可视化";音色用自然语言描述"随附音频作音色参考",**不写 Audio 1**。**⚠️ prompt 文本里绝不出现 `Image N`/`Audio N`**(会被 wan3 当对白念出,详见 `wan3-workflow.md` 第一节/第七节)。
|
|
|
-- 引用的是**确认后的生成物料**(仅内部对应 media 数组顺序,prompt 中不写 Image N/Audio N):人物完整形象照、门店内景照片(含 LOGO)、插画;LOGO 已在 Step 4 生成门店内景时落位,无需单独合成。
|
|
|
+- 引用的是**确认后的生成物料**(仅内部对应 media 数组顺序,prompt 中不写 Image N/Audio N):人物完整形象照、门店空间实景图(按动线 zone 选取,LOGO 随实景自然呈现)、插画;门店场景直接取自资源包实景图,无需合成 LOGO。
|
|
|
|
|
|
### Step 9 — 逐步确认后交付(贴合"逐步确认"习惯)
|
|
|
|
|
|
-1. 呈现「已确定元素清单」+「口语化口播文案(含字数校验)」+「插画插入点:第 N 句」+「固定素材(URL/本地,生成输入)」+「生成并确认的最终物料(人物完整形象照 / 门店内景照片 / 插画,含自动随机指定的项)」+「单段 Prompt / wan3 请求」。请用户确认或修正。
|
|
|
+1. 呈现「已确定元素清单」+「口语化口播文案(含字数校验)」+「插画插入点:第 N 句」+「固定素材(URL/本地,生成输入)」+「确认的最终物料(人物完整形象照 / 门店空间实景图 / 插画)」+「单段 Prompt / wan3 请求」。请用户确认或修正。
|
|
|
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 直传)→ 建任务 → 轮询 → 下载到**本任务文件夹** `成片_<主题>.mp4`;`--media` 引用本任务文件夹内的人物形象照/门店内景/插画,`--output` 指向该文件夹成片路径(脚本已自动创建父目录)。
|
|
|
+2. 执行 `scripts/generate_video.py`(参数见脚本模板第八节):提交**确认后的物料**(人物完整形象照 / 门店空间实景图 / 插画,本地图编码 base64 直传;音色 voice_ref 按 URL 直传或本地 base64 直传)→ 建任务 → 轮询 → 下载到**本任务文件夹** `成片_<主题>.mp4`;`--media` 引用本任务文件夹内的人物形象照/门店实景图/插画,`--output` 指向该文件夹成片路径(脚本已自动创建父目录)。
|
|
|
3. 捕获脚本 stdout 的 `VIDEO_PATH=...`,把生成的视频 present 给用户确认。
|
|
|
4. 若生成失败/不满意 → 回到 Step 8 修改脚本,整段重发(见 Step 11)。
|
|
|
|
|
|
@@ -174,12 +174,12 @@ agent_created: true
|
|
|
|
|
|
## 关键约束(贯穿全程)
|
|
|
|
|
|
-- **固定 4 项永远锁定(作生成输入)**:人物五视角/制服细节/LOGO/音色来自素材包(`assets/brand/`)或公网 URL(`config.brand_assets`),不可被自动生成覆盖;制服胸牌样式绝对不可变。
|
|
|
-- **提交的是确认后的生成物料**:wan3 实际接收 Image 1=人物完整形象照、Image 2=门店内景照片(含 LOGO)、Image 3/4=插画、Audio 1=音色;原始 4 项仅用于生成这些物料,不直接提交。
|
|
|
-- **风格先确认后出图**:发起任务先文字版问风格,再生成「人物完整形象照 + 门店内景(含 LOGO)+ 插画」示例图供确认。
|
|
|
+- **固定 3 项永远锁定(作生成输入)**:人物五视角/制服细节/音色来自素材包(`assets/brand/`)或公网 URL(`config.brand_assets`),不可被自动生成覆盖;制服胸牌样式绝对不可变。
|
|
|
+- **提交的是确认后的生成物料**:wan3 实际接收 Image 1=人物完整形象照、Image 2=门店空间实景图(按动线 zone 选取)、Image 3/4=插画、Audio 1=音色;原始 3 项固定素材仅用于生成人物完整形象照,不直接提交;门店实景图直接取自资源包。
|
|
|
+- **风格先确认后出图**:发起任务先文字版问风格,再生成「人物完整形象照 + 插画」示例图供确认;门店场景直接采用门店空间索引实景图,无需生成示例。
|
|
|
- **单片段 ≤30 秒**:口播超 110 字必须反馈精简、循环直到满足;不拆分片段。
|
|
|
-- **LOGO 必现(落位随动线主场景)**:在生成门店内景照片时以 `logo_3d` 为参考落位(Image 2),确保成片**动线规划的主场景**有怡呵美立体 LOGO(不再限定前台);人物不在前台出场时,LOGO 须在开场/主场景墙面或可见处出现。
|
|
|
-- **动线规划最先确定**:人物出场场景由动线规划决定,不固定前台;动线规划须于 Step 4 生成物料前先行确定(见 Step 4 前置说明),并填入脚本第五节【动线设计规划】表(含场景 zone 列),物料生成据此覆盖对应 zone 内景。
|
|
|
+- **LOGO 随实景自然呈现**:门店 LOGO 不另行生成,随选取的门店空间实景图(品牌墙 Z01「YIHEMEI 你的水光肌肤管理师」/ 发光字展柜 Z02 等)自然出现在成片;动线主场景若途经含 LOGO 的 zone,LOGO 即在画面中。
|
|
|
+- **动线规划最先确定**:人物出场场景由动线规划决定,不固定前台;动线规划须于 Step 4 选取实景图前先行确定(见 Step 4 前置说明),并填入脚本第五节【动线设计规划】表(含场景 zone 列),门店实景图据此按对应 zone 选取。
|
|
|
- **原生音视频**:口播写进 prompt 作对白,音色作 reference_audio,wan3 一次性生成画面+对白+口型+环境音。
|
|
|
- **插画插入点确认**:插画与口播文案都确认后,必须请用户指定插画从口播哪一句开始融入,再组装 prompt(见 Step 7);不静默默认。
|
|
|
- **编导分镜(不站桩)**:单段 Prompt 必须像专业编导覆盖五块——① 人物行为动线(按内容长短设计走动/坐/起/落座,不全程正对镜头)② 运镜组合(2–3 种随机穿插)③ 插画展示方式(圆形PiP/条状PiP/侧边PiP 随机混用不固化、禁全屏)④ 门店丰富元素(前台/美容床/沙发/其他人物虚化走过随机点缀)⑤ **背景逐段锚定**(每个 Shot 绑定对应 zone 参考图元素清单,详见 `wan3-workflow.md` 坑4 与 `references/store-spatial-index.md`);详见 `wan3-workflow.md` 第四节与 `elements.md` 元素 12/25/26/27。
|