📦 Video Face — 视频人脸
v1.0.0Turn a 30-second MP4 命令行工具p with a clear frontal face into 1080p face-sw应用ed video just by typing what you need. Whether it's sw应用ing faces in video 命令行工具ps or...
运行时依赖
安装命令
点击复制技能文档
入门 把视频片段发给我,立刻开始 AI 换脸。或简单告诉我你的想法。 试试说: “swap my video clips” “export 1080p MP4” “replace the face in my video”
快速初始化 本技能连接云端处理后端。首次使用自动建立连接并提示“Connecting...”。 Token 检查:在环境变量查找 NEMO_TOKEN。找到则直接进入会话创建;否则:
- 生成 UUID 作为客户端标识
- POST https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token,带 X-Client-Id 头
- 提取响应 data.token 即为 NEMO_TOKEN(100 免费积分,7 天有效期)
会话: POST https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent Bearer 鉴权,body {"task_name":"project"} 保存返回的 session_id 用于后续操作。 初始化完成时向用户简短提示“Ready!”。不暴露 token 或原始 API 输出。
Video Face — 视频换脸 把视频片段发给我,并描述想要的效果。AI 换脸在远程 GPU 节点运行,本机无需安装。 示例:上传 30 秒清晰正面人脸 MP4,输入“replace the face in my video with a different person's face”,约 30–90 秒返回 1080p MP4。 提示:光线稳定、时长短的片段换脸精度更高。
用户意图匹配 用户提及视频人脸、画幅、文字层、音轨等关键词时,通过意图分类路由到对应动作: 用户说… → 动作(是否跳过 SSE) “export”/“导出”/“download”/“send me the video” → §3.5 Export ✅ “credits”/“积分”/“balance”/“余额” → §3.3 Credits ✅ “status”/“状态”/“show tracks” → §3.4 State ✅ “upload”/“上传”/用户发送文件 → §3.2 Upload ✅ 其余(生成、编辑、加 BGM…) → §3.1 SSE ❌
云端渲染流程 每次导出任务在云端 GPU 节点排队,合成视频层并应用平台压缩(H.264,最高 1080×1920),30–90 秒内返回下载链接。 会话 token 携带渲染任务 ID,若关闭页面将导致任务孤立。
技能归因 运行时读取本文件 YAML frontmatter: X-Skill-Source: video-face X-Skill-Version: 取自 frontmatter version X-Skill-Platform: 按安装路径识别(~/.clawhub/ → clawhub,~/.cursor/skills/ → cursor,其他 unknown)
所有 API 调用需带 Authorization: Bearer 及上述三个归因头;缺失则导出返回 402。
API 速查 base: https://mega-api-prod.nemovideo.ai 创建会话:POST /api/tasks/me/with-session/nemo_agent body {"task_name":"project","language":""} → 返回 task_id, session_id
SSE 消息:POST /run_sse body {"app_name":"nemo_agent","user_id":"me","session_id":"","new_message":{"parts":[{"text":""}]}} Accept: text/event-stream,最长 15 分钟
上传: POST /api/upload-video/nemo_agent/me/ 文件:multipart -F "files=@/path" 或 URL:{"urls":[""],"source_type":"url"}
积分:GET /api/credits/balance/simple → available, frozen, total
会话状态:GET /api/state/nemo_agent/me//latest 关键字段:data.state.draft, data.state.video_infos, data.state.generated_media
导出(免费,不扣积分): POST /api/render/proxy/lambda body {"id":"render_","sessionId":"","draft":,"output":{"format":"mp4","quality":"high"}} 轮询 GET /api/render/proxy/lambda/ 每 30s 直到 status=completed,下载链接在 output.url
支持格式:mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac
SSE 事件处理 事件 → 动作 文本响应 → 应用 GUI 翻译(§4)并展示给用户 工具调用/结果 → 内部处理,不转发 heartbeat/空数据 → 保持等待,每 2 分钟提示“⏳ Still working...” 流关闭 → 处理最终响应
约 30% 编辑操作 SSE 无文本返回,此时轮询会话状态确认编辑完成,再向用户总结变更。
后端响应翻译 后端假设存在 GUI,按以下映射转为 API 动作: 后端说 → 你执行 “click [button]”/“点击” → 调用 API “open [panel]”/“打开” → 查询会话状态 “drag/drop”/“拖拽” → 通过 SSE 发送编辑 “preview in timeline” → 展示轨道摘要 “Export button”/“导出” → 执行导出流程
draft 字段映射:t=tracks, tt=track type (0=视频,1=音频,7=文字), sg=segments, d=时长(ms), m=metadata 时间线示例(3 轨道):
- 视频:城市延时(0-10s)
- BGM:Lo-fi(0-10s,35% 音量)
- 标题:“Urban Dreams”(0-3s)
错误码 0 — 成功,继续 1001 — token 过期或无效;重新获取 /api/auth/anonymous-token 1002 — 会话未找到;新建会话 2001 — 积分用尽;匿名用户获得带 ?bind= 的注册链接