纳米 AI 音乐MV制作
调用纳米 AI 智能体(ai_agent_flow_id=7169),基于上传的人物图片与音乐文件,生成嘴型、呼吸节奏与音乐完全同步的音乐 MV 视频。
飞书调用优化说明
仅在飞书 中生效。其他 channel 保持原有输出方式。
调用前提示
开始调用脚本前,向用户发送提示消息:
📹 正在调用 纳米 AI 音乐MV制作 技能...
⏳ 当前工具执行时间较长,请耐心等候...
超时设置
- 请求超时时间:2 小时(7200 秒)
结果展示(飞书卡片)
执行完成后,将结果以消息卡片形式展示给用户,包括:
- 文本内容:MV 文案、分镜脚本等
- 图片:封面图或中间关键帧
- 视频:最终 MV 视频
- 文档/链接:使用链接或文件消息发送
卡片结构示例
{
"config": {"wide_screen_mode": true},
"header": {
"title": {"tag": "plain_text", "content": "📹 纳米 AI 音乐MV制作 生成完成"},
"template": "blue"
},
"elements": [
{"tag": "div", "text": {"tag": "plain_text", "content": "📝 剧本内容:..."}},
{"tag": "action", "actions": [{"tag": "button", "text": {"tag": "plain_text", "content": "🎬 查看视频"}, "type": "primary", "url": "..."}]}
]
}
错误处理
如果执行过程中出现错误,会将错误信息以卡片形式展示给用户。
使用方式
命令行调用
统一通过 skills/nami-mv-master/scripts/nami_mv_master.py 脚本:
# 仅文字创意
python3 skills/nami-mv-master/scripts/nami_mv_master.py \
--flow-id 7169 \
-p "根据下面的歌曲和设定,生成一条完整 MV"
# 搭配人物图片 + 音频
python3 skills/nami-mv-master/scripts/nami_mv_master.py \
--flow-id 7169 \
-p "视频比例:9:16\n使用【上传图片】中的人物作为唯一主体,对口型演唱上传音频" \
--file '[
{
"title": "人物1.jpg",
"local_path": "/Users/用户/.openclaw/media/inbound/role1.jpg",
"url": "",
"file_type": 2,
"size": 123456,
"sequential_title": "图片1",
"ext": "jpg"
},
{
"title": "BGM.mp3",
"local_path": "/Users/用户/.openclaw/media/inbound/bgm.mp3",
"url": "",
"file_type": 3,
"size": 3456789,
"sequential_title": "音频1",
"ext": "mp3"
}
]'
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
-p, --prompt |
用户创意需求,建议包含人物设定、节奏、情绪、视频比例等 | 必填 |
--file |
附件 JSON 字符串,支持单个对象或对象数组(人物图片、BGM 等) | 可选 |
--flow-id |
智能体 flow ID | 7169 |
-q, --qid |
业务侧 QID | 3464550917 |
-F, --format |
最终输出格式,markdown 或 json |
markdown |
-v, --verbose |
是否打印详细过程日志 | 开启 |
--stream |
是否使用实时流式输出模式 | 开启 |
--timeout |
请求超时时间(秒) | 7200(2小时) |
--channel |
消息来源渠道,如 feishu、discord、telegram、web 等 |
自动识别(优先读取环境变量 OPENCLAW_CHANNEL,未设置时默认 web) |
附件 file 结构
--file 参数统一传入 JSON 对象数组,每个元素为一个附件对象:
[
{
"title": "人物1.jpg",
"local_path": "/Users/用户/.openclaw/media/inbound/role1.jpg",
"url": "",
"file_type": 2,
"size": 123456,
"sequential_title": "图片1",
"ext": "jpg"
}
]
title: 文件标题local_path: 本地绝对路径url: 可留空(脚本会自动上传并补全)file_type: 1=文档,2=图片,3=音/视频size: 文件大小sequential_title: 素材序号名称ext: 文件扩展名
输出格式与解析(SSE 规范)
本技能使用统一 SSE 解析逻辑:
- 仅当
action == "final"且targetKey == "summary"时才解析数据 - 输出内容包含:
final_tips:文本结果(MV 文案 / 摘要)- 图片结果:
attachments[*].results[*]中type="image"的条目 - 视频结果:
attachments[*].results[*]中type="video"的条目 - 文本结果:
attachments[*].results[*]中type="document"的条目
其他 channel 说明
| Channel | 调用方式 |
|---|---|
| 飞书 | 调用前提示 + 卡片结果 + 2小时超时 |
| 其他(discord/telegram/wechat 等) | 默认方式:调用前提示 + 标准 JSON 输出 |
--channel 参数说明:
- 用于指定消息来源渠道,不同渠道有不同的输出格式
feishu:输出飞书卡片格式(包含 header、elements 等结构)- 其他渠道:输出标准 JSON 格式(包含 text、images、videos、documents 字段)
注意事项
- 结果中的视频/图片链接应该是公网可访问的 URL
- 超时时间 2 小时适合 MV 生成等长时间任务

