纳米 魔性动作模仿
调用纳米 AI 智能体(ai_agent_flow_id=47758),基于上传的人像图片和参考视频,生成人物跟随参考视频节奏与动作的魔性短视频,可用于整活、搞怪、娱乐分享等场景。
功能特性
- 动作模仿视频: 使用用户人像照与参考动作视频,生成模仿同款动作的魔性短视频
- 人物外貌保持一致: 尽可能保持人物脸部与外貌特征稳定
- 附件支持: 支持人像图片、参考视频、脚本文案等,通过
file字段传入 - SSE 流式输出: 调用前提示、输出最终结果(文本说明、视频、图片)
- 飞书优化: 调用前提示、卡片结果展示、2小时超时
飞书调用优化说明
仅在飞书 中生效。其他 channel 保持原有输出方式。
调用前提示
开始调用脚本前,向用户发送提示消息:
💃 正在调用 纳米 魔性动作模仿 技能...
⏳ 当前工具执行时间较长,请耐心等候...
超时设置
- 请求超时时间:2 小时(7200 秒)
结果展示(飞书卡片)
执行完成后,将结果以消息卡片形式展示给用户,包括:
- 文本内容:对动作模仿结果的描述或补充说明
- 视频:魔性动作模仿生成的视频链接
- 图片:人像/封面图等素材
- 文档/链接:脚本文档或其他说明材料
卡片结构示例
{
"config": {"wide_screen_mode": true},
"header": {
"title": {"tag": "plain_text", "content": "💃 纳米 魔性动作模仿 生成完成"},
"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-face-swap-video/scripts/nami_face_swap_video.py 脚本:
# 人像照 + 参考动作视频
python3 skills/nami-face-swap-video/scripts/nami_face_swap_video.py \
--flow-id 47758 \
-p "使用上传照片中的人物形象模仿参考视频中的魔性舞蹈动作" \
--file '[{
"title": "人像照.jpg",
"local_path": "/Users/用户/.openclaw/media/inbound/face.jpg",
"url": "",
"file_type": 2,
"size": 123456,
"sequential_title": "图片1",
"ext": "jpg"
},{
"title": "参考动作.mp4",
"local_path": "/Users/用户/.openclaw/media/inbound/ref.mp4",
"url": "",
"file_type": 3,
"size": 2345678,
"sequential_title": "视频1",
"ext": "mp4"
}]'
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
-p, --prompt |
用户创意需求,建议包含人物、参考动作视频说明、风格等信息 | 必填 |
--file |
附件 JSON 字符串,支持单个对象或对象数组(人像/参考视频/脚本文档等) | 可选 |
--flow-id |
智能体 flow ID | 47758 |
-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": "人像照.jpg",
"local_path": "/Users/用户/.openclaw/media/inbound/face.jpg",
"url": "",
"file_type": 2,
"size": 123456,
"sequential_title": "图片1",
"ext": "jpg"
},
{
"title": "参考动作.mp4",
"local_path": "/Users/用户/.openclaw/media/inbound/ref.mp4",
"url": "",
"file_type": 3,
"size": 2345678,
"sequential_title": "视频1",
"ext": "mp4"
}
]
title: 文件标题local_path: 本地绝对路径url: 可留空,脚本会自动上传并补全file_type: 1=文档,2=图片,3=音/视频size: 文件大小sequential_title: 素材序号名称(如「图片1」「视频1」)ext: 文件扩展名
输出格式与解析(SSE 规范)
本技能使用统一 SSE 解析逻辑:
- 仅当
action == "final"且targetKey == "summary"时才解析数据 - 输出内容包含:
final_tips:文本结果(动作模仿说明等)- 图片结果:
attachments[*].results[*]中type="image"的条目(人像/封面图) - 视频结果:
attachments[*].results[*]中type="video"的条目(魔性动作模仿生成视频) - 文本结果:
attachments[*].results[*]中type="document"的条目(脚本文档等)
飞书附件处理流程
当用户通过飞书上传人像照和参考动作视频时,按以下流程处理:
步骤 1:获取系统下载的文件路径
系统已自动将附件下载到 /Users/用户/.openclaw/media/inbound/ 目录。
步骤 2:组装 file JSON
从消息上下文获取系统下载的文件路径:
[
{
"title": "人像照.jpg",
"local_path": "/Users/用户/.openclaw/media/inbound/face.jpg",
"url": "",
"file_type": 2,
"size": 123456,
"sequential_title": "图片1",
"ext": "jpg"
},
{
"title": "参考动作.mp4",
"local_path": "/Users/用户/.openclaw/media/inbound/ref.mp4",
"url": "",
"file_type": 3,
"size": 2345678,
"sequential_title": "视频1",
"ext": "mp4"
}
]
步骤 3:调用脚本
python3 skills/nami-face-swap-video/scripts/nami_face_swap_video.py \
--flow-id 47758 \
-p "使用上传照片中的人物形象模仿参考视频中的魔性舞蹈动作" \
--file '[{"title":"人像照.jpg","local_path":"/Users/用户/.openclaw/media/inbound/face.jpg","url":"","file_type":2,"size":123456,"sequential_title":"图片1","ext":"jpg"},{"title":"参考动作.mp4","local_path":"/Users/用户/.openclaw/media/inbound/ref.mp4","url":"","file_type":3,"size":2345678,"sequential_title":"视频1","ext":"mp4"}]'
其他 channel 说明
| Channel | 调用方式 |
|---|---|
| 飞书 | 调用前提示 + 卡片结果 + 2小时超时 |
| 其他(discord/telegram/wechat 等) | 默认方式:调用前提示 + 标准 JSON 输出 |
--channel 参数说明:
- 用于指定消息来源渠道,不同渠道有不同的输出格式
feishu:输出飞书卡片格式(包含 header、elements 等结构)- 其他渠道:输出标准 JSON 格式(包含 text、images、videos、documents 字段)
注意事项
- 人像照应尽量清晰、正脸,避免严重遮挡
- 参考动作视频建议节奏清晰、主体动作明显,过暗或过曝视频可能影响效果
- 结果中的视频/图片链接应该是公网可访问的 URL
- 超时时间 2 小时适合视频生成等长时间任务
name: nami-face-swap-video description: 纳米 魔性动作模仿。提供人像照和参考视频,生成模仿参考视频动作的魔性短视频,保持人物外貌一致;支持文档、图片、音视频附件;SSE 流式输出,可对接飞书、微信、Discord、Telegram 等 channel。当用户希望让自己的形象模仿某段魔性舞蹈/表演时使用。 metadata: { "openclaw": { "emoji": "💃", "requires": { "bins": ["python3", "curl"] }, }, }
纳米 魔性动作模仿
调用纳米 AI 智能体(ai_agent_flow_id=47758),基于上传的人像图片和参考视频,生成人物跟随参考视频节奏与动作的魔性短视频。
使用方式
python3 skills/nami-face-swap-video/scripts/nami_face_swap_video.py \
--flow-id 47758 \
-p "使用上传照片中的人物形象跳舞" \
--file '[{
"title": "人像照.jpg",
"local_path": "/Users/用户/.openclaw/media/inbound/face.jpg",
"url": "",
"file_type": 2,
"size": 123456,
"sequential_title": "图片1",
"ext": "jpg"
},{
"title": "参考动作.mp4",
"local_path": "/Users/用户/.openclaw/media/inbound/ref.mp4",
"url": "",
"file_type": 3,
"size": 2345678,
"sequential_title": "视频1",
"ext": "mp4"
}]'
参数与输出
--flow-id必须为47758- SSE 解析逻辑由
skills/nami-face-swap-video/scripts/nami_face_swap_video.py独立实现,输出results中的视频即为魔性动作模仿结果,可直接在各渠道播放或转发。

