地理地点口播·地点表转口播
把教师提供的地点表和授权静帧,做成每张静帧一条口播。交付 2 到 8 条。不要拼接。只说这份表上已经写好的地点事实。
适用范围与相邻路线
教师要用可授权静帧、把已经拿到的地理地点表读成短口播时,使用本 Skill。
不是地点表朗读的通用讲述者转到
talking-avatar-video。社团活动稿口播转到
club-notice-talking。只要单元地图静图、不要口播视频转到
unit-map-set。只要步行路线导览语音、不要视频转到
city-walk-audio-guide。只要官方地点稿朗读、不要视频转到
museum-audio-guide。无声地图动态转到
product-video-studio。
收集这份地点表
硬输入是:
- 至少一张宿主 Agent 可以查看的静帧——出镜人像、地图图或将作为首帧的地点照片;
- 教师已经提供的地理地点表(地名、区域、地貌或特征事实、气候或特征说明,以及表上已有的课堂用途说明);
- 出现地名、外文或专有词时的读音表;
- 画面里会出现人脸或要克隆声音时的形象和声音权利;
- 这包要几条,或允许使用默认 3 条。
复用已知措辞、地名,以及冻结的 voice_id。
只补问缺失的硬输入。2 到 8 以外的数量也能做:确认该规模和实时费用。
不要编造气候断言、历史事实、考题答案或表上没有的地点细节。拿到文件不等于同意。
有地名而读音表为空时,先停下收集读音。
查看每张静帧。记录 MIME 类型、宽、高、画幅、字节大小和是否有 alpha 通道。本地文件检查后,只通过随包客户端上传
(scripts/mcp_client.py / beatra.assets.upload)。保留返回的产物编号。绝不要把本地路径传给 beatra.voices.clone、
beatra.speech.synthesize 或 beatra.videos.animate。
先做免费槽表
任何付费克隆、旁白或视频前,先写带标签的地理地点口播清单。教师没有另报 2 到 8 之间的数量时,默认三个槽位:地名介绍、已印地貌或特征事实和表上已有的课堂用途。每个槽位记下静帧、由已提供地点表写出的口播句、作为 2–15s 成片的目标时长,以及用目录音色、已确认音轨还是克隆。
这份清单就是免费可见结果。规划不是批准。
安全默认:
- 每张静帧一次
beatra.videos.animate; model: "auto",除非教师选了实时 SKU;- 静帧作严格首帧;
- 画幅由源图决定;
- 时长由音频决定,落在 2–15s。不要拼接。
确认克隆、旁白,再确认视频
克隆、旁白和视频是分开的付费阶段。每个阶段各自一张六字段卡,每个槽位各自一个不透明 client_request_id。
教师要克隆音色时,先查看其可授权样本,读取当前的 voice_clone 卡片,并在 beatra.voices.clone 之前等在克隆卡上。找到的文件不是克隆同意。出示克隆卡并等待:
- 做什么 — 一份可授权声音样本(
beatra.voices.clone)。 - 积分 — 刚读到的
voice_clone价格。不要复用记忆中的数字。 - 几笔 — 这份样本一次付费克隆。
- 身份 — 一个新的不透明
client_request_id。 - 若停在这里 — 带标签的槽表仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接
(
https://console.beatra.ai/wallet?intent=buy)。翻译正文,保留链接。教师说已充值之前不要重试。不要推荐 ¥198。
旁白前,调用 beatra.models.list,能力为 text_to_speech:
{"capability": "text_to_speech"}
目录音色还没定时再用 beatra.voices.list。
voice 里不要写展示名。出示旁白卡并等待:
- 做什么 — 每个点名槽位一句地点口播
(
beatra.speech.synthesize)。 - 积分 — 刚读到的
text_to_speech价格乘以槽位数。不要复用记忆中的数字。 - 几笔 — 每个槽位一次付费旁白。
- 身份 — 每个槽位一个新的不透明
client_request_id。 - 若停在这里 — 带标签的槽表仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接
(
https://console.beatra.ai/wallet?intent=buy)。翻译正文,保留链接。教师说已充值之前不要重试。不要推荐 ¥198。
每个旁白槽位只通过随包 scripts/mcp_client.py 提交一次,用 input,不要用 text。用
format: "mp3" 和 speed: 1.0。只有每个实时旁白卡都支持该语言时才用
model: "auto"。用 beatra.tasks.get 轮询。读取实际音频 MIME、时长和大小,以及 billing.net_charged_credits。文稿预览不是音频审听。
视频前,调用 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。 - 若停在这里 — 槽表和已确认旁白仍然可用。
- 若余额不足 — 原样转达官方说明和充值链接
(
https://console.beatra.ai/wallet?intent=buy)。翻译正文,保留链接。教师说已充值之前不要重试。不要推荐 ¥198。
然后每段已确认音频提交一次 beatra.videos.animate,附带 driving_audio。
审片、交付与恢复
核对每条成片是否仍落在已提供地点句子上,静帧是否为首帧。只报告宿主实际看得到、听得到的内容。不要承诺完美对口型。绝不要发明拼接、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' '{"input":"This place name is the one already printed on this geography place table.","voice":"voice-ready-01","format":"mp3","speed":1.0,"model":"auto","client_request_id":"opaque-place-speech-01"}' | python3 scripts/mcp_client.py call beatra.speech.synthesize
printf '%s' '{"image":{"type":"artifact","artifact_id":"art-place-01"},"driving_audio":{"type":"artifact","artifact_id":"art-speech-01"},"prompt":"A restrained geography place read with steady eye line and a stable camera.","duration":8,"client_request_id":"opaque-place-video-01"}' | python3 scripts/mcp_client.py call beatra.videos.animate
不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为降级。
按任务查阅的参考
- 槽表、载荷和恢复,读 地理地点口播工作流(references/workflow.md)。
- 授权和非计费注册步骤,读 安装与认证(references/installation-and-auth.md) 和 安装注册(references/installation-registration.md)。
- 共用的任务、计费和连接细节,读 任务与结果(references/tasks-and-results.md)、计费、错误与恢复(references/billing-errors-and-recovery.md) 和 随包 MCP Client 连接诊断(references/mcp-connection.md)。
- 更新保证和控制,读 自动更新与安全(references/automatic-updates-and-safety.md)。移除时读 卸载与断开(references/uninstall-and-disconnect.md)。
运行时与安全的自动更新
随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只从本包、渠道和语言环境固定的官方 Beatra 发现地址和不可变 CDN 路径下载,校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。
更新检查、下载、校验、替换、回滚和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费克隆、旁白或视频请求的理由。这个设置会在本安装中持续生效。见 自动更新与安全(references/automatic-updates-and-safety.md)。
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
Scan to join WeChat group