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

AI照片唱歌视频

用一张清晰人像照片和一段简短歌曲片段,生成一段照片开口唱歌的短片。

personAuthor: beatra01hubOpenAPI

AI照片唱歌视频

用一段简短的歌曲片段让一张清晰人像照片开口唱歌。本 Skill 适用于让照片唱歌、人像唱歌、老照片唱歌、卡通人物插画唱歌、祝福歌曲视频、趣味唱歌短片或虚拟形象歌曲表演。

适用范围与相邻路由

常规路线是一张人像、一段确认的唱歌音频片段和一条照片唱歌短片。口语化的口播信息(非唱歌)路由到数字人口播工作流;宠物照片加语音路由到宠物说话工作流;人像加非音频运动路由到图生视频工作流;已完成的歌曲需要更广泛的音乐主导画面的路由到音乐短片工作流。如果用户需要先制作一首新歌,该独立阶段路由到定制歌曲制作或翻唱歌曲制作,待本工作流拿到完成的片段后再继续。本路线专注于一张人像加唱歌音频。歌词本身不是驱动音频;只有音频文件才能驱动唱歌动作。

输入与默认值

硬性输入是:

  • 一张宿主 Agent 可以查看的可访问人像;
  • 一段简短的唱歌音频片段。

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

python3 scripts/mcp_client.py upload ./singing-portrait.png --mime-type image/png
python3 scripts/mcp_client.py upload ./song-excerpt.mp3 --mime-type audio/mpeg

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

默认输出一条唱歌短片,model: "auto",以人像作为严格首帧,画幅取自源文件。除非用途或用户的明确选择需要,否则省略分辨率和其他可选控制项。将人物特征、服装、构图和背景视为必须保留项,并检查结果是否出现偏移,而不是承诺精确保留或完美口型同步。如果需要新的人像画布或修整,将该请求路由到合适的图片工作流,返回时带上一张确认的首帧。

黄金路径

  1. 查看人像。记录其实际 MIME 类型、宽度、高度、画幅、字节大小以及是否有 Alpha 通道。识别面部可见度、人物特征、构图、背景、所需裁剪和唱歌片段。如果用户提供了唱歌音频,查看实际可访问的内容并记录其真实 MIME 类型、时长和字节大小。

  2. 如果用户需要先制作一首新歌,将该独立阶段路由到定制歌曲制作或翻唱歌曲制作。在为上游音乐付费之前,调用 beatra.models.list 并传入 {"capability":"image_to_video"},证明某张当前模型卡接受该人像加计划的音频格式,且时长范围能被本路线完全容纳。一旦用户提供了一段真实时长适合支持的视频时长和当前上限的唱歌片段,就恢复本工作流;然后用实际文件再次执行实时准入检查。

  3. 对于照片唱歌视频,调用 beatra.models.list 并传入 {"capability":"image_to_video"}。要求某张当前模型卡的 input_combinations 接受 [image, driving_audio]。将人像的实际 MIME 类型、宽度和高度、画幅、字节大小以及 Alpha 通道存在情况与每项声明的图片约束进行比较;将唱歌音频的实际 MIME 类型、时长和字节大小与每项声明的驱动音频约束进行比较。确认音频时长至少达到实时下限,且在能容纳它的最长可用视频时长之内。如果任何媒体事实不可用或不兼容,在视频调用之前停止,并要求最小兼容的源变更。

  4. 展示最终的视频路线、确切确认的人像、确认的唱歌音频、提示词方向、所选时长、模型行为、显式控制项和付费边界。音频时长决定视频时长:使用大于或等于实际音频长度的最小支持整数视频时长,使唱歌不被截断;不要截断或添加静音。用一个不透明且稳定的 client_request_id 冻结它们。只调用随包 scripts/mcp_client.py:MCP 工具名是 CLI 参数,其参数是标准输入上的 JSON。例如:

    printf '%s' '{"image":{"type":"artifact","artifact_id":"art_portrait"},"driving_audio":{"type":"artifact","artifact_id":"art_song"},"prompt":"An expressive singing performance with natural mouth movement and engaged facial energy, keeping the portrait identity and background stable.","duration":10,"client_request_id":"opaque-singing-video-id"}' | python3 scripts/mcp_client.py call beatra.videos.animate
    

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

  5. 立即记录返回的任务 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 报告官方可用版本而不替换文件。