name: beauty-talk-science-video-script description: 生成「美业口播科普视频脚本」并直出视频的通用技能。面向阿里云百炼 wan3(万相3.0)文生/参考生视频,把选题/人设/画幅/时长/场景/服装/造型/画质/穿插/字幕/配乐等元素参数化;人物五视角图、制服细节图、音色三项固定素材来自技能素材包(assets/brand/)或公网URL(config.brand_assets)并锁定作生成输入;据其生成人物完整形象照、插画供用户确认,门店场景直接采用门店空间索引实景图(按动线 zone 选取),确认后的物料作为参考图提交 wan3;口播转为口语化(更白话、适当加语气词、不大幅增字,并规避违禁词);整段视频一个片段、≤30秒;确认后调用 scripts/generate_video.py 提交 wan3 异步任务、轮询、下载本地;修改即整段重发(不支持二次创作)。
面向阿里云百炼 · 万相 3.0(wan3.0-video),把"美业口播科普短视频"从零散需求沉淀为一份带固定素材、可直接调用 wan3 生成视频的结构化脚本。核心约束来自用户硬性要求:
assets/brand/character_5view.* 或公网 URL config.brand_assets.character_5view.url)人物五视角图(固定锁定)。assets/store-spatial-index/ 选取对应 zone 照片作参考图),怡呵美 LOGO 随实景图(品牌墙/发光字展柜)自然呈现,不另行生成含 LOGO 的门店图。references/elements.md;固定品牌素材放在 assets/brand/(本地兜底)或 scripts/config.json 的 brand_assets 段(公网 URL,推荐);视频工具锁定百炼 wan3,工程要点全在 references/wan3-workflow.md。scripts/config.json;其他同事把 git 仓库 clone 到 ~/.workbuddy/skills/beauty-talk-science-video-duoduo/(个人级)或项目 .workbuddy/skills/(团队级),复制 .env.example 为 .env 填入自己的 DASHSCOPE_API_KEY 即可启用,无需改任何配置。详见 docs/暨北内部-朵朵口播视频专用技能.md。百炼 wan3 视频生成需要 北京地域的 DashScope / 百炼 API Key(以 sk- 开头)。你之前看到的 sk-xxx 只是占位符,必须替换成在控制台创建的真实 Key。操作如下:
sk- 开头的串(只显示一次,立即保存)。
cn-beijing,必须创建北京地域的 Key,否则调用直接失败。DASHSCOPE_API_KEY=sk-真实key python scripts/generate_video.py ...(仅本次进程生效,适合 WorkBuddy 终端环境)。scripts/.env.example 为 scripts/.env,写入一行 DASHSCOPE_API_KEY=sk-真实key;脚本优先读环境变量、其次读 .env。.env 含密钥,严禁提交 git 或随技能 zip 分发;重新打包技能前请删除本地 .env。config.json 的 region=cn-beijing 与 Key 地域必须一致,workspace_id=gxuwdo0w0g13zbax 已填好。references/elements.md — 全部可参数化元素与可选项(含门店风格/插画风格/整体色调)。references/wan3-workflow.md — 百炼 wan3 端点/鉴权/参考映射/单段 prompt 范式/LOGO 合成/不二次创作。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直传)→建任务→轮询→下载本地。scripts/config.json — region / workspace_id / model / resolution / ratio / output_dir(密钥走环境变量)。每个任务在 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(本任务生成或复用复制)
├── 门店_实景_Z0X.png # Image 2(门店空间索引实景图,按动线 zone 选取,LOGO 随实景自然呈现)
└── 插画/
├── 插画_参考1.png # Image 3
└── 插画_参考2.png # Image 4
后续 --media / --output 一律引用本任务文件夹内路径;生成脚本 generate_video.py 已支持自动创建输出父目录,传任务文件夹路径无需手动 mkdir。
references/elements.md,将未指定的基础元素用一次交互式问答(AskUserQuestion,批量提问,每题给可选项+默认标注)补全;具体值不在可选项内时以用户值为准。生成任何图之前,用一次交互式问答询问用户对以下元素风格的文字偏好(选项见 references/elements.md):
门店/场景风格(元素 22)|插画风格(元素 23)|整体色调(元素 24)|画质质感(元素 15)|情绪基调(元素 20)
用户逐条给出 → 后续按这些风格自动生成物料图。
用户答"无特别要求/你定" → 进入自动模式,按默认风格生成示例图,让用户在看图时再挑(见 Step 4)。
按 references/asset-collection.md 第一节,逐项解析并校验 3 个固定素材(它们在本流程中是"生成输入",用于生成最终确认物料,默认不直接提交 wan3):
scripts/config.json 的 brand_assets.<key>.url(公网 URL,调用 wan3 时固定素材可直接透传);若留空则回退读取 assets/brand/ 本地文件。character_5view)、制服细节(uniform_detail)、音色(voice_ref,≤15s)。产物落盘:本步生成的两类物料保存到本任务的 <任务短名>/ 文件夹——人物完整形象照放根目录;插画放 插画/ 子目录;门店空间实景图(按动线 zone 从资源包选取)另存 门店实景/ 子目录;便于后续统一引用与归档。若人物沿用上次已确认物料,复制一份进本任务文件夹保持自包含。
⚠️ 动线规划须最先确定(本步选取实景图的前置):设计动线前,必须先阅读
assets/store-spatial-index/下的《空间索引.json》与《00_俯瞰图_修订_带布局编号V4.jpeg》,理解店内整体布局(各 zone 相对位置、连通关系、哪些区可步行串联);在选取门店实景图前,先依选题/口播主题与references/store-spatial-index.md(Z01–Z09 可用区)规划本片动线——列出本片出场/经过的 zone、开场 zone、走位 zone、插画所在 zone;人物出场场景由动线规划决定,不再固定前台。随后按动线涉及的 zone 从assets/store-spatial-index/选取对应实景图(LOGO 随实景图自然呈现,不另行生成含 LOGO 门店图);动线长度(跨越 zone 数与步行距离)与人物走动速度须与总时长 T 匹配,切忌走太快或动线太长(避免瞬移式跨区 / 赶场感)。该动线规划在 Step 8 组装时填入脚本第五节【动线设计规划】表。
按 references/asset-collection.md 第二节,用图像生成工具基于锁定素材生成并展示,请用户确认后才作为 wan3 参考图:
character_5view 为人物参考、uniform_detail 为制服参考,合成「人物身穿制服的完整形象照」;胸牌样式与 uniform_detail 完全一致、不可变更。→ 确认后作为 Image 1。assets/store-spatial-index/ 按动线规划涉及的 zone(如开场 zone = 产品陈列架 Z02 / 洽谈区 Z04 / 前台 Z03…)选取对应门店实景照片,作为 Image 2(场景参考图);怡呵美 LOGO 随实景图(品牌墙 Z01 / 发光字展柜 Z02 等)自然呈现,无需单独生成。多 zone 动线可选取多张分别作为各段背景参考。展示后请用户逐类挑选/确认;若用户未做任何选择 → 系统自动随机指定一组(记录"已自动随机指定")继续。确认后的物料(人物形象照/插画)与选取的门店实景图登记进脚本「物料清单」。
/ // 停顿符号、科普准确、自然亲和。(注:语气词写进「口播定本」本身;下方口播逐字红线要求 wan3 逐字读出定本、不得自行加词,二者不冲突——语气词是定本的一部分,不是生成时临加的。)wan3-workflow.md 坑5。scripts/compliance_scan.py 对口播全文做机器初筛;references/compliance-check.md 人工复核(否定语境同样违规、灰色地带标「建议咨询法律顾问」),生成「敏感词/合规检测报告」(风险等级 🔴🟠🟡🟢 + 法规依据 + 合规替换 + 结论)。/ 短停、// 长停)切分为带编号的分句,逐句列出(① / ② / ③ …)供用户点选。assets/script-template.md 第四节补)。wan3-workflow.md 坑7)。插画只画机理示意 / 物品 / 皮肤特写 / 光线氛围。用 assets/script-template.md 填充,产出单份结构化 Markdown:
一、角色定义 → 二、固定品牌素材 → 三、自动生成素材 → 四、口播文案(口语化,字数校验)→ 四-补、插画插入点 → 五、单段视频 Prompt(整段 [T] 秒、T 由 Shot 台词时间分配表求和得出且 ≤30,官方公式版:总体描述 + Shot序号 + 时间戳 + 分镜内容,时间戳英文 Shot N [x-y s]、台词 {} 圈出;prompt 中禁止写 Image N/Audio N)→ 六、保留分析 → 七、硬性禁令 → 八、AI 口令(wan3 请求:命令 + JSON)。
脚本_<主题>.md;并把第五节整段 prompt 单独写出到本任务文件夹 prompt.txt(供 Step 10 直接 --prompt "$(cat .../prompt.txt)" 读取)。wan3-workflow.md 第四节「编导分镜版」范式写,像专业编导一样覆盖四块:
duration。把 T 同步写入三处:① 总体描述「让内容自然撑满约[T秒]」② 分镜脚本时间戳 0→T 连续铺满、末段结束于 T ③ --duration T 与 JSON duration。T 必须 ≤30,超限回 Step 5 精简口播。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 第一节/第七节)。脚本_<主题>.md(路径如 beauty-video-materials/<任务短名>/脚本_<主题>.md)并 present;参考物料图(人物/门店/插画)已在本任务文件夹内,一并随交付提供。DASHSCOPE_API_KEY 环境变量(或同目录 .env)已设置;scripts/config.json 的 workspace_id / base_url / brand_assets URL 为固定预填(暨北内部朵朵专用),无需改动。scripts/generate_video.py(参数见脚本模板第八节):提交确认后的物料(人物完整形象照 / 门店空间实景图 / 插画,本地图编码 base64 直传;音色 voice_ref 按 URL 直传或本地 base64 直传)→ 建任务 → 轮询 → 下载到本任务文件夹 成片_<主题>.mp4;--media 引用本任务文件夹内的人物形象照/门店实景图/插画,--output 指向该文件夹成片路径(脚本已自动创建父目录)。VIDEO_PATH=...,把生成的视频 present 给用户确认。assets/brand/)或公网 URL(config.brand_assets),不可被自动生成覆盖;制服胸牌样式绝对不可变。assets/store-spatial-index/ 下的《空间索引.json》与《00_俯瞰图_修订_带布局编号V4.jpeg》理解店内整体布局;动线规划须于 Step 4 选取实景图前先行确定(见 Step 4 前置说明),并填入脚本第五节【动线设计规划】表(含场景 zone 列),门店实景图据此按对应 zone 选取。wan3-workflow.md 坑4 与 references/store-spatial-index.md);详见 wan3-workflow.md 第四节与 elements.md 元素 12/25/26/27。assets/store-spatial-index/);插画内容本身不得出现人物/人形(避免与真人并置成两个主角)。