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 异步任务、轮询、下载本地;修改即整段重发(不支持二次创作)。
面向阿里云百炼 · 万相 3.0(wan3.0-video),把"美业口播科普短视频"从零散需求沉淀为一份带固定素材、可直接调用 wan3 生成视频的结构化脚本。核心约束来自用户硬性要求:
assets/brand/character_5view.* 或公网 URL config.brand_assets.character_5view.url)人物五视角图(固定锁定)。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 — 固定 4 项素材包清单 + 自动生成门店3/插画2确认 + LOGO 合成 + 物料登记 + 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(本任务生成或复用复制)
├── 门店_内景_采用.png # Image 2(含 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 第一节,逐项解析并校验 4 个固定素材(它们在本流程中是"生成输入",用于生成最终确认物料,默认不直接提交 wan3):
scripts/config.json 的 brand_assets.<key>.url(公网 URL,调用 wan3 时固定素材可直接透传);若留空则回退读取 assets/brand/ 本地文件。character_5view)、制服细节(uniform_detail)、立体 LOGO(logo_3d)、音色(voice_ref,≤15s)。产物落盘:本步生成的三类物料保存到本任务的 <任务短名>/ 文件夹——人物完整形象照、门店内景照片放根目录;插画放 插画/ 子目录;便于后续统一引用与归档。若人物/门店沿用上次已确认物料,复制一份进本任务文件夹保持自包含。
按 references/asset-collection.md 第二节,用图像生成工具基于锁定素材生成并展示,请用户确认后才作为 wan3 参考图:
character_5view 为人物参考、uniform_detail 为制服参考,合成「人物身穿制服的完整形象照」;胸牌样式与 uniform_detail 完全一致、不可变更。→ 确认后作为 Image 1。logo_3d 为 LOGO 参考生成门店内景(位置1 面诊桌正对面 / 位置2 前台侧含 LOGO / 位置3 产品护理区),确保前台出现立体 LOGO。→ 用户确认采用哪张作为主场景,记为 门店_内景_采用.jpg,作为 Image 2。展示后请用户逐类挑选/确认;若用户未做任何选择 → 系统自动随机指定一组(记录"已自动随机指定")继续。确认后的物料登记进脚本「物料清单」。
/ // 停顿符号、科普准确)。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(整段 ≤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 第四节「编导分镜版」范式写,像专业编导一样覆盖四块:
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),不可被自动生成覆盖;制服胸牌样式绝对不可变。logo_3d 为参考落位(Image 2),确保成片前台有怡呵美立体 LOGO。wan3-workflow.md 坑4 与 references/store-spatial-index.md);详见 wan3-workflow.md 第四节与 elements.md 元素 12/25/26/27。assets/store-spatial-index/);插画内容本身不得出现人物/人形(避免与真人并置成两个主角)。