|
|
@@ -26,27 +26,27 @@
|
|
|
> ⚠️ `.env` 含你的密钥,**严禁提交 git 或随技能 zip 分发**;重新打包技能前请删除本地 `.env`。
|
|
|
2. 固定品牌素材 / 工作空间 / base_url 均已预填,**无需任何改动**即可直接运行。
|
|
|
|
|
|
-## 运行
|
|
|
+## 运行(11 步流程)
|
|
|
|
|
|
对 WorkBuddy 说:「用美业口播科普视频脚本技能,做一条关于 *[选题]* 的口播视频」。技能按 `SKILL.md` 的 11 步流程执行:
|
|
|
|
|
|
-> 文字风格问卷 → 锁定固定素材 → 生成并确认物料(人物形象照 / 门店内景含 LOGO / 插画)→ 确认口播文案 → **敏感词/合规检测(必跑,用户按建议改或自改后复检)** → 确定插画插入点 → 组装编导分镜 Prompt → 逐步确认 → 调 wan3 生成 → 成片交付。
|
|
|
+> 收集输入 → 文字风格问卷 → 锁定固定素材 → 生成并确认物料(人物形象照 / 门店内景含 LOGO / 插画)→ 处理口播文案(口语化 + 30 秒硬卡)→ **确认口播 + 敏感词/合规检测(必跑,用户按建议改或自改后复检)** → 确定插画插入点 → 组装编导分镜 Prompt → 逐步确认 → 调 wan3 生成 → 成片交付 → 修改即整段重发。
|
|
|
|
|
|
也可手动驱动生成脚本:`python scripts/generate_video.py --help`。
|
|
|
|
|
|
-## 生产视频流程图
|
|
|
+### 生产视频流程图
|
|
|
|
|
|
> 注:GitLab / GitHub 出于安全策略**不渲染 Markdown 中的 SVG 图片**(SVG 可能含脚本),因此流程图改用 **Mermaid 代码块**——GitLab 网页端原生支持、会直接渲染为图,且是纯文本可版本化。原 SVG 文件保留在 `docs/flowchart.svg` 供支持 SVG 的平台使用。
|
|
|
|
|
|
```mermaid
|
|
|
graph TD
|
|
|
- A[用户触发<br/>选题 / 选题+素材] --> B[文字风格问卷<br/>无要求则自动生成物料]
|
|
|
+ A[用户触发<br/>选题 / 选题+素材] --> B[收集基础输入<br/>+ 文字风格问卷]
|
|
|
B --> C[锁定固定素材<br/>4项OSS URL 已写死]
|
|
|
C --> D[生成并确认物料<br/>人物形象照 / 门店内景含LOGO / 插画]
|
|
|
- D --> E[确认口播文案<br/>转口语化 + 字数约90-110]
|
|
|
- E --> E2[敏感词/合规检测<br/>必跑 · 风险等级+替换建议]
|
|
|
+ D --> E[处理口播文案<br/>转口语化 + 30秒硬卡 ≤110字]
|
|
|
+ E --> E2[确认口播 + 敏感词/合规检测<br/>必跑 · 机器初筛+人工复核]
|
|
|
E2 --> F[确定插画插入点<br/>指定从哪句开始融入]
|
|
|
- F --> G[组装编导分镜 Prompt<br/>动线 + 运镜 + 插画展示 + 门店元素]
|
|
|
+ F --> G[组装编导分镜 Prompt<br/>动线+运镜+插画+门店元素+背景锚定]
|
|
|
G --> H[逐步确认]
|
|
|
H --> I[调百炼 wan3 生成<br/>建任务 → 轮询 → 下载]
|
|
|
I --> J[成片交付]
|
|
|
@@ -55,36 +55,89 @@ graph TD
|
|
|
K -- 是 --> Z[完成]
|
|
|
```
|
|
|
|
|
|
-> 详细分步说明见 `docs/暨北内部-朵朵口播视频专用技能.md`。
|
|
|
+> 详细分步说明见 `docs/暨北内部-朵朵口播视频专用技能.md` 与 `SKILL.md`。
|
|
|
|
|
|
-## 编导分镜要点(确保真实感)
|
|
|
+## 核心能力模块
|
|
|
+
|
|
|
+### 1. 编导分镜要点(确保真实感 · 五块)
|
|
|
|
|
|
- **人物行为动线**:30 秒单段 ≤2 个动作、方向不反向(「走动→落座」则落座后不再起身;「坐姿→起身走动」则走动后不再落座);口播时不设计整理产品等手部摆弄动作,手部只用自然手势 / 点头。
|
|
|
- **运镜组合**:2–3 种随机穿插(跟随 / 推近 / 拉远 / 横移 / 手持微晃)。
|
|
|
- **插画展示方式**:仅限局部呈现——圆形画中画 / 顶部或底部条状画中画 / 侧边画中画,**禁止全屏铺盖与人物画中画式全屏**(用户 2026-09-17 规则)。
|
|
|
- **门店丰富元素**:前台 / 美容床 / 沙发 / 桌椅 / 其他店员虚化走过,随机点缀 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 必跑)
|
|
|
+
|
|
|
+口播文案确定后**必须自动跑一次**检测,结论无 🔴 极高 / 🟠 高违规才进入组装与生成:
|
|
|
|
|
|
-详细元素、wan3 工程要点、物料收集流程分别见 `references/elements.md`、`references/wan3-workflow.md`、`references/asset-collection.md`;单段脚本骨架见 `assets/script-template.md`。
|
|
|
+- 机器初筛:`scripts/compliance_scan.py` 对口播全文做关键词命中底筛。
|
|
|
+- 人工复核:对照 `references/compliance-check.md`(整合 `content-reviewer` 与 `medical-content-compliance-auditor` 两技能,按美业场景裁剪),输出「风险等级 + 法规依据 + 合规替换 + 结论三选一」报告。
|
|
|
+- 用户二选一:① 按建议改(回到处理口播重出)② 自己改(复检),循环直到通过。
|
|
|
+
|
|
|
+### 4. 对口型 Lip-Sync(lipsync-fal · C 方案)
|
|
|
+
|
|
|
+当 wan3 原生 TTS 出现单字发音缺陷(参考音频只克隆音色、不控发音)时,走 **C 方案**:剥离静音视频 + 外部 TTS(如百炼 CosyVoice)配音 + fal.ai 对口型。`references/lipsync-fal.md` 给出落地路线与模型选型——**首选 `fal-ai/sync-lipsync`**(保原时长、保原分辨率、能跳过无脸帧),规避 Wan3 编辑模式 15s 上限与 LatentSync/MuseTalk 的裁切/改分辨率问题。
|
|
|
+
|
|
|
+## 资源引用
|
|
|
+
|
|
|
+- `references/elements.md` — 全部可参数化元素与可选项(门店风格 / 插画风格 / 整体色调等)。
|
|
|
+- `references/wan3-workflow.md` — 百炼 wan3 端点 / 鉴权 / 参考映射 / 编导分镜 prompt 范式 / 实战坑位(背景漂移、口播加词、单字发音、插画禁人物、生成超时续轮询等)。
|
|
|
+- `references/asset-collection.md` — 固定 4 项素材包清单 + 自动生成物料确认 + LOGO 合成 + 物料登记 + wan3 映射。
|
|
|
+- `references/compliance-check.md` — 敏感词 / 合规检测方法论与报告模板(Step 6 必跑)。
|
|
|
+- `references/lipsync-fal.md` — 对口型 Lip-Sync 落地路线(C 方案配音后)。
|
|
|
+- `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 # 本文件(快速上手)
|
|
|
+├── SKILL.md # 主流程与硬约束(11 步)
|
|
|
+├── README.md # 本文件(快速上手)
|
|
|
├── references/
|
|
|
-│ ├── elements.md # 全部可参数化元素与可选项
|
|
|
-│ ├── wan3-workflow.md # 百炼 wan3 端点/鉴权/参考映射/编导分镜 prompt 范式
|
|
|
-│ └── asset-collection.md # 固定 4 项素材 + 自动生成物料确认 + 物料登记
|
|
|
+│ ├── elements.md # 全部可参数化元素与可选项
|
|
|
+│ ├── wan3-workflow.md # 百炼 wan3 端点/鉴权/参考映射/编导分镜/实战坑位
|
|
|
+│ ├── asset-collection.md # 固定 4 项素材 + 自动生成物料确认 + 物料登记
|
|
|
+│ ├── compliance-check.md # 敏感词/合规检测方法与报告模板(Step 6 必跑)
|
|
|
+│ ├── lipsync-fal.md # 对口型 Lip-Sync 落地路线(C 方案配音后)
|
|
|
+│ └── store-spatial-index.md # 门店空间索引与空间锚定硬规则(Z01–Z09/U01–U03)
|
|
|
├── assets/
|
|
|
-│ ├── script-template.md # 单段结构化脚本骨架(交付物模板)
|
|
|
-│ └── brand/README.md # 固定品牌素材包说明
|
|
|
-└── scripts/
|
|
|
- ├── generate_video.py # 解析素材 → 建任务 → 轮询 → 下载
|
|
|
- ├── config.json # region/workspace_id/model/分辨率/比例/品牌 URL(密钥走 .env)
|
|
|
- └── .env.example # API Key 模板(复制为 .env 填入真实 key)
|
|
|
+│ ├── 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` 排除,不会随仓库提交。
|
|
|
+
|
|
|
## 任务产物目录结构(每次任务独立归档)
|
|
|
|
|
|
每个任务在收集输入后即**新建一个独立文件夹**存全部产物,避免跨任务文件混杂,便于交付与回看。产物区与技能目录分离:
|
|
|
@@ -97,9 +150,7 @@ beauty-talk-science-video-script/
|
|
|
beauty-video-materials/
|
|
|
├── _shared/ # 共享素材库(跨任务复用,可选)
|
|
|
│ ├── 人物_完整形象照.png
|
|
|
-│ ├── 门店_内景_1.png
|
|
|
-│ ├── 门店_内景_2.png
|
|
|
-│ ├── 门店_内景_3.png
|
|
|
+│ ├── 门店_内景_1.png ~ 门店_内景_3.png
|
|
|
│ └── 插画_参考1.png / 插画_参考2.png
|
|
|
└── <任务短名>/ # 单个视频任务(自包含)
|
|
|
├── 脚本_<主题>.md # 结构化交付脚本(Step 8/9)
|
|
|
@@ -114,4 +165,3 @@ beauty-video-materials/
|
|
|
|
|
|
- 后续 `--media` / `--output` 一律引用本任务文件夹内路径;生成脚本已支持**自动创建输出父目录**,传任务文件夹路径无需手动 `mkdir`。
|
|
|
- 历史归档示例:两支视频 `敏感肌功效型护肤品/`、`贵产品无效/`,共享参考图归在 `_shared/`。
|
|
|
-
|