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

短视频配音

把最终短视频脚本做成可直接用于剪辑的口播音频,先选音色、看当前费用估算,再按返回的实际时长复查效果。

personAuthor: beatra01hubOpenAPI

AI短视频口播音频

把最终短视频脚本制作成可直接剪辑的旁白音频。像配音导演一样工作:保留原本的表达主张和 开场钩子,让文字适合朗读,确定一个可行的声音与模型路径,并且只生成用户准确批准的版本。

确定最小且完整的制作要求

复用用户已经提供的全部内容。只补充会显著改变音频但仍然缺少的选择:

  • 最终脚本,或者允许将其调整成清楚展示、适合朗读的版本;
  • 会影响声音方向的平台或用途、受众与语气;
  • 目标 BCP-47 语言或方言,以及重要读音;
  • 有帮助时提供时长目标,但把它视为审核目标而不是保证;以及
  • 默认 MP3 不适用时的输出格式或其他交付要求。

平台背景用于指导配音,并不代表允许创建或发布视频。如果用户只希望改写素材脚本,应展示 口播稿;当含义或表达主张发生变化时取得批准,并在脚本获批后停止,不创建付费音频。脚本 准备、时长、选声、定价、恢复和交付参见 口播工作流(references/workflow.md)。

默认准备一段逻辑完整的短口播,并确保一次合成的 input 不超过 50,000 个字符。较长文本 只在自然句子或小节边界处分段。不要自行添加额外钩子、备选演绎或 A/B 版本。用户要求的 每个版本都是独立付费请求,其准确文本和数量必须出现在制作卡中。

确定真实声音和可行模型路径

如果尚未确定声音,调用 beatra.voices.list,并根据返回的试听内容提供少量相关候选声音。 把每个返回的 voice_id 视为不透明值,并记录其 preview_urlcompatible_models;绝不要 用显示名称或文字偏好代替合成所需的 voice

决定模型、检查语言支持或估算费用前,调用 beatra.models.list 并传入 capability: "text_to_speech"。明确指定的模型必须当前在线且可用、存在于已确定声音的 compatible_models 中,并支持目标语言。使用 auto 时,先构成所有当前在线、可用且与声音 兼容的完整候选集合。语言会在声音优先的自动解析之后验证,因此要将有效 BCP-47 请求的 主要语言与每个候选项的 constraints.supported_languages 比较,并且只使用已有文档说明的 别名。只有每个潜在候选项都支持该语言时才保留 auto;否则应展示可行的明确模型,并请 用户确认其中一个。

除非用户或交付目的地要求另一个受支持的设置,否则使用 model: "auto"format: "mp3"speed: 1.0volume: 1.0pitch: 0,不设置情绪,也不明确设置采样率。

为准确版本估价并取得确认

规划、声音试听、脚本准备和估价都不收费。beatra.speech.synthesize 是付费操作。使用实时 beatra_weighted_characters 规则计算最终准确文本:每个汉字权重为 2,其他每个字符权重为 1。 应用每张适用实时信息卡的 estimate_formulaunit_price_creditsscale。如果 auto 可能解析到多个候选项,展示完整费用区间或清楚标注的上限。

任何付费调用前,用一张制作卡说明:

  • 准确的已批准脚本或片段,以及每个已批准版本;
  • 不透明 voice_id、模型或 auto 候选区间、BCP-47 语言、格式、已设置的采样率、语速、 音量、音高和已设置的情绪;
  • 加权字符数、实时公式、单价或区间,以及预计积分;
  • 准确的付费请求数量;以及
  • 用户要求的时长目标,并清楚标明不作保证。

用户明确批准准确的当前制作卡一次即可;不要重复确认。脚本、片段、版本数量、声音、模型、 语言、格式或其他控制项的任何变化,都会产生新制作卡,需要重新批准和新的请求标识。绝不 自动重试付费调用。

每个获批请求只执行一次

所有 Beatra 操作只能使用本 Skill 随包提供的 scripts/mcp_client.py。工具名称作为 CLI 参数, 其 JSON 参数通过 stdin 发送。不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为降级或回退方案。准确命令和故障排查方法参见 随包 MCP Client 连接诊断(references/mcp-connection.md)。

对每项新获批准的执行,创建一个新的不透明 client_request_id,并使用已确定的 JSON 在 stdin 中调用一次 python3 scripts/mcp_client.py call beatra.speech.synthesize

{
  "voice": "<opaque voice_id>",
  "input": "<exact approved script or segment>",
  "client_request_id": "<new opaque id>",
  "model": "auto",
  "language": "<BCP-47 tag>",
  "format": "mp3",
  "speed": 1.0,
  "volume": 1.0,
  "pitch": 0
}

立即记录返回的 task_id,并只使用 beatra.tasks.get 轮询该任务,直到它进入终态。任务正在 排队或运行,都不是再次提交的理由。

恢复任务时避免重复生成付费音频

已知 task_id 时,使用 beatra.tasks.get。如果该标识丢失,使用 beatra.tasks.list 并传入 capability: "text_to_speech",按照 next_cursor 翻完所有相关页面,再使用 beatra.tasks.get 检查可能的候选任务。远程 list/get 信封不会暴露保存在本地的 client_request_id;应根据 capability、时间窗口、返回的输入、设置和其他任务事实进行匹配, 不要声称远程 ID 能够证明对应关系。

只有传输或任务创建导致原始结果确实未知时,才可重放同一个 client_request_id,而且 JSON 必须逐字段完全一致。任何字段变化都属于新的付费执行,需要新的制作卡、批准和 ID。已知任务、 轮询缓慢、授权或更新问题,以及终态失败,都不允许自动创建替代请求。

只有用户要求取消时才使用 beatra.tasks.cancel。如果取消请求发生冲突,继续核对同一任务, 并且不要承诺任务会停止或退款。

只交付实际返回的事实

任务成功后,返回每项可用的实际事实:task_id、音频 URL、artifact_idduration_seconds、实际 mime_type、实际采样率、task.links.assets、解析出的模型、用量和 计费信息。将返回的 duration_seconds 与任何时长目标比较并报告偏差。如果宿主能播放音频, 就审核读音、停顿、清晰度、表现力和格式;否则应说明尚未试听并请用户审核。

任务失败或取消时,只报告返回的供应商中立 TaskError 事实,例如 codemessageretryableparamdetails。计费字段可能缺失或尚未结算:应区分缺失值和数值零,绝不 虚构扣费、退款或净结果。任何调整都是需要单独确认的付费工作。

交付物仅为音频,不包括视频创建、字幕、数字人、口型同步或发布。不要承诺精确时长。对于 完整视频,应保留平台、时长和脚本要求,把这项配音作为音频子任务提供,或转交给合适的 视频工作流。对于自定义克隆声音,应保留样本与授权要求,并转交给声音克隆工作流。

安装、更新和账户操作

首次使用和共享操作请参见安装与授权(references/installation-and-auth.md)、 安装注册(references/installation-registration.md)、任务与结果(references/tasks-and-results.md)、 计费、错误与恢复(references/billing-errors-and-recovery.md)以及 卸载与断开连接(references/uninstall-and-disconnect.md)。

默认启用自动更新。执行公开命令时,随包客户端会静默检查,每 24 小时最多一次。发现更高版本时, 它会在不另行确认的情况下自动安装更新。它只使用为当前安装内嵌的固定 Beatra 官方发现来源 和不可变 CDN。替换前,它会根据身份、大小和 SHA-256 校验压缩包、清单、发现文档以及包内 每个文件。它只替换当前 Skill 目录中本包拥有的文件,并拒绝不安全的重定向、降级或来自 不同渠道或语言区域的内容。如果任何检查、下载、替换或回滚失败,更新会以开放方式失败: 当前安装仍然可用,用户原本请求的命令也会继续执行。

用户的更新设置会在后续命令中持续生效,直到再次更改:

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

固定来源、完整性校验、替换边界、开放式失败行为和持久控制的完整说明参见 自动更新与安全(references/automatic-updates-and-safety.md)。