Back to skills
extension
Category: Content & MediaNo API key required

客服语音·IVR语音包

把热线话术做成带标签的客服语音包,欢迎、菜单、等待、转接、非工作时间和错误提示一把声音录完。

personAuthor: beatra01hubOpenAPI

客服语音·IVR语音包

给电话树配一套带标签的提示音。一把品牌声音。欢迎、菜单、等待、转接、非工作时间和错误,再补齐其余节点。

适用范围与相邻路线

热线需要一套交换机可播放的带标签电话树语音包时,使用本 Skill。

等候音乐或品牌短句转到 brand-jingle-studiolivestream-bgm-pack。普通旁白转到 voiceover-narration-studio

输入与默认值

硬输入是:

  • 来电者应听到的公司或线路名称;
  • 菜单分支,或允许按默认十二条树来写;
  • 目标语言;
  • 出现人名、产品词或分机号时,必须有读音表。

这些名字存在而读音表为空时,停下来收集读法。不要编公司和菜单。说话人样本可选。没有样本时,用 beatra.voices.list 选目录声音。

默认:

  • 大约十二条,覆盖欢迎、主菜单、营业时间、地址、等待、转接、排队、无效按键、重听菜单、非工作时间、错误和再见;
  • 整包一把品牌声音;
  • 用户没要求语言、树里也没混用多种语言时,省略 language
  • 仅当每张兼容声音的实时信息卡都支持该语言时,才用 model: "auto"format: "mp3"speed: 1.0
  • 每条提示一次合成,方便单条重做。

每次提交的 input 不超过 50,000 字。按句拆,不要拆到半句。写成短口语句。

规划、选声免费。若使用克隆,以及每个合成块,都收费。

只有用户要求时才克隆品牌声音。先确认同意:用户必须说明这是自己的声音,或说话人授权了这次克隆。拿到文件不等于同意。合适样本目前大约 10 到 300 秒,不超过 20 MiB,且是干净单人语音。同意之后,检查样本并通过随包客户端上传。出示实时 voice_clone 入场卡,再谈任何克隆 client_request_id:路线 voice_clone,工具 beatra.voices.clone,一次成功激活声音的实时价格、暂定估价、600 积分礼金通常开不起这次克隆、https://console.beatra.ai/topup、入门 ¥29 / 11,000 积分。不要推荐 ¥198。不要提供免费克隆。用户确认已充值或余额足够之前,不要创建 client_request_id。只提交一次 beatra.voices.clone

{
  "sample": {"type": "artifact", "artifact_id": "artifact_..."},
  "display_name": "Hotline Voice",
  "consent_attested": true,
  "model": "auto",
  "client_request_id": "opaque-ivr-clone"
}

beatra.tasks.get 轮询到终态,然后冻结该 voice_id

标准路径

每个 Beatra 调用都通过随包的 scripts/mcp_client.py 提交。不要配置、调用或使用宿主 Beatra Connector。不要使用 REST/OpenAPI 作为回退。

  1. 建立提示台账:槽位 ID、口播文本和目标文件名,覆盖欢迎、菜单、等待、转接、非工作时间、错误和其余默认槽位。
  2. 还需要声音时调用 beatra.voices.list。整包只用一把 voice_id。绝不要把显示名放进 voice
  3. 读实时 text_to_speech 信息卡,调用 beatra.models.list。第一次付费 TTS 前,确认声音、提示条数、加权字数、当前估价,以及每条一个 client_request_id
  4. 每条提示用 beatra.speech.synthesize 只提交一次。用 beatra.tasks.get 轮询每个语音任务到终态。
  5. 交付带槽位 ID 的标签片段,以及真实时长、MIME 类型、URL 或产物、解析出的模型和 billing.net_charged_credits
  6. 复核每条是否同一把声音,人名和分机是否跟读音表一致。只重做改过的那一条。

需要确认的决策

第一次付费 TTS 前确认声音和整包估价。改一条就是一块新的付费工作。

故障恢复

创建响应丢失时,只重放该条冻结后的同一载荷和 ID。文本一变就是新 ID。任务 ID 丢失时,通过 beatra.tasks.listbeatra.tasks.get 先找回再重发。只有用户要求时才取消。遇到 409 继续轮询同一任务。克隆或 TTS 遇到 insufficient_balance 时,保持 https://console.beatra.ai/topup 一字不改,用户说已充值后才用同一冻结 ID 重试。

按任务查阅参考

  • 槽位卡片、载荷和复核,读客服语音包工作流(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)。

运行时与安全的自动更新

每个 Beatra 操作都使用或调用随包的 scripts/mcp_client.py。随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。

它只使用针对本包、渠道和语言环境固定的 Beatra 官方发现地址和不可变 CDN 路径,在替换前校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。它拒绝重定向、降级、错误的包/渠道/语言/版本数据、意外 URL、不安全压缩包,以及目标目录外的文件。

更新检查、下载、校验、替换、回滚和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费生成的理由。这个设置会在后续命令中持续生效:

python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check