知识付费录播课制作
把一个课程主题做成知识博主能上架、能卖的录播课:先把课写出来,再用博主本人的声音录课,或让本人的数字形象出镜讲,最后做出卖课用的物料。
你会拿到什么
第一条回复,全部是文字,不需要先连接任何服务:
- 十节课程大纲:每一节的目标和计划时长。
- 第一节完整讲稿:能直接念,标好停顿。
- 详情页文案:这门课给谁、讲什么,以及十节课的标题。
- 海报文案:一行主标题、一行副标题和按钮上的字。
- 一条 30 到 60 秒的引流口播稿。
连上 Beatra 之后,按上面定稿的文字制作:
- 音频课:每节一个讲解音频,用博主克隆的声音或选定的音色;实时配音模型卡片要求把文字分段时,按顺序交付各段。
- 120 秒以内的数字人出镜视频:博主的照片用本人的声音讲,用作每节课的预告、开场或一节短课,也用作课程的引流视频。
- 课程物料:封面、海报和详情页长图,图上只有定稿的文案。
- 引流口播的音频版。
生成文件的格式和大小由模型决定,交付时如实说明。
几种做法
- 写课。 默认的第一条回复:大纲、第一节、详情页文案、海报文案和引流口播稿。
- 音频课。 先克隆博主的声音一次,再一节一节录。
- 出镜视频。 博主的照片加本人声音,做成 120 秒以内的视频:一节课的预告、开场、一节短课,或课程引流视频。完整的长课用音频交付;用户坚持要出镜视频时,按顺序交付分段文件,并合成为每部分 120 秒以内的几个部分。
- 课程物料。 用定稿的文案做封面、海报和详情页长图。
适用范围和相邻做法
知识博主、教练或讲师想把一个主题做成一门能卖的课时用它:大纲、讲稿、录好的课和卖课物料。已有课件、要逐页做成讲课视频的,适合课件转视频的讲课流程。没有课程、只是每天的个人口播更新,适合口播出镜流程。声音和形象只用博主本人的,或已获得本人许可;拿到一个文件、一段公开录音或公众人物的视频,都不算同意。
输入和默认值
唯一必需的输入是课程主题。给了主题,就一次写完整个第一条回复,什么都不问。没给主题,用一句话请对方补上,同时照样交一份完整成果,第一行标「示例」,主题用「职场沟通」;这句请对方补主题的话就是这条回复唯一的下一步。
用户给过的受众、节数、每节时长、语气和价格都沿用。默认值:十节课,每节 8 到 15 分钟,用音频交付;第一节写全文;用用户的语言;出镜视频 120 秒以内,画面横竖跟博主的照片一致;海报 3:4,详情页长图 9:16。只写课程里真正会讲的内容。不写收益承诺,不写「保证学会」或其他把结果说死的话,也不编造学员人数、学员评价、资质或用户没给过的价格。
主流程
- 写课。 第一条回复不调用任何工具(不开链接、不查资料、不看日期),不要求登录,也不报价格。它交出上面五样文字,结尾用用户的语言只给一个下一步:回复「录第一节」,就用本人的声音和照片来做;每个付费步骤都先报价,等对方同意再做。
- 定稿。 要拿去配音或出图的文字必须是定稿。如果还是「示例」,先问是用示例,还是换成自己的主题。用户改了主题、受众或某一节,先把改好的文字给他看。
- 定声音。 用博主本人的声音:上传任何文件之前,先确认这是本人的声音,或已得到说话人的许可(拿到一个文件、一段公开录音或公众人物的视频都不算同意),然后用
python3 scripts/mcp_client.py upload "<file>" --mime-type <type>上传干净的样本,调用beatra.models.list并传{"capability": "voice_clone"},出克隆确认卡,只提交一次beatra.voices.clone,并带上consent_attested: true,用beatra.tasks.get查进度,然后固定返回的voice_id。用现成音色时,用beatra.voices.list选一个。 - 音频课。 调用
beatra.models.list并传{"capability": "text_to_speech"},用beatra.speech.validate(不扣费)给这节课报价。每节课出一张确认卡,列出它的各个分段,然后对每个分段只提交一次beatra.speech.synthesize,使用固定的voice_id,逐个查进度,交付这节课的音频:一个文件,或者实时配音模型卡片要求把文字分段时,按顺序交付各段。 - 出镜视频(120 秒以内)。 上传照片之前,先确认照片里是博主本人,或已得到本人许可;然后检查并上传照片。调用
beatra.models.list并传{"capability": "image_to_video"},选一张接受[image, driving_audio]的确认卡。上限:一段beatra.videos.animate最长是这张卡支持的最长时长(不超过 30 秒),一次beatra.videos.compose最多合成 12 段、总长不超过 120 秒。出镜讲稿控制在 120 秒以内,在句末切成这张卡装得下的若干段。先看照片的横竖:视频画面跟照片一致。按这个画面合成(16:9、9:16、1:1 或 3:4;不属于这几种的照片,比如 4:3,要重新取景或换一张,不加黑边),或者请用户换一张想要画面的照片,或者单独出确认卡,用beatra.images.transform按想要的比例重新取景一次。出第一张视频确认卡之前,说清分几段、一共几张确认卡(每段一张配音卡、一张视频卡),以及成片的画面横竖。出配音确认卡之前,选好配音的format:取这张卡driving_audio支持的 MIME 类型之一。每一段:配音确认卡,提交一次beatra.speech.synthesize,查进度,再拿真实音频的 MIME 类型、时长和大小对照这张卡的driving_audio限制。每张视频确认卡之前,累计已申请的时长,保持在 120 秒以内。然后是视频确认卡,写明画面横竖和累计时长;提交一次beatra.videos.animate,照片作为image,这段音频作为driving_audio,时长取这张卡支持的、能装下音频的最小整秒数,再查进度。各段做完后,按顺序用一次beatra.videos.compose合成(keep_audio设为 true,每段的end设为它真实的配音时长,画布与各段画面一致)。合成不扣费,但仍要用它自己的client_request_id。完整的长课用音频交付;用户坚持要出镜视频时,按顺序交付分段文件,合成为每部分 120 秒以内的几个部分,并在第一张确认卡之前说清这些数量。 - 课程物料。 调用
beatra.models.list并传{"capability": "text_to_image"};需要出现博主本人照片时,传{"capability": "image_to_image"}。出确认卡后,只提交一次beatra.images.generate或beatra.images.transform。图上的字只有定稿的主标题、副标题和按钮文字,在提示词里逐字引用。有字写错时,用一次beatra.images.edit修正(先传{"capability": "image_edit"}读取实时卡片),以交付的图作为images[0],单独出确认卡。 - 交付。 报告真实的文件、时长、尺寸和
billing.net_charged_credits。看不出来、听不出来的地方直接说明(声音像不像本人、口型是否对得上、看不清的图上文字)。提醒用户公开发布音频、视频和图片时标注「AI 生成」。结尾只给一个下一步,比如「回复『第二节』,我先给第二节报价」。
各类请求示例、分段规划和一个完整的课程示例,见课程制作流程(references/workflow.md)。
连接就绪之前
如果一轮结束时「允许」还没完成,就先把所有不需要连接的内容按用户要的格式交付:大纲、各节讲稿、详情页文案、海报文案和引流口播稿。这一轮交付的就是这些文字。用一句话说明:付费步骤在用户点完「允许」后的下一条消息里继续;「允许」只是完成连接,每个付费步骤在下一条消息里仍要等它当时的确认卡。不要用别的工具或服务填补空档,也不要说出任何没有经过实时调用返回的音色、模型、价格或结果。
需要确认的决定
写好的课程和每一份讲稿都免费,但它们不等于同意付费。
每次付费调用之前,先出一张当时的制作确认卡,然后等待:
- 内容:要做什么,用用户自己的话说,并写明由哪一类调用来做(克隆、配音、视频或图片)。
- 积分:刚从模型卡片或
beatra.speech.validate读到的实时价格,绝不用记忆里的数字。 - 次数:每个制作项一次付费调用。只有同一节课的配音分段可以共用一张卡,每段单独一行;每一段视频都单独一张卡,卡上还要写明这是第几段、一共几段,以及合成上限 12 段、120 秒。
- 标识:每次调用一个新的不透明
client_request_id。讲稿、文件、音色、模型或参数一变,就换一个新的标识。 - 如果到此为止:写好的课程照样能用。
- 如果余额不足:原样转述官方提示和其中的充值链接。用户说已经充值之前,不再提交。
克隆、配音、视频和图片各自单独出确认卡。同意了配音,不等于同意用这段配音驱动的视频;同意了一节课,也不等于同意下一节。绝不悄悄换音色或换模型。所有远程 Beatra 工具都只通过随包的 scripts/mcp_client.py 调用:工具名作为命令参数,JSON 参数从标准输入传入。
不要配置、调用或使用宿主 Beatra Connector。不要用 REST/OpenAPI 作为降级方案。
如果创建请求没收到回应,或者任务编号丢了,先调用 beatra.tasks.list,再调用 beatra.tasks.get,和定稿时的请求逐项比对。确认没有这个任务之后,才用同一个 client_request_id 重新提交完全相同的内容。只有用户要求取消时,才调用 beatra.tasks.cancel,再用 beatra.tasks.get 确认这个任务。
用户问还剩多少积分时,调用 beatra.wallet.get。问扣了哪些费用时,调用 beatra.wallet.ledger。模型卡片返回 top_up 内容时,按卡片列出的顺序原样转述各档充值,不排序,也不替用户选。
按任务查阅
- 需要克隆、配音、出镜分段、合成、海报和修图的请求示例,以及一个完整的课程示例时,读课程制作流程(references/workflow.md)。
- 任务卡住、没收到回应、价格看起来不对、某一段太长或海报上的字不对时,读出问题时怎么办(references/faq.md)。
- 连接还没就绪时,读安装与授权(references/installation-and-auth.md)。
- 首次使用登记,读安装登记(references/installation-registration.md)。
- 任务创建之前调用就失败时,读随包 MCP Client 连接诊断(references/mcp-connection.md)。
- 任务在排队、进行中或找不到时,读任务与结果(references/tasks-and-results.md)。
- 扣费、退款或没收到回应需要通用规则时,读计费、错误与恢复(references/billing-errors-and-recovery.md)。
- 用户想停止使用并断开连接时,读卸载与断开连接(references/uninstall-and-disconnect.md)。
更新与安全
本 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)。