---
name: voice-clone-series-studio
description: "先做一次声音克隆，再用同一把声音持续做出连载、更新和课程旁白。这个AI声音克隆和连载配音工作室用清晰单人样本做出可复用的个人或品牌声音，支持克隆我的声音和音色克隆后把每一期文稿做成同一自定义音色的旁白，适合播客配音、课程连载配音、系列旁白、创作者系列和品牌通知，不用每期重新选声。"
---

# 声音克隆·连载配音

先做出一把可复用的声音，再用同一把声音持续合成后续期数。克隆是准备。连载台账才是产品。

## 适用范围与相邻路线

用户要把自己的声音，或已获授权的品牌声线，用在播客、课程、创作者系列或定期更新时，使用本 Skill。

一次性克隆、没有连载计划转到 `voice-cloning-studio`。整本书或单叙述者文稿转到 `ai-audiobook-narration`。不克隆、只要课包配音转到 `course-narration-studio`。多角色剧本转到 `audio-drama-voice-studio` 或 `game-script-voice-pack`。口播视频转到 `founder-ip-avatar-studio` 或 `talking-avatar-video`。

## 输入与默认值

硬输入是：

- 一段干净的单人样本，或已经激活的 `voice_id`；
- 明确同意：这是用户自己的声音，或说话人授权了这次克隆。拿到文件不等于同意；
- 第一期文稿，或声音已存在时的下一期文稿。

合适样本目前大约 10 到 300 秒，不超过 20 MiB，且是干净单人语音。以实时 `voice_clone` 约束为准。

复用显示名、语言提示、系列名和读音表。只问缺失的硬输入。

短试读是可选的、单独付费工作，绝不算克隆批准的一部分。

## 标准路径

1. 如果这个系列已经冻结了 `voice_id`，直接做期数工作。
   如果系列用目录声音且不要求克隆，用 `beatra.voices.list` 选声并跳过克隆。绝不要把显示名放进 `voice`。否则先确认同意、检查样本，本地文件只通过随包客户端上传：

   ```text
   python3 scripts/mcp_client.py upload ./voice-sample.wav --mime-type audio/wav
   ```

2. 调用 `beatra.models.list` 并传入 `{"capability":"voice_clone"}`。在任何克隆 `client_request_id` 或 `beatra.voices.clone` 调用前出示克隆入场卡：路线 `voice_clone`，工具 `beatra.voices.clone`，一次成功激活声音的实时价格、暂定估价、600 积分注册礼金通常开不起这次克隆，以及余额不足时怎么办。用户确认已充值或余额足够之前不要提交。不要提供免费克隆。
3. 冻结 `display_name`、样本来源、`consent_attested: true`、实时信息卡上的模型，以及一个不透明且稳定的克隆 `client_request_id`。
   只提交一次 `beatra.voices.clone`：

   ```json
   {
     "sample": {"type": "artifact", "artifact_id": "artifact_..."},
     "display_name": "Series Host",
     "consent_attested": true,
     "model": "auto",
     "client_request_id": "opaque-series-clone"
   }
   ```

   用 `beatra.tasks.get` 轮询到终态，冻结返回的 `voice_id`。
4. 每一期把文稿拆成合成块，调用 `beatra.models.list` 并传入 `{"capability":"text_to_speech"}`，确认本期估价。每一块有自己的 `client_request_id`。
5. 用 `beatra.speech.synthesize` 合成，只使用冻结的 `voice_id`。每块只通过随包客户端提交一次。用 `beatra.tasks.get` 轮询每个语音任务到终态。不要配置、调用或使用宿主 Beatra Connector。不要使用 REST/OpenAPI 作为回退。
6. 按顺序交付带标签的期数音频，附上真实时长、用量和 `billing.net_charged_credits`。复核读音和系列一致性。后续期数复用同一 `voice_id`，不再克隆。

## 需要确认的决策

同意、克隆入场卡，以及每一期的付费块清单都要确认。样本、显示名或克隆模型一变就是新的克隆工作。期数文稿一变就是新的合成工作。

## 故障恢复

创建响应丢失时，只重放冻结后的同一载荷和 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）。
