script-template.md 16 KB

美业口播科普视频脚本(单段 · 百炼 wan3):【主题】

本模板由 beauty-talk-science-video-script 技能填充。下方所有 [ ] 占位项按用户确定的元素与 wan3 工作流生成。整段视频一个片段、≤30 秒,不支持二次创作(每次修改整段重发 wan3)。 关键链路:原始固定素材(人物五视角图/制服细节图/音色)是生成输入;最终提交 wan3 的是经用户确认的物料(人物完整形象照 / 门店空间实景图 / 插画 / 音色)。


一、角色定义(Subject)

  • 人设 / 身份:[皮肤知识科普博主 / 医美咨询师 / …]
  • 面部形象:由 character_5view.*(固定素材)生成,全片同一人、不变脸。
  • 服装:由 uniform_detail.*(固定素材)生成,可换款式/颜色;胸牌样式必须完全一致、不可变更。
  • 造型:[深栗色半扎长发 + 斜刘海 / 与人物五视角图一致]
  • 音色:voice_ref.*(作 Audio 1 音色参考,wan3 原生生成对白并对口型)

二、固定品牌素材(生成输入,素材包/URL 锁定,不可覆盖)

以下 3 项用于生成第三节的最终物料,默认不直接提交 wan3(voice_ref 作音色直接提交)。

  • character_5view.*(URL 或本地)→ 生成「人物完整形象照」的人物参考
  • uniform_detail.*(URL 或本地)→ 生成「人物完整形象照」的制服参考(胸牌锁死)
  • voice_ref.*(URL 或本地)→ Audio 1(直接提交,≤15s)

三、生成并确认的最终物料(用户确认后才提交)

⚠️ 以下物料名里的 Image 1 / Image 2 / Image 3 / Image 4 / Audio 1 只是内部命名与 media 数组顺序对应,绝不能原样写进 prompt 文本(wan3 会把 Image N/Audio N 当对白念出)。prompt 里用自然语言描述画面与音色即可。

  • 人物完整形象照(Image 1):由 character_5view + uniform_detail 生成,人物_完整形象照.jpg(胸牌与 uniform_detail 一致、不可变更)。
    • 确认状态:[用户挑选 / 已自动随机指定:人物_形象_X]
  • 门店空间实景图(Image 2):按动线 zone 从 assets/store-spatial-index/ 选取的实景照片(如 门店_实景_Z02.jpg),怡呵美 LOGO 随实景自然呈现,不另行生成。
    • 选取:按动线规划涉及的 zone 选取对应实景图(如 _Z02 开场 zone / _Z05 走位走廊 / _Z04 落点洽谈区),多 zone 可多张分别作各段背景参考;U01–U03 禁用。
    • 确认状态:[按动线 zone 选取:门店_实景_Z0X]
  • 插画参考图(Image 3 / Image 4,抽象可视化风格启发):插画_参考1.jpg / 插画_参考2.jpg,无真人皮肤/血液/文字。
    • 确认状态:[用户挑选 / 已自动随机指定:插画_参考_X]

四、口播文案(口语化、可加语气词、不大幅增字,按约 3–3.7 字/秒估算、总时长 ≤30 秒、不固定 30 秒)

由用户内容转换而来:先规避/修改违禁词,再优化得更口语化白话(书面改日常说话、适当加语气词),不大幅增加字数;自然亲和、适合口播;/ 短停、// 长停不读出。

[口语化口播全文:……(示例)"很多姐妹分不清泛红和红血丝 / 其实它俩真不是一回事 // 泛红是一过性的、受刺激就红 / 红血丝是毛细血管扩张、常年挂在那 // 搞清楚了,护肤才不踩坑。"]

字数校验:[N] 字 → 按 ~3–3.7 字/秒 估算约 [N/3.5≈T] 秒,须 ≤30 秒(T 最终由第五节 Shot 表求和确认)。


四-补、敏感词/合规检测(口播定稿后必跑)

口播文案(第四节)经用户确认后,按技能 Step 6 自动跑 scripts/compliance_scan.py + 对照 references/compliance-check.md 复核,结论写入此处留痕。

  • 检测触发:每次口播定稿确认后必跑;用户按建议改 / 自改后再次检测,循环直到无 🔴 极高、无 🟠 高违规。
  • 检测报告结论:[通过 / 修改后通过(中·低) / 不予通过]
  • 命中条目与处置: | 违规点 | 原表述 | 风险等级 | 法规依据 | 合规替换 | 处置 | |--------|--------|----------|----------|----------|------| | [类别] | 「[词]」 | [🔴/🟠/🟡/🟢] | [法规] | [替换] | [已采纳 / 用户自改 / 保留待核] |
  • 确认状态:[用户已确认通过 / 已按建议修改后复检通过]

四-补2、插画插入点(用户确认,提交前必填)

在口播文案(第四节)与插画(第三节 Image 3/4)都确认后,由用户指定插画从哪一句开始融入画面作为起始点(见技能 Step 7)。

  • 口播分句(按停顿切分,带编号): ① [句1] ② [句2] ③ [句3] ④ [句4] …(以用户确认稿为准逐句拆出)
  • 插画起始句:第 [N] 句「[原文]」——Image 3 / Image 4 从该句起连续融入画面;若多图各自对应不同句,逐图标注(如 Image 3→句②、Image 4→句③)。
  • 确认状态:[用户点选 / 已自动建议:第 N 句]

五、单段视频 Prompt(整段 [T] 秒 · 编导分镜版,含参考引用;T 由本节【动线设计规划】时间列求和得出且 ≤30)

一段连续 prompt 描述整段画面(不拆分请求),wan3 原生生成画面 + 对白 + 环境音。下方范式按官方「总体描述 + 镜头序号 + 时间戳 + 分镜内容」组织,时间戳用英文 Shot N [x-y s]、台词用 {} 圈出。⚠️ prompt 文本里绝不写 Image N/Audio N(会被 wan3 当对白念出,见 wan3-workflow.md 第一节/第七节);第三节物料靠 media 数组顺序间接对应,用自然语言描述画面与音色即可。写这条 prompt 要像专业编导:人物必须在门店场景里"活"起来,不站桩;运镜/插画展示/门店丰富元素按下面四块随机组合设计(对应 elements.md 元素 25/26/27/12)。

【总体描述】
一位身穿[米白]美容师制服、[深栗色半扎长发 + 斜刘海]、胸牌样式与参考形象照一致的女美容师,
在怡呵美门店内(依据随附门店实景参考图,背景虚化,可见门店场景元素——依动线规划,如前台、美容床、沙发、产品陈列架等,
一名店员从画面边缘虚化走过)拍摄。画面中的女美容师、门店与插画均依据随附参考图生成,
须保持人物脸型/发型/制服/胸牌一致,门店场景须与随附实景参考图一致(怡呵美 LOGO 随实景自然呈现),插画为卡通动漫风抽象可视化(无真人、无文字)。

整体动线:[开场端坐于面诊桌前自然引入主题,中段起身缓步走向产品陈列架、边走边说,
结尾保持站立、抬手手势收束];说话间以自然手势比划、轻微点头等真实肢体动作呈现。
(动线须按下方【动线设计规划】逐 Shot 落实:单段 ≤2 个动作切换、方向不反向、绝不全程正对镜头站桩。)

镜头语言:[开场中近景极轻微横摇,人物走动时跟随拍摄,讲到核心点时缓慢推近,结尾缓慢拉远收束];
整体手持微晃保留真实手机拍摄质感。

语气与节奏:她自然亲和地讲解,像真人面对面聊天一样有温度有起伏——问句好奇上扬、肯定句沉稳、
列举句轻快有层次、收束句温和坚定;整体语速比自然对话放慢约一半、从容舒缓,让内容自然撑满约[T秒](T=动线规划表各 Shot 时长之和,≤30s),
句与句之间留约[0.5s]自然气口,不赶。

声音:原生清晰女声普通话对白(音色参考随附音频)、轻微环境音、无背景音乐;
口播须有自然语调起伏与停顿,禁止平淡匀速念稿。

硬性约束:口播须严格限于下列分镜台词,禁止添加、删改或自由发挥任何文案之外的语句、语气词;
插画以画中画形式呈现,形状随机选用正方形或圆形;单个插图宽度不超过画面宽度的 1/2、高度按宽高比等比例;可置于画面任意位置,但任何情况下不得遮挡人物面部;禁止全屏覆盖;绝对禁止出现字幕、任何画面文字、
卡通化人物、塑料皮肤、变脸、服装漂移、场景跳变、或其他清晰正脸人物抢镜。

结构说明:以下「Shot序号 + 时间戳 + 分镜内容」为本片分镜脚本;Shot序号与时间戳是给模型的
节奏结构指令,不是台词,禁止当作语音读出;也禁止在任意空白时段补加台词或语气词。

> **🗺️ 动线前置必读**:设计下表动线前,必须先阅读 `assets/store-spatial-index/` 下的《空间索引.json》与《00_俯瞰图_修订_带布局编号V4.jpeg》,理解店内整体布局(各 zone 相对位置、连通关系、可步行串联关系);**动线长度与人物走动速度须与总时长 T 匹配,切忌让人物走动太快或动线过长(避免瞬移式跨区 / 赶场感)**。动线所涉 zone 据此从资源包选取实景图。

【动线设计规划】(按 Shot 拆解;下表为示例,按本片实际主题替换对应行。⚠️ **人物出场场景由本规划决定,不固定前台**;硬约束:单段 ≤2 个动作切换且方向不反向、绝不全程正对镜头站桩、须与门店场景互动)

> **📐 Shot 台词时间分配表(时长预算)**:本表「时间」列即逐 Shot 的台词时间分配,须**按本任务台词内容**规划(每 Shot 绑定对应口播句数与篇幅)。各 Shot 时长**求和 = 本段预计总时长 T**(上表示例 = 30s,仅作格式演示)。**T 即本段实际 `duration`,必须 ≤30 秒**;T 同步用于:总体描述「撑满约[T秒]」、下方分镜脚本时间戳 0→T 连续铺满、以及第八节 `--duration T` / JSON `duration`。若求和 >30,回第四节精简口播。

| Shot | 时间 | 场景 zone(出场/经过) | 姿态 / 走位 | 手势 / 肢体 | 场景互动点 |
|------|------|------------------------|-------------|-------------|------------|
| 1 | 0-4s | Z02 产品陈列架前(开场) | 端坐于陈列架前 | 手持微晃、自然手势比划 | 怡呵美发光字展柜 / 灯带层板 |
| 2 | 4-7.5s | Z02 产品陈列架前 | 仍端坐(中近景) | 轻微点头、自然手势 | — |
| 3 | 7.5-12.5s | 经主走廊 Z05 → Z04 洽谈区(坐→走,方向不反向) | 起身缓步走向洽谈区 | 边走边说、自然手势 | 主走廊 Z05 / 等候洽谈区 Z04 |
| 4 | 12.5-19.5s | Z04 洽谈区 | 落座 / 站立讲解 | 讲到核心点抬手 / 重音手势 | 洽谈区沙发 / 茶几 / 电视 |
| 5 | 19.5-26s | Z04 洽谈区 | 保持坐姿/站立、轻微侧身 | 自然手势讲解 | — |
| 6 | 26-30s | Z04 洽谈区 | 保持、抬手收束(至结尾不再变换) | 抬手手势收束 | — |

> 动作切换计数:端坐 → 起身走动(1 次);走动后落座/站立至结尾(不二次起身、不反向)。满足 ≤2 个动作切换。
> 场景清单:本片出场/经过 zone = Z02 → Z05 → Z04(据此从 `assets/store-spatial-index/` 选取对应门店实景图,LOGO 随 Z02 发光字展柜等地区实景自然呈现;不限定前台)。

【分镜脚本】(示例时间戳按 T=30s 演示;实际须用本任务算出的 T 重排,全程 0→T 连续、末段结束于 T,不空段)
Shot 1 [0-4s]:[开场中近景,女美容师端坐面诊桌前,手持微晃手机质感,镜头极轻微横摇];
她好奇上扬地提问{[第四节·口播句1]},句末留自然气口。

Shot 2 [4-7.5s]:[仍端坐,中近景];她自然沉稳肯定{[口播句2,含防错替换:定期→订期]},语气笃定、不赶。

Shot 3 [7.5-12.5s]:[她起身缓步走向产品陈列架、边走边说,镜头跟随拍摄];列举句轻快有层次{[口播句3]}。

Shot 4 [12.5-19.5s]:[走到陈列架前站立,讲到核心点时镜头缓慢推近;此处画面右侧嵌入圆形画中画
展示插画参考1(抽象可视化,无真人无文字,禁全屏)]。该句放慢加重带警示,讲到「[核心重音点]」时
稍作重音并留自然停顿{[口播句4]}。

Shot 5 [19.5-26s]:[切换为画面侧边圆角区域画中画展示插画参考2(同风格,不铺满整屏)];她自然亲和{[口播句5]}。

Shot 6 [26-30s]:[结尾缓慢拉远收束,她保持站立、抬手手势收束,中近景];收束句温和坚定{[口播句6]},留足停顿感。

六、保留分析(Retention,一致性)

  • 人物:与 Image 1(确认的人物完整形象照)同脸 / 同发型 / 同年龄感 / 同制服(胸牌尤甚),全片不变。
  • 场景:动线规划确定的主场景(门店空间实景图,LOGO 随实景自然呈现)与 Image 2 一致,光线方向一致。
  • 音色:同一 Audio 1 音色。
  • 插画风格:与 Image 3 / Image 4 一致(抽象可视化)。

七、硬性禁令(Hard Bans,优先级最高)

  • 绝对禁止字幕、标题、Logo、品牌字样、任何可读或不可读文字(用户指定 LOGO 视觉露出除外)。
  • 绝对禁止把口播文字转化为屏幕文字;对白只通过人物声音表达。
  • 禁止人物变脸 / 换人 / 服装漂移(胸牌尤甚)/ 场景跳变 / 卡通化 / 塑料皮肤 / 夸张嘴型。
  • 抽象画面禁止真实血液、伤口、恐怖皮肤、医学 UI、文字、箭头、图例。
  • 人物皮肤、脸部、颈部、手臂与服装表面禁止任何 Logo、文字、字母、数字、纹身字样、标签、水印(胸牌为指定样式,不含额外文字)。
  • 全片真实拍摄质感,不生成失真或 AI 痕迹过重画面。
  • 插画内禁止出现任何人物 / 人形轮廓 / 手势 / 人影(红线,避免与口播真人并置成"两个主角";插画只画机理示意 / 物品 / 皮肤特写 / 光线氛围)。
  • 口播逐字红线:口播 = 且仅为确认后的台词文本,逐字一字不差;prompt 其他文字(章节标题 / 表格表头 / 规格标注 / 结构说明)一律不出声;禁止增加任何字词(语气词、口头语、英文、总结句)或据画面/主题自行补词(如"做好防晒"后追"干皮")。
  • 背景一致性:人物未走位时背景禁止漂移成其他房间;人物真实经过的过渡空间(如走廊)必须传对应实景 reference_image,仅靠俯瞰图 + 文字描述会脑补出"幽灵硬件"。

八、AI 口令(wan3 请求,含参考物料引用)

组装为 scripts/generate_video.py 的实际调用参数。提交的是第三节确认后的物料。

命令(在任务文件夹 beauty-video-materials/<任务短名>/ 内执行,或直接用绝对路径):

export DASHSCOPE_API_KEY="sk-xxx"
python scripts/generate_video.py \
  --config scripts/config.json \
  --prompt "$(cat prompt.txt)" \
  --media \
    人物_完整形象照.png:reference_image \
    门店_实景_Z02.png:reference_image \
    门店_实景_Z05.png:reference_image \
    门店_实景_Z04.png:reference_image \
    插画/插画_参考1.png:reference_image \
    插画/插画_参考2.png:reference_image \
    "https://cdn.x/voice_ref.mp3:reference_audio" \
  --duration <T> --ratio 9:16 --resolution 720P \   # T = 第五节动线规划表各 Shot 时长之和(≤30)
  --output 成片_<主题>.mp4

说明:--prompt 直接读本任务文件夹的 prompt.txt(Step 8 写出);--media 引用本任务文件夹内的人物形象照 / 门店实景图 / 插画,--output 指向同文件夹成片路径(脚本已自动创建父目录,无需手动 mkdir)。音色 voice_ref 走 config.brand_assets 固定 URL 透传,不进文件夹。

等价于请求体(JSON):

{
  "model": "wan3.0-video",
  "input": {
    "prompt": "[第五节整段 prompt]",
    "media": [
      {"type": "reference_image", "url": "<人物_完整形象照 上传URL>"},
      {"type": "reference_image", "url": "<门店_实景_Z0X 上传URL>"},
      {"type": "reference_image", "url": "<插画_参考1 上传URL>"},
      {"type": "reference_image", "url": "<插画_参考2 上传URL>"},
      {"type": "reference_audio", "url": "<voice_ref URL 或 上传URL>"}
    ]
  },
  "parameters": {"resolution": "720P", "ratio": "9:16", "duration": <T>, "audio": true, "prompt_extend": false, "watermark": false}  # T = 第五节动线规划表各 Shot 时长之和(≤30)
}

修改任何元素都整段重发本请求(不用 wan3 编辑/延长),见技能第 9 步。