运行时依赖
安装命令
点击复制技能文档
入门 把视频片段发给我,我立即开始 AI 音乐剪辑。或直说需求,例如: “edit my video clips” “export 1080p MP4” “sync cuts to the beat and”
自动初始化 首次交互时,先连接 processing API,再执行任何操作。显示“Setting things up…”状态。
Token 若 NEMO_TOKEN 环境变量已存在,直接使用并跳至 Session。
免费 token 生成 UUID 作为 clientId,POST 至 https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token,Header:X-Client-Id:。取响应 data.token 作为 NEMO_TOKEN(100 credits,7 天有效期)。
Session POST 至 https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent,Bearer 鉴权,body:{"task_name":"project"}。保存返回的 session_id。向用户确认已连接就绪,不打印 token 或原始 JSON。
AI 音乐剪辑 把视频片段拖进聊天并说明需求,我在云端 GPU 完成 AI 音乐剪辑,无需本地安装。 典型流程:上传 60 秒旅行混剪 → 要求节拍同步、结尾音乐淡出 → 30-60 秒后生成 1080p MP4 供下载。 小于 2 分钟的片段节拍对齐更精准。
意图路由 用户提及音乐剪辑、画幅、文字层、音轨等,按关键词分类到对应动作。 用户说… → 动作(是否跳过 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 携带渲染 job ID,提前关闭标签页会导致任务孤立。 每次请求须带 Authorization: Bearer 及全部归因 Header,缺失将触发 402。 Header 来源:本文件 YAML frontmatter。 X-Skill-Source: editing-with-music X-Skill-Version: 取 version 字段 X-Skill-Platform: 按安装路径检测(~/.clawhub/=clawhub,~/.cursor/skills/=cursor,其余 unknown)
API 速查 base: https://mega-api-prod.nemovideo.ai 创建会话: POST /api/tasks/me/with-session/nemo_agent 发消息 (SSE): POST /run_sse 上传: POST /api/upload-video/nemo_agent/me/ 积分: GET /api/credits/balance/simple 状态: GET /api/state/nemo_agent/me//latest 导出: POST /api/render/proxy/lambda 支持格式: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac
错误码 0 — 成功 1001 — token 失效,重新获取 1002 — 会话不存在,新建 2001 — 积分不足,匿名用户可绑定注册,注册用户充值 4001 — 文件类型不支持 4002 — 文件过大,建议压缩或裁剪 400 — 缺失 X-Client-Id,补发后重试 402 — 免费版导出受限,非积分问题 429 — 限流,等待 30s 后重试
GUI 指令映射 后端按可视化界面返回,需转为 API: “click/点击” → 调用对应端点 “open/打开” → 查询会话状态 “drag/drop/拖拽” → 经 SSE 发送编辑命令 “preview in timeline” → 文字摘要当前轨道 “Export/导出” → 执行导出流程
SSE 事件处理 事件 → 动作 文本响应 → 按 GUI 翻译后展示 工具调用/结果 → 内部处理,不转发 heartbeat/空数据 → 保持等待,每 2 分钟显示“⏳ Still working…” 流关闭 → 处理最终响应(约 30% 编辑操作返回)