返回 Skill 列表
extension
分类: 内容与媒体无需 API Key

AI音乐MV短片制作

用一首歌的情绪和节奏,制作一个短视觉短片——把音乐片段和视觉方向变成电影感宣传短片,让封面图随音乐动起来,或用松散参考构建氛围视觉。

person作者: beatra01hubOpenAPI

AI音乐MV短片制作

以一首歌的情绪、节奏和视觉概念为指引,制作一个短视觉短片。本 Skill 适用于 AI 音乐 MV 短片、歌曲转视频预告、新歌宣传、专辑宣传短片、封面图动画、氛围视觉、虚拟歌手场景和社交媒体音乐预告。

适用范围与相邻路由

歌曲是固定主轴:短片用来放大它的结构、艺人身份、歌词和发行目标。版权未清时只做策划或内部样片,不要把成品当成可公开发布的官方 MV。人像加唱歌音频的请求路由到照片唱歌工作流;从故事到歌词到歌曲的请求路由到定制歌曲工作流;参考歌曲重新演绎的请求路由到翻唱歌曲工作流;广泛的非音乐视频请求路由到通用视频工作室。本路线专注于成品音乐变成短视觉短片。缺歌时不要从主题同时生曲。

输入与默认值

硬性输入是:

  • 一首已定稿的歌或可访问片段,其真实时长能切到一个支持的视频时长;
  • 一条主路线:表演、叙事、歌词或可视化。

只询问缺失的硬性输入。复用已知的曲风、能量、开场图片和画幅。封面图或开场静帧不是硬性输入。当视觉方向已存在且没有可用封面或开场静帧时,用 beatra.images.generate 单独付费生成一张封面或关键帧。对于宿主 Agent 可访问的本地音频或图片文件,仅在查看之后使用随包上传助手:

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

上传只是传输,不是创意审阅。保留返回的素材引用,绝不向远程工具传递本地路径。

默认先切高潮或副歌 20–30 秒再出画面,不要整首硬出。保持 model: "auto",画幅取自源文件。在任何付费调用之前构建一份紧凑的音频-视觉映射:副歌或能量、主氛围、节奏、视觉主题、主体、动态、配色、镜头、开场图片和落幅图片。把节拍、乐句或高潮切点写入确认卡。按视觉控制路由:

  • 文本加兼容的驱动音频 → beatra.videos.generate
  • 严格的确认封面图或人物开场 → 带驱动音频的 beatra.videos.animate
  • 严格确认的开场和结尾图 → beatra.videos.interpolate
  • 仅作松散氛围参考的音频 → beatra.videos.generate_from_references

赠送封面交付后,若该静帧就是开场画面,优先使用带驱动音频的 beatra.videos.animate。查看真实音频时长,并写入大于等于该时长、且当前信息卡允许的最小整数视频 duration。不要为了便宜而缩短音轨。如果没有任何当前信息卡允许完整容纳该片段的时长,停止并询问最小的兼容片段调整。

黄金路径

先锁歌与版权边界,再选主路线,把节拍、乐句或高潮切点写入确认卡,然后才出短视觉。

  1. 查看音乐片段和每一个可用的图片。记录音频的实际 MIME 类型、字节大小和真实时长。记录每张图片的实际 MIME 类型、宽度、高度、画幅和字节大小。识别副歌、能量、主氛围、节奏以及本短片应交付的视觉方向。

  2. 构建音频-视觉映射:副歌或能量、主氛围、节奏、视觉主题、主体、动态、配色、镜头、开场图片和落幅图片。然后写出一条正向提示词,编码本短片的视觉对音乐的回应。

  3. 如果没有可用封面或开场静帧,调用 beatra.models.list 并传入 {"capability":"text_to_image"},出示该图片阶段自己的确认卡,并提交一次 beatra.images.generate 封面或关键帧。在任何视频工作之前交付并查看该静帧。这个赠额级阶段并不授权 beatra.videos.generatebeatra.videos.animatebeatra.videos.interpolatebeatra.videos.generate_from_references。例如:

    printf '%s' '{"prompt":"Album-cover keyframe of a neon-soaked night drive through rain, cinematic teal-and-magenta palette.","count":1,"client_request_id":"opaque-mv-cover-id"}' | python3 scripts/mcp_client.py call beatra.images.generate
    
  4. 按视觉控制选择路线。调用 beatra.models.list 并传入匹配的能力,确认某张当前模型卡接受每一个实际媒体事实、驱动音频组合以及所选的视频时长。除非用户已选定一个具体的可用模型,否则保持模型为 auto。写入大于等于真实歌曲时长、且当前信息卡允许的最小整数 duration。不要省略 duration,即使模型是 model=auto。任何数值估价都只是暂定值;终态任务的 billing.net_charged_credits 才是最终费用。

  5. 在创建任何视频 client_request_id 或调用 beatra.videos.generate / beatra.videos.animate / beatra.videos.interpolate / beatra.videos.generate_from_references 之前出示入场卡:路线和 MCP 工具名、实时信息卡时长、若已设置的分辨率、若已设置的画幅、实时暂估价、注册赠额 600 分通常买不起这一单视频,以及余额不足时怎么办。规划、比较或「去做这条短片」不构成批准。在用户确认已充值或余额足够覆盖本次估价之前,不要提交。

  6. 冻结确切的路线、音频、源图片、使用参考媒体时的参考、提示词、所选时长、模型行为,以及一个不透明且稳定的 client_request_id;然后恰好提交一次视频调用。只调用随包 scripts/mcp_client.py:MCP 工具名是 CLI 参数,其参数是标准输入上的 JSON。例如,文本加驱动音频:

    printf '%s' '{"prompt":"A neon-soaked night drive through a rain-streaked city, reflections shimmering on the windshield, the beat syncing with passing streetlights, cinematic teal-and-magenta palette.","audio":{"type":"artifact","artifact_id":"art_song"},"duration":10,"client_request_id":"opaque-mv-generate-id"}' | python3 scripts/mcp_client.py call beatra.videos.generate
    

    严格的封面图或人物加驱动音频:

    printf '%s' '{"image":{"type":"artifact","artifact_id":"art_cover"},"prompt":"The cover art comes alive: light blooms across the frame, particles drift upward, the subject's eyes slowly open in time with the music.","driving_audio":{"type":"artifact","artifact_id":"art_song"},"duration":8,"client_request_id":"opaque-mv-animate-id"}' | python3 scripts/mcp_client.py call beatra.videos.animate
    

    严格的开场和结尾图:

    printf '%s' '{"first_frame":{"type":"artifact","artifact_id":"art_open"},"last_frame":{"type":"artifact","artifact_id":"art_end"},"prompt":"A surreal transition from a desolate moonlit shore to a vibrant sunrise festival, the energy building with the music.","driving_audio":{"type":"artifact","artifact_id":"art_song"},"duration":10,"client_request_id":"opaque-mv-interpolate-id"}' | python3 scripts/mcp_client.py call beatra.videos.interpolate
    

    音频作为松散氛围参考:

    printf '%s' '{"references":[{"kind":"audio","media":{"type":"artifact","artifact_id":"art_song"}},{"kind":"image","media":{"type":"artifact","artifact_id":"art_mood"}}],"prompt":"A dreamlike sequence of a dancer moving through shifting colored smoke, the visuals guided by the song's energy and the mood reference palette.","duration":10,"client_request_id":"opaque-mv-references-id"}' | python3 scripts/mcp_client.py call beatra.videos.generate_from_references
    

    不要配置、调用或使用宿主 Beatra Connector。不要使用 REST/OpenAPI 回退。恰好提交一次所选的视频工具。

  7. 立即记录返回的任务 ID,并用 beatra.tasks.get 轮询同一任务直到终态。交付每一个返回的视频素材或链接。只报告实际返回的任务状态、解析后的模型、尺寸、时长、用量和 billing.net_charged_credits。审阅可访问的结果,检查视觉对音乐的回应、动态、氛围、主体稳定性、音轨的存在和处理、比例和实际时长。说明宿主 Agent 能和不能查看的内容。

付费变更、恢复与取消

可选封面阶段和视频阶段是带有不同 ID 的独立付费请求。更换音乐片段、视觉方向、封面图、提示词、模型、所选时长、画幅或视频控制,都属于新的逻辑付费工作:创建新 ID,出示变更后的入场卡,并重新取得充值或余额确认。绝不要为参数不同的请求复用 ID。遇到 insufficient_balance 时,转述返回文案,充值 URL 保持原样,只有用户说已充值后才用同一冻结 ID 重试。

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

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

账户余额

用户问还剩多少积分,或某次实时估价够不够时,调用 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)。不要配置宿主 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 报告官方可用版本而不替换文件。