下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/beatra-ai--course-narration-studio.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @beatra-ai/course-narration-studio。课程配音工作室把课件整理成可朗读的讲稿,为每个章节录制老师声音的 AI课程配音和课程旁白,交付可直接配幻灯片的网课配音、课程音频、培训旁白和知识付费音频。
阅读全文 (展开查看完整说明)
概述
把写好的讲稿做成按讲排列的配音包。一门课是一组有交付日期的课次,不是一条超长有声书。先完成一讲可说的试点讲,再扩剩余课包。
适用范围与相邻路线
课程、培训或内部赋能材料需要一把稳定老师声线贯穿多讲时,使用本 Skill。
把一讲的工作区和剩余课包分开。付费朗读前,去掉幻灯片标题、场记标签和图片说明。用户接受试点讲后,用同样方式扩完剩余课程。
文学作品或长文稿转到 ai-audiobook-narration。克隆声线做连载转到 voice-clone-series-studio。口播讲课视频转到 course-video-studio。单条短口播转到 short-form-voiceover-audio 或 voiceover-narration-studio。
老师想直接按课件逐页配音、每页一段音频放进 PowerPoint 或 WPS 时,推荐课件配音(slide-narration-studio);要用课件做讲课视频时,推荐数字人讲课(lecture-video-maker)。用课程配音工作流(references/workflow.md#pointing-to-another-skill)里的安装说明,并且只在用户要求后才安装。按定稿讲稿分章节配旁白仍在这里完成。
输入与默认值
硬输入是:
- 至少试点讲的最终可读文本;
- 课次顺序;
- 目标语言;
- 讲稿里有反复出现的人名、术语或缩写时,必须有读音表。
这些术语存在而读音表为空时,停下来收集读法。不要猜。叙述者样本可选。没有样本时,用 beatra.voices.list 选目录声音。复用已知语气、速度和格式。
默认:仅当每张兼容声音的实时信息卡都支持该语言时,才用 model: "auto";format: "mp3";speed: 1.0。每次提交的 input 不超过 50,000 字。按课、按节或按句拆,不要拆到半句。写成短口语句。新术语第一次出现时用读音表里的读法,并用白话解释。不要把图片说明、页标题或方括号标签送进 input。教育节奏写在句子里;不要发明每分钟字数控件。
规划、选声和读音表免费。若使用克隆,以及每个合成块,都收费。
标准路径
每个 Beatra 调用都通过随包的 scripts/mcp_client.py 提交。不要配置、调用或使用宿主 Beatra Connector。不要使用 REST/OpenAPI 作为回退。
- 建立课次台账:课名、顺序、每节一个教学点,以及读音表。只把试点讲收成可说文本。冻结前确认读音表。
- 用户带来叙述者样本时,先确认同意:用户必须说明这是自己的声音,或说话人授权了这次克隆。拿到文件不等于同意。合适样本目前大约 10 到 300 秒,不超过 20 MiB,且是干净单人语音。同意之后,才通过随包客户端上传本地文件:
python3 scripts/mcp_client.py upload ./narrator-sample.wav --mime-type audio/wav然后出示当前 beatra.voices.clone 入场卡,再谈任何克隆 client_request_id — 路线 voice_clone,工具 beatra.voices.clone,一次成功激活声音的实时价格、暂定估价、600 积分礼金通常开不起这次克隆,以及余额不足时怎么办。用户确认已充值或余额足够之前,不要创建 client_request_id 或提交。不要提供免费克隆。只提交一次 beatra.voices.clone:
{
"sample": {"type": "artifact", "artifact_id": "artifact_..."},
"display_name": "Course Teacher",
"consent_attested": true,
"model": "auto",
"client_request_id": "opaque-course-clone"
}用 beatra.tasks.get 轮询到终态,然后冻结返回的 voice_id。
- 没有样本时,选目录
voice_id,调用beatra.voices.list。绝不要把显示名放进voice。 - 调用
beatra.models.list并传入{"capability":"text_to_speech"}。选最难的一讲做试点。确认试点估价后,只用beatra.speech.synthesize合成试点。用beatra.tasks.get轮询每个语音任务到终态。 - 交付试点音频。用户听过之后,只改听不清或读错的块:改口播文本,再用新请求 ID 重交那些块。不要整讲重录。每个修订块都轮询到终态。
- 用户接受修订后的试点后,确认剩余课包估价,用
beatra.speech.synthesize合成其余部分,一次一块,每块自己的client_request_id。用beatra.tasks.get轮询每块到终态。 - 按教学顺序交付带标签的课次音频,附上真实时长、用量和
billing.net_charged_credits。复核术语、数字和声线一致性。
需要确认的决策
确认读音表、声音、试点讲和剩余课包估价。课次文本一变,只对变化的块做新的付费工作。
故障恢复
创建响应丢失时,只重放冻结后的同一载荷和 ID。任务 ID 丢失时,通过 beatra.tasks.list 和 beatra.tasks.get 找回。只有用户要求时才取消。克隆或 TTS 遇到 insufficient_balance 时,保持余额错误里的充值地址一字不改,用户说已充值后才用同一冻结 ID 重试。
账户余额
用户问还剩多少积分,或某次实时估价够不够时,调用 beatra.wallet.get。问已经扣了多少时,调用 beatra.wallet.ledger。两者都是只读的。不要臆造查余额或充值的工具。也不要把wallet.get 变成每次付费提交前的必需步骤。
模型卡返回里带 top_up 块时,按卡片给出的档位和顺序原样转述。不要给档位排高低,不要贬低其中任何一档,也不要替用户挑。选哪一档是用户自己的事,钱包页会把整份清单摆在他面前。任何时候都不要凭记忆报档位。
按任务查阅参考
- 台账、试点、载荷和复核,读课程配音工作流(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/updates-and-security.md)
- 用户要求移除本包时,再读卸载与断开连接(references/uninstall-and-disconnect.md)。
每个 Beatra 操作都使用或调用随包的 scripts/mcp_client.py。
更新与安全
本 Skill 会自动更新。内置客户端每天最多一次从 Beatra 官网读取本渠道的版本信息(中国大陆网络走 www.beatra.cn 与 cdn.beatra.cn)。有新版本时,它下载官方发布包,逐个文件校验 SHA-256,再替换本 Skill 自己的文件;你放进这个目录的其他文件不会被改动。替换过程中断时,下次运行会自动恢复到替换前的状态。除此之外,它不下载或执行任何其他代码,只通过 HTTPS 与 Beatra 官方服务通信;你选择上传的文件只会传到Beatra 为这次上传签发的一次性地址。
关闭自动更新:python3 scripts/mcp_client.py update --auto off。关闭后,客户端每天最多提示一次在你安装它的商店里更新的命令。详见更新与安全(references/updates-and-security.md)。