客户会要点口播·会后稿转口播
把已授权的讲者静帧和会后对外稿,做成每张照片一条口播短片。交付 2 到 8 条。不要拼接。
适用范围与相邻路线
企业培训或客户赋能团队要用已经写好的会后对外稿,做成客户会或线上培训的要点口播时,使用本 Skill。
商品上新预告转到 creator-drop-talking。官方财报朗读转到 earnings-script-read。不是会后回顾的通用数字人转到 talking-avatar-video。无声商品动效转到 product-video-studio。
只读已提供的会后对外稿。不要添加稿里没有的指标、引用、预测或结果。
收集会后稿
硬输入是:
- 至少一张宿主 Agent 可以查看的静帧 — 讲者肖像或会议幻灯片静帧,将作为首帧;
- 团队已经写好的会后对外稿;
- 出现人脸或克隆声音时的肖像与声音授权;
- 这套要几条,或允许使用默认 3 条。
复用对话里已有的语言和已冻结的 voice_id。只补问缺失的硬输入。2 到 8 条之外的数量仍可做:先确认条数和当场费用。
不要编造到场人数、收入、管线、引用或人脸。拿到文件不等于同意。
先查看每张静帧。记录 MIME 类型、宽、高、画幅、字节大小和是否有 alpha 通道。本地文件检查后,只通过随包客户端(scripts/mcp_client.py / beatra.assets.upload)上传。保留返回的 artifact id。绝不要把本地路径传给 beatra.voices.clone、beatra.speech.synthesize 或 beatra.videos.animate。
规划免费槽表
任何付费克隆、语音或视频调用前,先写带标注的要点口播槽表。默认 3 个槽,除非团队指定 2 到 8 条内的其他数量:要点回顾、关键收获、下一步。每个槽记录静帧、对外稿里的口播句、2–15s 计划时长,以及用目录声音还是克隆。
这份槽表就是免费可见结果。规划不是批准。
安全默认值:
- 每张静帧一次
beatra.videos.animate; - 除非团队选了现网 SKU,否则
model: "auto"; - 静帧作严格首帧;
- 画幅由源图决定;
- 时长随音频落在 2–15s。不要拼接。
确认克隆、语音,再到视频
克隆、语音和视频是分开的付费阶段。每个阶段有自己的六字段卡和每个槽的不透明 client_request_id。
团队要克隆声音时,先查看已授权样本,读取现网 voice_clone 卡,在 beatra.voices.clone 前等待克隆卡。找到文件不等于克隆同意。出示克隆卡并等待:
- 做什么 — 一份已授权声音样本(
beatra.voices.clone)。 - 积分 — 刚读到的
voice_clone价格。不要复用记忆中的数字。 - 几笔 — 这份样本一次付费克隆。
- 身份 — 一个新的不透明
client_request_id。 - 若停在这里 — 带标注的槽表仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。团队说已充值之前不要重试。
语音前,调用 beatra.models.list 并传入 text_to_speech:
{"capability": "text_to_speech"}
目录声音仍需选择时调用 beatra.voices.list。绝不要把显示名写进 voice。出示语音卡并等待:
- 做什么 — 每个命名槽一条口播句(
beatra.speech.synthesize)。 - 积分 — 刚读到的
text_to_speech价格乘以槽数。不要复用记忆中的数字。 - 几笔 — 每个槽一次付费语音。
- 身份 — 每个槽一个新的不透明
client_request_id。 - 若停在这里 — 带标注的槽表仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。团队说已充值之前不要重试。
每个语音槽只通过随包 scripts/mcp_client.py 提交一次。用 beatra.tasks.get 轮询。读取实际音频 MIME、时长和大小。稿面预览不是音频审听。
视频前,调用 beatra.models.list 并传入 image_to_video:
{"capability": "image_to_video"}
确认现网卡片接受 [image, driving_audio]。把每张图的事实和实际音频 MIME、时长、大小对照公布限制。带 driving audio 的现网短片是 2–15s。语音长于最长可装时长时,拆成顺序可装片段;每段是新语音和新视频,各用新标识。不要把片段拼成一个文件。已批准的旁白不等于批准视频。600 积分注册礼通常不足以启动这条视频。出示视频卡并等待:
- 做什么 — 每个命名静帧一条要点口播(
beatra.videos.animate)。 - 积分 — 刚读到的
image_to_video价格乘以片段数。不要复用记忆中的数字。 - 几笔 — 每个已批准音频片段一次付费视频。
- 身份 — 每个片段一个新的不透明
client_request_id。 - 若停在这里 — 槽表和已批准旁白仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接。翻译正文,保留链接。团队说已充值之前不要重试。
然后每个已批准片段只提交一次 beatra.videos.animate。
审听、交付与恢复
核对身份、语音清晰度和口型时序。只报告宿主实际能看能听的内容。不要承诺完美口型同步。绝不要发明拼接、concat 或剪辑工具。每个终态付费任务后,交付实际字节以及 MIME、时长、大小(如有),和 billing.net_charged_credits。不要承诺预付估算是最终扣费。
返回 task_id 后轮询该任务。创建响应丢失时,先用 beatra.tasks.list 搜索,再用 beatra.tasks.get 核对,然后才重放。只有参数完全一致时才复用标识。静帧、句子、声音或时长变了就是新卡和新标识。只有团队要求时才取消。
执行
每个远程 Beatra 操作都只通过本包随附的 scripts/mcp_client.py 调用。把 MCP 工具名放在 call 后面,并向标准输入发送一个 JSON 对象。
python3 scripts/mcp_client.py call beatra.models.list
{"capability": "text_to_speech"}
python3 scripts/mcp_client.py call beatra.models.list
{"capability": "image_to_video"}
printf '%s' '{"image":{"type":"artifact","artifact_id":"art-recap-01"},"driving_audio":{"type":"artifact","artifact_id":"art-speech-01"},"prompt":"A restrained customer recap from this still. Keep face, slide, and lighting stable.","duration":8,"client_request_id":"opaque-recap-video-01"}' | python3 scripts/mcp_client.py call beatra.videos.animate
不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为降级。
账户余额
用户问还剩多少积分,或某次实时估价够不够时,调用 beatra.wallet.get。问已经扣了多少
时,调用 beatra.wallet.ledger。两者都是只读的。不要臆造查余额或充值的工具。也不要把
wallet.get 变成每次付费提交前的必需步骤。
模型卡返回里带 top_up 块时,按卡片给出的档位和顺序原样转述。不要给档位排高低,不要
贬低其中任何一档,也不要替用户挑。选哪一档是用户自己的事,钱包页会把整份清单摆在他
面前。任何时候都不要凭记忆报档位。
按任务查阅的参考
- 槽表、载荷和恢复,读 客户会要点口播工作流。
- 授权和非计费注册步骤,读 安装与认证 和 安装注册。
- 共用的任务、计费和连接细节,读 任务与结果、计费、错误与恢复 和 随包 MCP Client 连接诊断。
- 更新保证和控制,读 自动更新与安全。移除时读 卸载与断开。
运行时与安全的自动更新
随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只从本包、渠道和语言环境固定的官方 Beatra 发现地址和不可变 CDN 路径下载,校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。
更新检查、下载、校验、替换、回滚和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费克隆、语音或视频请求的理由。这个设置会在本安装中持续生效。见 自动更新与安全。
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check