360 Secure SkillHub
360 安全技能中心

Nami Face Swap Video

Python 脚本调用纳米 AI 智能体(flow-id 47758),将人像图片与参考动作视频作为附件上传,生成模仿参考视频动作的短视频,并以 SSE 解析输出文本说明、图片与视频链接,同时提供飞书卡片展示与长超时配置。

2020必胜
2020必胜
热度 21.81
最近更新 2026-04-02 21:49:24
分类:创作依赖:代码执行 / 读写文件 / 第三方 API应用场景:视频编辑 / 图像生成 / 社交媒体

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nami-face-swap-video
Metadata
name
nami-face-swap-video
description
纳米 魔性动作模仿。提供人像照和参考视频,生成模仿参考视频动作的魔性短视频,保持人物外貌一致;支持文档、图片、音视频附件;SSE 流式输出。 **飞书调用优化**:发送开始提示、卡片展示结果、2小时超时。
metadata
{"openclaw":{"emoji":"💃","requires":{"bins":["python3","curl"]}}}

纳米 魔性动作模仿

调用纳米 AI 智能体(ai_agent_flow_id=47758),基于上传的人像图片和参考视频,生成人物跟随参考视频节奏与动作的魔性短视频,可用于整活、搞怪、娱乐分享等场景。

功能特性

  • 动作模仿视频: 使用用户人像照与参考动作视频,生成模仿同款动作的魔性短视频
  • 人物外貌保持一致: 尽可能保持人物脸部与外貌特征稳定
  • 附件支持: 支持人像图片、参考视频、脚本文案等,通过 file 字段传入
  • SSE 流式输出: 调用前提示、输出最终结果(文本说明、视频、图片)
  • 飞书优化: 调用前提示、卡片结果展示、2小时超时

飞书调用优化说明

仅在飞书 中生效。其他 channel 保持原有输出方式。

调用前提示

开始调用脚本前,向用户发送提示消息:

💃 正在调用 纳米 魔性动作模仿 技能...
⏳ 当前工具执行时间较长,请耐心等候...

超时设置

  • 请求超时时间:2 小时(7200 秒)

结果展示(飞书卡片)

执行完成后,将结果以消息卡片形式展示给用户,包括:

  1. 文本内容:对动作模仿结果的描述或补充说明
  2. 视频:魔性动作模仿生成的视频链接
  3. 图片:人像/封面图等素材
  4. 文档/链接:脚本文档或其他说明材料

卡片结构示例

{
  "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 解析逻辑:

  1. 仅当 action == "final" 且 targetKey == "summary" 时才解析数据
  2. 输出内容包含:
    • 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 中的视频即为魔性动作模仿结果,可直接在各渠道播放或转发。