# 美业口播科普视频脚本技能(百炼 wan3 直出版)
把「美业口播科普短视频」从零散需求沉淀为一份**带固定品牌素材、可直接调用阿里云百炼 wan3(万相 3.0)生成视频**的结构化脚本。技能会像专业编导一样设计人物在门店场景里的动线、运镜、插画融入方式与门店丰富元素,确保成片真实、不站桩、不 AI 感。
## 适用场景
- 用户上传/指定人物五视角图、制服细节图、指定音色,或要求生成可直出 wan3 的视频脚本与物料(门店场景直接采用门店空间索引实景图)。
- 典型触发:「帮我做一条美业口播视频(给 wan3 / 百炼)」「出个护肤科普短视频脚本并生成」。
## 八大硬约束(贯穿全程)
1. **人物**必须用指定人物五视角图(固定锁定,全片不变脸)。
2. **制服**参考指定细节图(可换款式/颜色,**胸牌样式绝对不可变**)。
3. **门店场景**必须采用门店空间索引实景图(按动线规划从资源包选取对应 zone 照片),怡呵美 LOGO 随实景自然呈现。
4. **音色**必须用指定文件作 `reference_audio`。
5. 口播文案由用户内容**转口语化(更白话、适当加语气词、不大幅增字)+ 规避违禁词**适合口播。
6. 整段视频**一个片段、≤30 秒**(时长不固定 30 秒,由 Shot 台词时间分配表求和得出 T 作为实际 duration;T 超限则反馈精简,循环直到满足;绝不拆片段)。
7. 确认后调用**百炼 wan3** 生成、轮询、下载本地、交付确认。
8. **不支持二次创作**:任何元素修改都重新组装完整脚本、整段重发 wan3(不用编辑/延长模式)。
## 首次配置(必做,只需一步)
> 本技能为「暨北内部 - 朵朵」专用锁定版:人物五视角图、制服细节图、朵朵音色、百炼工作空间与 base_url **均已固定在 `scripts/config.json` 中**,使用者无需修改(门店场景直接采用技能内置门店空间索引实景图,怡呵美 LOGO 随实景自然呈现)。
1. **API Key(唯一需要你提供的)**:登录百炼 / DashScope 控制台 → 切换到 **北京(cn-beijing)** 地域 → 创建 API Key(`sk-` 开头,只显示一次)。复制 `scripts/.env.example` 为 `scripts/.env`,填入 `DASHSCOPE_API_KEY=sk-...` 即可。
> ⚠️ `.env` 含你的密钥,**严禁提交 git 或随技能 zip 分发**;重新打包技能前请删除本地 `.env`。
2. 固定品牌素材 / 工作空间 / base_url 均已预填,**无需任何改动**即可直接运行。
## 运行(11 步流程)
对 WorkBuddy 说:「用美业口播科普视频脚本技能,做一条关于 *[选题]* 的口播视频」。技能按 `SKILL.md` 的 11 步流程执行:
> 收集输入 → 文字风格问卷 → 锁定固定素材 → 生成并确认物料(人物形象照 / 门店空间实景图 / 插画)→ 处理口播文案(口语化 + 时长软卡 ≤30s)→ **确认口播 + 敏感词/合规检测(必跑,用户按建议改或自改后复检)** → 确定插画插入点 → 组装编导分镜 Prompt(规划 Shot 时间分配表、求和得 T)→ 逐步确认 → 调 wan3 生成(duration=T)→ 成片交付 → 修改即整段重发。
也可手动驱动生成脚本:`python scripts/generate_video.py --help`。
### 生产视频流程图
> 注:GitLab / GitHub 出于安全策略**不渲染 Markdown 中的 SVG 图片**(SVG 可能含脚本),因此流程图改用 **Mermaid 代码块**——GitLab 网页端原生支持、会直接渲染为图,且是纯文本可版本化。原 SVG 文件保留在 `docs/flowchart.svg` 供支持 SVG 的平台使用。
```mermaid
graph TD
A[用户触发
选题 / 选题+素材] --> B[收集基础输入
+ 文字风格问卷]
B --> C[锁定固定素材
3项OSS URL 已写死]
C --> D[生成并确认物料
人物形象照 / 门店空间实景图 / 插画]
D --> E[处理口播文案
转口语化 + 时长软卡 ≤30s]
E --> E2[确认口播 + 敏感词/合规检测
必跑 · 机器初筛+人工复核]
E2 --> F[确定插画插入点
指定从哪句开始融入]
F --> G[组装编导分镜 Prompt
动线+运镜+插画+门店元素+背景锚定]
G --> H[逐步确认]
H --> I[调百炼 wan3 生成
建任务 → 轮询 → 下载]
I --> J[成片交付]
J --> K{满意?}
K -- 否,整段重发 --> G
K -- 是 --> Z[完成]
```
> 详细分步说明见 `docs/暨北内部-朵朵口播视频专用技能.md` 与 `SKILL.md`。
## 核心能力模块
### 1. 编导分镜要点(确保真实感 · 五块)
- **人物行为动线**:单段(≤30 秒)≤2 个动作、方向不反向(「走动→落座」则落座后不再起身;「坐姿→起身走动」则走动后不再落座);口播时不设计整理产品等手部摆弄动作,手部只用自然手势 / 点头;**动线须在先理解店内整体布局后设计(读《空间索引.json》+《00_俯瞰图_修订_带布局编号V4.jpeg》),人物走动速度自然、动线长度与总时长 T 匹配,切忌走太快或动线过长**。
- **运镜组合**:2–3 种随机穿插(跟随 / 推近 / 拉远 / 横移 / 手持微晃)。
- **插画展示方式**:仅限局部画中画——形状随机选用**正方形或圆形**,单个插图**宽度 ≤ 画面 1/2、高度等比**,可置于**画面任意位置但不遮挡人物面部**;**禁止全屏铺盖与人物画中画式全屏**(用户 2026-09-17 规则 + 2026-09-22 尺寸约束补充)。
- **门店丰富元素**:前台 / 美容床 / 沙发 / 桌椅 / 其他店员虚化走过,随机点缀 2–3 个增加景深。
- **背景逐段锚定(关键新增)**:每个 Shot 绑定对应 zone 参考图的元素清单(如门厅:品牌墙 + 吊灯 + 白门 + 圆几绿植 + 白沙发;产品区:怡呵美发光字展柜 + 灯带层板 + 绿植),并在硬规则写「人物未走位时背景禁止漂移成其他房间」;人物真实经过的过渡空间(如走廊)**必须传对应实景图**,仅靠俯瞰图 + 文字会脑补「幽灵硬件」。详见 `references/store-spatial-index.md` 与 `wan3-workflow.md` 坑4。
### 2. 门店空间索引(store-spatial-index · 技能内置权威来源)
`assets/store-spatial-index/` 内置门店全部 zone 实景图与空间索引,**clone 即得、无需依赖项目目录**:
- **已确认可用区 Z01–Z09**:10 张 9:16 实景图(`Z01_01` ~ `Z09_01`,含品牌墙 `Z01_02`),用于按 zone 传入 wan3 作门店参考。
- **禁用区 U01–U03**:严禁作为生成参考或动线终点传入。
- **V4 开放公共区**:Z03 前台与 Z01 门厅小沙发无隔墙连通;Z04 等候洽谈区无门无隔墙、与 Z03 同属开放公共区。
- **空间索引**:`空间索引.json` / `门店店内空间索引.html` / `.md` 含逐机位 `camera` / `anchors` / `map_marker`;`更新说明_V4.md` 为 V4 修订说明。
- **6 条空间锚定硬规则**(踩坑总结):过渡空间必传实景图、参考图里的门须显式声明状态、开放式空间正面定性、硬件唯一性 + 反向禁令双写、只传出镜 zone 图、参考音频 ≤15s(媒体数实战 9 项可提交)。完整规则见 `references/store-spatial-index.md`。
### 3. 敏感词 / 合规检测(compliance · Step 6 必跑)
口播文案确定后**必须自动跑一次**检测,结论无 🔴 极高 / 🟠 高违规才进入组装与生成:
- 机器初筛:`scripts/compliance_scan.py` 对口播全文做关键词命中底筛。
- 人工复核:对照 `references/compliance-check.md`(整合 `content-reviewer` 与 `medical-content-compliance-auditor` 两技能,按美业场景裁剪),输出「风险等级 + 法规依据 + 合规替换 + 结论三选一」报告。
- 用户二选一:① 按建议改(回到处理口播重出)② 自己改(复检),循环直到通过。
## 资源引用
- `references/elements.md` — 全部可参数化元素与可选项(门店风格 / 插画风格 / 整体色调等)。
- `references/wan3-workflow.md` — 百炼 wan3 端点 / 鉴权 / 参考映射 / 编导分镜 prompt 范式 / 实战坑位(背景漂移、口播加词、单字发音、插画禁人物、生成超时续轮询等)。
- `references/asset-collection.md` — 固定 3 项素材包清单 + 自动生成物料确认 + 门店空间实景图选取 + 物料登记 + wan3 映射。
- `references/compliance-check.md` — 敏感词 / 合规检测方法论与报告模板(Step 6 必跑)。
- `references/store-spatial-index.md` — 门店空间索引与空间锚定硬规则(Z01–Z09 可用 / U01–U03 禁用 / 常用映射 / V4 开放公共区关系 / 6 条硬规则)。
- `assets/script-template.md` — 单段结构化 Markdown 脚本骨架(含物料清单与 wan3 请求段),填充后即为交付物。
- `assets/store-spatial-index/` — 门店 zone 实景图(10 张)+ V4 俯瞰图(2 张)+ 空间索引 JSON/HTML/MD + 说明(约 24MB)。
- `scripts/generate_video.py` — 解析素材(公网 URL 直传 / 本地图 base64 直传)→ 建任务 → 轮询 → 下载本地。
- `scripts/compliance_scan.py` — 敏感词 / 合规机器初筛(Step 6 调用)。
- `scripts/config.json` — region / workspace_id / model / resolution / ratio / 品牌 URL(密钥走环境变量)。
## 目录结构
```
beauty-talk-science-video-script/
├── SKILL.md # 主流程与硬约束(11 步)
├── README.md # 本文件(快速上手)
├── references/
│ ├── elements.md # 全部可参数化元素与可选项
│ ├── wan3-workflow.md # 百炼 wan3 端点/鉴权/参考映射/编导分镜/实战坑位
│ ├── asset-collection.md # 固定 3 项素材 + 自动生成物料确认 + 门店实景图选取 + 物料登记
│ ├── compliance-check.md # 敏感词/合规检测方法与报告模板(Step 6 必跑)
│ └── store-spatial-index.md # 门店空间索引与空间锚定硬规则(Z01–Z09/U01–U03)
├── assets/
│ ├── script-template.md # 单段结构化脚本骨架(交付物模板)
│ ├── brand/README.md # 固定品牌素材包说明
│ └── store-spatial-index/ # 门店 zone 实景图 + V4 俯瞰图 + 空间索引(约 24MB)
│ ├── Z01_01 ~ Z09_01(共 10 张 9:16 实景图,无人物)
│ ├── 00_俯瞰图_修订V4.png
│ ├── 00_俯瞰图_修订_带布局编号V4.jpeg
│ ├── 空间索引.json / 门店店内空间索引.html / 门店店内空间索引.md
│ ├── 更新说明_V4.md
│ └── README.md
├── scripts/
│ ├── generate_video.py # 解析素材 → 建任务 → 轮询 → 下载
│ ├── compliance_scan.py # 敏感词/合规机器初筛(Step 6 调用)
│ ├── config.json # region/workspace_id/model/分辨率/比例/品牌 URL
│ └── .env.example # API Key 模板(复制为 .env 填入真实 key)
└── docs/
├── 暨北内部-朵朵口播视频专用技能.md # 详细分发/启用说明
└── flowchart.svg # 流程图(SVG 原版,Mermaid 见上)
```
> 注:`scripts/.env`(真实密钥)被 `.gitignore` 排除,不会随仓库提交。
## 任务产物目录结构(每次任务独立归档)
每个任务在收集输入后即**新建一个独立文件夹**存全部产物,避免跨任务文件混杂,便于交付与回看。产物区与技能目录分离:
- **基础目录**:工作区内 `beauty-video-materials/`
- **任务文件夹**:`beauty-video-materials/<任务短名>/`(`<任务短名>` 由选题/主题派生,如 `敏感肌功效型护肤品`、`贵产品无效`,去除特殊字符与空格)
- **自包含**:本任务实际用到的参考图(人物完整形象照 / 门店空间实景图 / 插画)也复制进该文件夹,使文件夹独立可交付、可归档(复用上次素材则复制一份进来)
```
beauty-video-materials/
├── _shared/ # 共享素材库(跨任务复用,可选)
│ ├── 人物_完整形象照.png
│ ├── 门店_实景_Z0X.png(按动线 zone 选取,1~N 张)
│ └── 插画_参考1.png / 插画_参考2.png
└── <任务短名>/ # 单个视频任务(自包含)
├── 脚本_<主题>.md # 结构化交付脚本(Step 8/9)
├── prompt.txt # 提交 wan3 的纯文本 prompt(Step 8 写出)
├── 成片_<主题>.mp4 # 下载的视频成片(Step 10)
├── 人物_完整形象照.png # Image 1(本任务生成或复用复制)
├── 门店_实景_Z0X.png # 门店空间实景图(按动线规划从 store-spatial-index 选取,1~N 张)
└── 插画/
├── 插画_参考1.png # Image 3
└── 插画_参考2.png # Image 4
```
- 后续 `--media` / `--output` 一律引用本任务文件夹内路径;生成脚本已支持**自动创建输出父目录**,传任务文件夹路径无需手动 `mkdir`。
- 历史归档示例:两支视频 `敏感肌功效型护肤品/`、`贵产品无效/`,共享参考图归在 `_shared/`。