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

AI宠物说话视频

用一张清晰的宠物照片和一段简短留言或配音,生成一段宠物说话视频。

personAuthor: beatra01hubOpenAPI

AI宠物说话视频

把一张清晰的宠物照片和一段简短留言或录好的配音变成一段可分享的宠物说话短片。本 Skill 适用于让宠物开口说话、狗或猫配音、宠物祝福、宠物反应、趣味宠物对话、宠物故事或宠物留言视频。

适用范围与相邻路由

常规路线是一张宠物照片、一段确认的语音和一条宠物说话短片。直接使用已有的确认语音录音,或用可用声音从简短文案准备语音。需要让宠物跳舞或不带语音的动作的请求路由到图生视频工作流;人类口播人像路由到数字人口播工作流;需要唱歌的人像路由到照片唱歌工作流。本路线专注于一张宠物照片加语音。多人对话应以已确认的混合音轨形式提供。

输入与默认值

硬性输入是:

  • 一张宿主 Agent 可以查看的可访问宠物照片;
  • 一段可访问的确认语音音轨,或一段简短文案加一个可用的声音选择。

只询问缺失的硬性输入。复用已知的场合、语言、构图、能量、背景和表达意图。对于宿主 Agent 可访问的本地图片或音频文件,仅在查看之后使用随包上传助手:

python3 scripts/mcp_client.py upload ./pet-photo.png --mime-type image/png
python3 scripts/mcp_client.py upload ./approved-message.mp3 --mime-type audio/mpeg

上传只是传输,不是视觉或音频审阅。保留每个返回的素材引用,绝不向远程工具传递本地路径。

默认输出一条宠物说话短片,model: "auto",以宠物照片作为严格首帧,画幅取自源文件。除非用途或用户的明确选择需要,否则省略分辨率和其他可选控制项。宠物解剖结构差异很大;选择一张清晰的正面图片并检查结果,而不是承诺在不同动物间表现一致。对于合成语音,才将未指定格式默认为 mp3,仅当实时语音卡支持且实时视频卡接受其预期的 audio/mpeg 输出。将品种、毛色、面部特征、构图和背景视为必须保留项,并检查结果是否出现偏移,而不是承诺精确保留或完美口型同步。

黄金路径

  1. 查看宠物照片。记录其实际 MIME 类型、宽度、高度、画幅、字节大小以及是否有 Alpha 通道。识别品种、毛色、面部可见度、构图、背景和必须保留项。如果用户提供了确认音频,查看实际可访问的内容并记录其真实 MIME 类型、时长和字节大小;否则将简短文案改写为自然口语但不改变其含义。

  2. 对于文案路线,仅当仍需选择声音时才调用 beatra.voices.list。在选择语言、输出格式、指定模型、可选控制项或数值估计时,调用 beatra.models.list 并传入 {"capability":"text_to_speech"}。除非用户已选定一个具体的兼容模型,否则保持语音模型为 auto。数值估计是暂定的,需要以实时目录事实为准。

  3. 在任何付费合成之前,调用 beatra.models.list 并传入 {"capability":"image_to_video"}。确认某张当前模型卡接受 [image, driving_audio]。将宠物照片的实际 MIME 类型、宽度和高度、画幅、字节大小以及 Alpha 通道存在情况与每项声明的图片约束进行比较;将提供的音频的实际 MIME 类型、时长和字节大小与每项声明的驱动音频约束进行比较。同时确认计划的语音能放入本路线可完全容纳的视频时长。如果任何必需的媒体事实不可用或不兼容,在 TTS 之前停止,并要求最小兼容的源变更。对于文案路线,使用 mp3,仅当实时语音卡支持且实时视频卡接受对应的 audio/mpeg

  4. 展示确切的语音参数和付费边界。一条合成该已准备文案的明确指令可以算作确认;规划、试听、比较或未解决的声音或格式选择不算。冻结文案、声音、语言、模型、格式、可选控制项和一个不透明且稳定的 client_request_id;然后恰好调用一次 beatra.speech.synthesize

  5. beatra.tasks.get 轮询语音任务直到终态。成功后,读取返回的素材以及存在时的实际 task.output.audio.mime_typetask.output.audio.duration_secondstask.output.audio.size_bytes。当宿主可以时,呈现或播放真实音频,并要求用户在依赖的视频阶段之前确认。绝不将文案预览、预期时长、请求格式或任务元数据视为音频审阅。

  6. 刷新或重新读取当前 image_to_video 模型卡,再次准入实际的宠物照片加确认语音。重新检查每一项图片事实,并将音频的实际 MIME、时长和字节大小与当前驱动音频约束进行比较。音频时长必须至少达到实时下限,且不得超过实时音频上限或能容纳完整信息的最长可用视频时长。使用大于或等于实际语音长度的最小支持整数视频时长,使词语不被截断;不要添加静音。如果任何媒体事实不可用或不兼容,在视频提交之前停止,并提出最小的文案、录音或照片变更建议。

  7. 除非用户已选定一个具体的可用视频模型,否则保持 model: "auto"。通过省略 aspect_ratio 来保留取自照片的画幅。如果用途需要另一画幅,要求为该目标已构图的起始帧图片,或在返回新图片之前显式路由到合适的预处理工作流;beatra.videos.animate 不是裁剪或画布覆盖步骤。绝不静默裁剪、拉伸或更改画布。

  8. 展示最终的视频路线、确切确认的图片和音频来源、提示词方向、模型行为、时长、显式控制项和付费边界。用一个新的不透明且稳定的 client_request_id 冻结它们。只调用随包 scripts/mcp_client.py:MCP 工具名是 CLI 参数,其参数是标准输入上的 JSON。例如:

    printf '%s' '{"image":{"type":"artifact","artifact_id":"art_pet"},"driving_audio":{"type":"artifact","artifact_id":"art_speech"},"prompt":"A friendly pet speaks directly to camera with natural mouth movement and a stable body and background.","duration":6,"client_request_id":"opaque-pet-video-id"}' | python3 scripts/mcp_client.py call beatra.videos.animate
    

    不要配置、调用或使用宿主 Beatra Connector。不要使用 REST/OpenAPI 回退。恰好提交一次 beatra.videos.animate

  9. 立即记录返回的任务 ID,并用 beatra.tasks.get 轮询同一任务直到终态。交付每一个返回的视频素材或链接。只报告实际返回的任务状态、解析后的模型、尺寸、时长、用量和 billing.net_charged_credits。审阅可访问的结果,检查品种和毛色特征、面部特征、嘴部动作、语音清晰度、同步效果、身体变形、稳定构图、背景、结尾质量、比例和实际时长。说明宿主 Agent 能和不能查看的内容。

付费变更、恢复与取消

语音和视频是独立的付费阶段。各自拥有自己的冻结负载、稳定请求 ID、确认、创建响应和任务 ID。更换文案、声音、语言、语音控制项、图片、音频、提示词、模型、时长、画幅、分辨率或视频控制,都属于新的逻辑付费工作,配以新的 ID 和新的确认。修改后的语音音轨还会使任何使用了旧音频的尚未提交的依赖视频计划失效。

如果创建响应丢失,只用相同的阶段 ID 重放字节完全一致的冻结负载。如果任务 ID 丢失,调用 beatra.tasks.list 查找相关能力,用 beatra.tasks.get 检查可能的候选任务,并对照该阶段的私有账本确认后再考虑相同重试。排队和运行中是进度状态,不是失败。在规划变更工作之前先恢复原阶段;绝不重复付费提交,也不猜测其扣费或退款。

只有当用户要求取消时才调用 beatra.tasks.cancel。调用一次,并用 beatra.tasks.get 确认最终的终态。409 表示取消未确认,因此继续轮询同一任务,不要创建替代工作。

按任务查阅参考

  • 在查看宠物照片、准备或上传语音、选择声音、核对时长和实时模型事实、构造确切负载、轮询、恢复、取消或审阅宠物特征和嘴部动作时,阅读 宠物说话工作流(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)。不要配置宿主 Connector。
  • 关于更新保证和控制方式,阅读 自动更新与安全(references/automatic-updates-and-safety.md)。
  • 仅当用户要求移除本包或共享凭据时,阅读 卸载与断开连接(references/uninstall-and-disconnect.md)。

运行时与安全自动更新

每次 Beatra 操作都使用或调用随包 scripts/mcp_client.py。在每个安装中静默地每 24 小时最多检查一次更高版本。更高版本可用时,不另行确认而自动安装。它只从本包、渠道和语言对应的固定官方发现地址与不可变 CDN 路径下载,校验发现数据、压缩包、清单和每个打包文件,并且只替换本包文件。

更新检查、下载、校验、替换、回滚和恢复失败时,现有安装仍可使用,原本请求的命令继续执行。更新失败不会授权另一项付费请求。设置会在此安装中持续生效。

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

--auto off 禁用静默检查,--auto on 恢复静默检查,--check 报告官方可用版本而不替换文件。