---
name: lecture-video-maker
description: "数字人讲课借助 AI 把老师的PPT课件和讲稿做成整门课的讲课视频和课程视频：每页课件配上老师的声音和字幕，可以克隆老师自己的声音，也可以让数字人讲师在开场和结尾出镜。PPT转视频按知识点一讲一条，整门课批量做完，适合网课、慕课、教学视频、培训视频和录播课。"
---

# 数字人讲课

把老师的课件或讲稿做成整门课的讲课视频：画面上是课件，声音是老师自己的或选定的音色，带字幕，只在老师想要的地方放数字人老师。

## 你会得到

- 每讲一条 MP4，1920×1080，按教学顺序；默认每个知识点一讲，每讲 5 到 15 分钟。
- 每条视频画面上都有字幕，并且每讲旁边有一份 SRT 字幕文件（也可以只要 SRT，给单独收字幕的平台）。
- 每一页的讲稿，在生成任何声音之前先给老师确认。
- 一份课程清单：每讲的标题、时长和状态。
- 若只要音频：每讲的配音按页各一个文件（`out/L01-audio/p001.mp3`，……），按课件页顺序，并在元数据里标明为 AI 生成。

## 用法

- **课件加声音（默认）。** 每一页停在画面上，声音讲解这一页，字幕显示在画面上。老师的照片可以放在角落。
- **带出镜开场。** 用一张获授权的照片做成数字人老师，为每讲或只为每一章做开场和结尾。
- **只要音频。** 每讲的配音按页各一个文件（`out/L01-audio/p001.mp3`，……），按课件页顺序，不渲染视频。
- **老师自己的声音。** 用一段干净样本克隆一次，然后整门课都用这个声音。

## 适用范围与相邻路线

用于一门课、一套培训，或一系列知识产品：多讲共用同一把声音。只要单独一节微课，微课制作是更轻的路线。老师还没有课件、想先做出来时，AI课件先做课件。只要一条没有课件的讲述者短片，走 AI数字人口播与虚拟主播视频。指向另一个 Skill 时，用课程视频工作流（references/workflow.md#pointing-to-another-skill）里的安装说明，并且只在用户要求之后才安装。

## 输入与默认值

硬输入：

- 课件：一份 `.pptx`、一份 PDF，或从 PowerPoint 或 WPS 导出的课件图片文件夹；没有课件时用定稿讲稿，这里只交付音频（要视频的话，先用 AI课件做课件）；
- 讲次顺序（按章一讲，或按知识点一讲）；
- 口播语言。

只有会改变结果时才问这些：老师的照片和肖像使用权（角落照片或出镜开场）、声音样本和说话人的同意（老师自己的声音），以及反复出现的人名、术语、公式和缩写的读音。

默认：课件加声音；在老师选定自己的声音之前，用适合学科的目录音色；有备注时用这一页的备注当讲稿，否则根据画面上的内容、按老师的口吻写讲稿；输出 1920×1080；中文课用中文 AI 标识，否则用英文标识。课件和备注没有支持的事实不要加进去，把缺口标给老师。

## 标准路径

每个 Beatra 调用都通过随包的 `scripts/mcp_client.py`。不要配置宿主 Beatra Connector。不要使用 REST/OpenAPI 作为回退。
课件在这台电脑上读取，视频在这台电脑上合成，用课件文件（references/deck-files.md）和讲课视频合成（references/lesson-video.md）里的随包脚本。

1. **读课件。** 抽出每一页的文字和备注，以及每页一张图，然后按老师给的顺序建立课程项目并拆成讲：每个知识点一讲（页数可以不齐），老师每讲一份课件时一讲一份，或按固定块。先出示讲次提纲并定下来，再开始配音；配音一开始，分组就固定了。只有讲稿时，每一段成一页。
2. **写讲稿。** 按老师的口吻和选定的风格填每一页的讲稿：严谨讲授、温和讲解，或简洁。出示第一讲的讲稿和读音表。此时不提交任何东西。
3. **大约三分钟的试点。** 选定声音，读实时语音卡，只估算试点那几页（`--pages`），并出示这几页的制作卡。用户同意后，逐页配音，逐页记入项目，只在本地渲染这几页（`plan --pages`），然后交付试点。只有讲稿时，试点是这几页的音频文件。
4. **定声音和出镜。** 各自单独一张卡：克隆老师的声音（先取得同意），以及用一张获授权的照片做出镜开场和结尾。角落照片不需要卡。已经用另一个声音配过的页，要用新声音再配一遍。
5. **整门课批量做。** 先出示一次整门课的估算。然后一章一章来：出示这一章的讲稿（免费）和这一章的卡（每讲一行，带页数和估算），等老师改完再配这一章。按讲的顺序逐页配音，逐页记入项目，每讲做完就渲染，并按讲报告进度。遇到 `insufficient_balance`，停掉整批，原样转述这条错误的消息和 URL，只有用户说已经充值之后，才从下一页还没配音的地方继续。
6. **交付。** 按教学顺序每讲一条 MP4，画面上有字幕，旁边有 SRT，加上课程清单、实际时长，以及加总的 `billing.net_charged_credits`。每条视频都带 AI 标识和元数据。只要音频时，交付 `plan --audio-only` 打过标签的副本，并说明它们是 AI 生成的配音。

## 需要确认的决策

- 每次付费调用都遵循课程视频工作流（references/workflow.md#production-cards）里的当前制作卡：试点配音、声音克隆、出镜片段，以及批量里的每一章。讲稿、估算和试点计划是免费的，不算批准。
- 肖像和声音：用老师自己的，或有说话人的许可。拿到文件不等于同意。
- 讲稿改了，只为那一页重新配音，单独一张卡；读音改了，适用于整门课，每一页已经配过、且含这个术语的都要重新配音，所以先跑 `estimate`，并报出会重开多少页；换声音则是每一页已经配过的都要重新配音。没有改过的页不要重新配音，只重新渲染这一讲。

## 故障恢复

每一页的配音在课程项目里有一个 `client_request_id`；讲稿、读音、声音和这一遍都没变时，这个 ID 保持不变。
响应丢了，用 `beatra.tasks.list` 和 `beatra.tasks.get` 找回；这一页的任务可能还在时，绝不要再提交。配音任务以 `failed` 或 `canceled` 结束时，这一页走 `retake` 并新开一张卡；这个 ID 绝不再发送。渲染失败是本地的：修好报告的那一步再跑，不产生付费调用。

## 账户余额

用户问还剩多少积分，或某次实时估价够不够时，调用 `beatra.wallet.get`。问已经扣了多少时，调用 `beatra.wallet.ledger`。两者都是只读的。不要臆造查余额或充值的工具。也不要把 `wallet.get` 变成每次付费提交前的必需步骤。

模型卡返回里带 `top_up` 块时，按卡片给出的档位和顺序原样转述。不要给档位排高低，不要贬低其中任何一档，也不要替用户挑。选哪一档是用户自己的事，钱包页会把整份清单摆在他面前。任何时候都不要凭记忆报档位。

## 按任务查阅参考

- 制作卡、载荷、试点、批量、克隆、出镜片段和交付，读课程视频工作流（references/workflow.md）。
- 读课件、导出课件图片，或安装读取器的可选辅助工具时，读课件文件（references/deck-files.md）。
- 课程项目、读音、字幕、版式、AI 标识和渲染，读讲课视频合成（references/lesson-video.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）。
