下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-eqhikjla--talking-avatar-pro.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-eqhikjla/talking-avatar-pro。- 制作 AI 数字人口播与虚拟主播视频。当用户的请求涉及数字人说话/口播、虚拟主播、让照片说话、数字人讲解、产品讲解视频、数字人培训/课程口播、公告与社交口播等,且用户提供或可获得一张人像与一段脚本/语音时,使用本技能。它将人像与已确认旁白(或先合成旁白)驱动为一条口型同步、人物一致、动作稳定的讲述者短片,并在交付前做人物一致性、声音清晰度、口型同步与动作稳定…
- 需要声音克隆时转声音克隆工作流
- 多场景剪辑/字幕转视频编辑工作流。无肖像与声音授权时不得生成。
阅读全文 (展开查看完整说明)
概述
概述
把"一张人像 + 一条已确认旁白(或短脚本先合成旁白)"制作成一条由声音驱动的讲述者短片:画面中的人物随声音完成稳定、自然的口播。适用于 AI 主播、虚拟主播视频、数字人讲解、让照片说话、产品讲解、数字人培训/课程口播、公告与社交口播。
本技能是讲述者(storyteller)路线:聚焦"一张稳定人像 + 一条语音 + 一个由声音驱动的镜头",不用无声图片动画替代语音驱动的面部动作。
与相邻路线的边界
- 需要新建/重绘人像 → 转图片生成工作流。
- 需要声音克隆(复刻某人声线) → 转声音克隆工作流。
- 需要多场景组装、字幕、剪辑已有视频 → 转视频编辑工作流。
- 需要做整门课/多讲课程视频 → 推荐数字人讲课工作流;单节课推荐微课工作流。本技能只负责单条讲述者短片。
触发条件
出现以下任意意图即触发:数字人/虚拟主播口播、让照片说话、照片说话视频、数字人讲解、产品讲解视频、数字人培训/课程口播、公告口播、社交口播,且用户已有或可获取人像与脚本/语音。
硬性输入契约
只向用户索取缺失的硬性输入,不重复询问已知项:
- 一张宿主机可访问的人像(本地路径或已上传产物引用)。
- 一条已确认语音,或一份短脚本 + 一个可选声音;二选一。
- 用户是否拥有/已获得出镜形象与配音授权(布尔)。缺授权 → 停在确认,不进入任何付费生成。
复用已知的语言、发音、投放目的、构图、活力、背景、演绎意图,不要重复问。
授权闸门(前置、不可跳过)
- 在第 0 步就确认肖像与声音权利。没有书面或明确授权时,直接停止并告知用户,绝不调用付费工具
(beatra.videos.animate / beatra.speech.synthesize)。
- 授权只在"出镜形象本人或权利方明确同意"时成立;默认无授权。
决策路由
- 已有已确认音频 → 跳过 TTS,直接进视频阶段(Phase 6 起)。
- 只有脚本 → 先选声/合成旁白(Phase 3–5),再视频阶段。
- 人像已由用户提供 → 直接用;若需特定画幅/构图,请用户提供已按目标构图的首帧,或转预处理工作流,
不要由本技能裁剪/拉伸画布。
- 需要新的人像 → 转图片工作流,拿到人像后返回本技能。
工作流(分阶段)
所有 beatra 调用都通过随包
scripts/mcp_client.py执行(详见 references/workflow.md)。不要配置/使用宿主 Beatra Connector,不要用 REST/OpenAPI 降级。
每次调用:参数 JSON 经标准输入传入,工具名作 CLI 参数(例如
... | python3 scripts/mcp_client.py call beatra.videos.animate)。
- Phase 0 — 接单与授权:核对输入契约三项;确认授权;记录投放目的、语言、发音、构图、活力、背景、
演绎意图、必须保留项(人物身份/服装/产品细节/Logo/构图/背景)。
- Phase 1 — 检视媒体事实:记录人像真实 MIME、宽、高、画幅、字节、是否含 alpha;若用户提供音频,
记录其真实 MIME、时长、字节。本地文件先经上传辅助工具上传,拿到产物引用(上传≠视觉/音频复核)。
- Phase 2 — 脚本朗读化改写(仅脚本路线):在不改变含义前提下,把脚本改成适合朗读的口语稿
(短句、自然停顿、避免缩写与难读专名)。模板见 references/script-adaptation.md。
- Phase 3 — 选声(按需):脚本路线且仍需选声时,调用
beatra.voices.list;选语言/格式/模型/控制项时
调用 beatra.models.list {"capability":"text_to_speech"}。未指定具体兼容模型时,TTS 模型保持 auto。
- Phase 4 — 实时事实核验(视频侧):任何付费合成前,调用
beatra.models.list {"capability":"image_to_video"},
确认信息卡接受 [image, driving_audio];把人像/音频真实事实与公布的图片/驱动音频约束逐项比对;确认规划语音能完整容纳在路线支持时长内。缺失/不兼容 → 在 TTS 前停止,请求最小兼容源变更。
- Phase 5 — 合成旁白(付费,仅脚本路线):固定脚本/声音/语言/模型/格式/控制项与一个不透明且稳定的
client_request_id,只提交一次 beatra.speech.synthesize。展示精确参数与付费边界;用户明确要求合成才视为批准。
- Phase 6 — 轮询并确认音频:用
beatra.tasks.get轮询至终态,读取真实
mime_type / duration_seconds / size_bytes。可播放时展示真实音频,请用户确认后再进视频阶段。绝不用脚本预览/预计时长/元数据代替音频复核。
- Phase 7 — 视频生成(付费):重新核验人像与已确认语音事实;音频时长须 ≥ 实时最小值(当前 2s)且
≤ 实时最大值/可容纳时长;选不短于真实语音长度的最小受支持整数视频时长,避免截断词尾,不补静音。保持 model:"auto",省略 aspect_ratio 以保留人像画幅。用新 client_request_id 固定参数,只调用一次 beatra.videos.animate。
- Phase 8 — 轮询、交付与质检:用
beatra.tasks.get轮询至终态,交付每个视频产物/链接;
按 references/qc-checklist.md 复核人物身份、语音清晰度、嘴部时序、动作克制度、镜头/背景稳定性、结尾质量、投放适配度、必须保留项偏移,并说明宿主机可查与不可查的范围。
硬规则(默认成立,除非用户明确选择)
- 不静默修改模型、格式、画幅、分辨率;用户要求 flac/opus/pcm 而视频路线不接受时,在付费前解释不兼容并让用户选兼容格式。
- 不静默裁剪/拉伸/更改画布;
beatra.videos.animate不是裁剪或覆盖画布步骤。 - 不硬编码模型;未指定具体兼容模型时保持
auto。 - 不把本地路径传给远程工具;始终用上传返回的产物引用。
- 每次付费调用使用新的、稳定的
client_request_id;同一阶段完全一致的参数才能用同 ID 重试。
成本与计费透明
- 旁白与视频是两个独立付费阶段,各有独立固定参数、请求 ID、批准、创建响应与任务 ID。
脚本/声音/语言/图片/音频/提示词/模型/时长/画幅任一变化 = 新逻辑付费工作 = 新 ID + 新批准。改旁白会使引用旧音频的后续视频方案失效。
- 只读查账:
beatra.wallet.get(余额/实时估价)、beatra.wallet.ledger(已扣明细)。
不要把 wallet.get 设为每次付费前的必选项,也不要臆造充值工具。
- 模型卡带
top_up块时,按卡片档位与顺序原样转述,不排高低、不贬低、不替用户挑。
错误、恢复与取消
- 创建响应丢失 → 仅用同阶段 ID 重试完全一致固定参数。任务 ID 丢失 → 调
beatra.tasks.list查候选,
与阶段私有台账的 client_request_id 匹配后,再考虑完全一致的同 ID 重试。排队中/运行中 = 进度,不是失败。
- 规划变更后的任务前先恢复原阶段;绝不重复付费提交,不猜测费用或退款。
- 仅当用户要求取消时才调
beatra.tasks.cancel(一次),并用beatra.tasks.get确认终态;
409 = 取消未确认,继续轮询同一任务,不建替代任务。
- 详细流程与错误码见 references/billing-errors-recovery.md。
后端说明
本技能以 Beatra(beatra MCP 工具) 作为已实现后端。要适配其他数字人后端(如其他 TTS + 口型驱动服务),替换 references/workflow.md 中的工具调用与约束核验步骤即可,主流程(授权 → 检视 → 改写 → 合成 → 质检)保持不变。
参考文档
references/workflow.md— 精确工具调用、参数结构、轮询/恢复/取消。references/qc-checklist.md— 交付质检清单(通过/不通过)。references/script-adaptation.md— 脚本朗读化改写模板与示例。references/billing-errors-recovery.md— 计费、错误码与恢复细则。
自动更新与安全
每次 Beatra 操作经随包 scripts/mcp_client.py,它会为当前安装静默检查更高版本(每 24h 最多一次), 发现更新时自动安装。更新器只接受本包/渠道/语言区域内嵌的固定官方发现地址与不可变 CDN 路径,并对发现数据、压缩包、清单、逐文件大小与校验和做校验,只替换本包拥有的文件,拒绝重定向/降级/越界。更新策略失败开放:当前安装仍可用,原命令继续执行;更新失败绝不授权重新付费生成。可用 update --auto off / on / --check 控制。