Getting Started
Welcome! Ready to turn your raw footage into something worth sharing? Drop your video file and tell me what kind of edit you're looking for — I'll use Vmaker AI Video Editor to trim, enhance, and shape it into exactly what you need. What are we working on today?
Try saying:
- - "Take this 45-minute Zoom recording and cut it down to a 10-minute highlight reel, removing filler words and long pauses."
- "Add auto-generated captions to my product demo video and sync them with the speaker's voice."
- "Edit this raw interview footage into a punchy 60-second social media clip with a clean intro and outro."
First-Time Connection
When a user first opens this skill, connect to the NemoVideo backend automatically. Briefly let them know (e.g. "Connecting to NemoVideo...").
Authentication: Check if NEMO_TOKEN is set in the environment. If it is, skip to step 3.
- 1. Client identifier: Look for
~/.config/nemovideo/client_id. If missing, generate a UUID and save it there. This file stores only a UUID for rate-limit tracking. - Obtain a free token: POST to
https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id set to your identifier. The response data.token is your NEMO_TOKEN — 100 free credits, valid 7 days. - Create a session: POST to
https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Authorization: Bearer <token>, Content-Type: application/json, and body {"task_name":"project","language":"<detected>"}. Store the returned session_id for all subsequent requests.
Keep setup communication brief. Don't display raw API responses or token values to the user.
Smart Video Editing That Actually Understands Your Footage
Most video editing tools make you do the work — scrubbing through timelines, manually placing cuts, hunting for the right moment. The Vmaker AI Video Editor skill flips that experience. You bring the footage, describe what you want, and the skill handles the heavy lifting: identifying the best takes, removing awkward pauses, and assembling a coherent edit that matches your intent.
Whether you're turning a 30-minute screen recording into a tight 5-minute tutorial, or transforming a shaky product demo into something you'd actually post on LinkedIn, this skill adapts to your content type. It understands context — interviews get different treatment than product showcases, and social clips get optimized differently than long-form YouTube content.
Vmaker AI Video Editor is especially useful for solo creators and small marketing teams who don't have a dedicated editor on staff. Instead of outsourcing or spending a weekend cutting clips, you can describe your vision in plain language and get a structured, ready-to-export result in a fraction of the time.
Routing Edits and Enhancements
When you describe a cut, caption, background music swap, or AI enhancement, Vmaker AI maps your intent to the matching NemoVideo endpoint and fires the request automatically.
| User says... | Action | Skip SSE? |
|---|
| "export" / "导出" / "download" / "send me the video" | → §3.5 Export | ✅ |
| "credits" / "积分" / "balance" / "余额" |
→ §3.3 Credits | ✅ |
| "status" / "状态" / "show tracks" | → §3.4 State | ✅ |
| "upload" / "上传" / user sends file | → §3.2 Upload | ✅ |
| Everything else (generate, edit, add BGM…) | → §3.1 SSE | ❌ |
NemoVideo API Under the Hood
Vmaker AI Video Editor is powered by the NemoVideo backend, which handles timeline processing, AI scene detection, auto-captioning, and render jobs through a secure token-based API. Every trim, enhance, or export command you issue gets translated into a structured NemoVideo API call behind the scenes.
Skill attribution — read from this file's YAML frontmatter at runtime:
- -
X-Skill-Source: INLINECODE11 - INLINECODE12 : from frontmatter INLINECODE13
- INLINECODE14 : detect from install path (
~/.clawhub/ → clawhub, ~/.cursor/skills/ → cursor, else unknown)
All requests must include: Authorization: Bearer <NEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 402.
API base: INLINECODE24
Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id. After creating a session, give the user a link: INLINECODE29
Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.
Upload: POST /api/upload-video/nemo_agent/me/<sid> — file: multipart -F "files=@/path", or URL: INLINECODE35
Credits: GET /api/credits/balance/simple — returns available, frozen, INLINECODE39
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, INLINECODE43
Export (free, no credits): POST /api/render/proxy/lambda — body {"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/<id> every 30s until status = completed. Download URL at output.url.
Supported formats: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
SSE Event Handling
| Event | Action |
|---|
| Text response | Apply GUI translation (§4), present to user |
| Tool call/result |
Process internally, don't forward |
|
heartbeat / empty
data: | Keep waiting. Every 2 min: "⏳ Still working..." |
| Stream closes | Process final response |
~30% of editing operations return no text in the SSE stream. When this happens: poll session state to verify the edit was applied, then summarize changes to the user.
Backend Response Translation
The backend assumes a GUI exists. Translate these into API actions:
| Backend says | You do |
|---|
| "click [button]" / "点击" | Execute via API |
| "open [panel]" / "打开" |
Query session state |
| "drag/drop" / "拖拽" | Send edit via SSE |
| "preview in timeline" | Show track summary |
| "Export button" / "导出" | Execute export workflow |
Draft field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.
CODEBLOCK0
Error Handling
| Code | Meaning | Action |
|---|
| 0 | Success | Continue |
| 1001 |
Bad/expired token | Re-auth via anonymous-token (tokens expire after 7 days) |
| 1002 | Session not found | New session §3.0 |
| 2001 | No credits | Anonymous: show registration URL with
?bind=<id> (get
<id> from create-session or state response when needed). Registered: "Top up at nemovideo.ai" |
| 4001 | Unsupported file | Show supported formats |
| 4002 | File too large | Suggest compress/trim |
| 400 | Missing X-Client-Id | Generate Client-Id and retry (see §1) |
| 402 | Free plan export blocked | Subscription tier issue, NOT credits. "Register at nemovideo.ai to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
Quick Start Guide
Getting started with the Vmaker AI Video Editor skill is straightforward. Begin by uploading your video file — supported formats include mp4, mov, avi, webm, and mkv. Files under 2GB tend to process fastest, so if you're working with long recordings, consider trimming the source to the relevant section before uploading.
Once your file is in, describe your editing goal in plain language. Be specific about the output you want: mention the target duration, the platform it's headed for (YouTube, Instagram, LinkedIn), the tone (professional, casual, energetic), and any must-keep moments. The more context you give, the more accurate the edit.
After the skill processes your request, you'll receive an edited version along with a summary of what was changed — cuts made, captions added, enhancements applied. You can then request adjustments in a follow-up message, such as tightening a specific section or changing the pacing of the intro.
Best Practices
For the cleanest results with Vmaker AI Video Editor, start with the highest quality source file you have. Compressed or heavily artifacted videos limit what the AI can do — original exports from your camera or screen recorder always outperform re-exported copies.
When writing your editing prompt, avoid vague instructions like 'make it better.' Instead, anchor your request to a specific outcome: 'Remove all sections where the presenter is not speaking,' or 'Keep only the product demonstration portion and cut the Q&A.' Specificity translates directly into edit accuracy.
If you're producing content for multiple platforms from the same source clip, process them as separate requests with platform-specific instructions rather than asking for everything at once. A 16:9 YouTube cut and a 9:16 Reels version require different framing and pacing decisions, and treating them individually gives you tighter control over each output.
开始使用
欢迎!准备好将原始素材剪辑成值得分享的作品了吗?上传您的视频文件,告诉我您想要怎样的剪辑效果——我将使用 Vmaker AI 视频编辑器进行修剪、增强和塑造,精准满足您的需求。今天我们要处理什么内容?
试试这样说:
- - 将这段45分钟的Zoom录制视频剪辑成10分钟的精彩集锦,删除填充词和长时间停顿。
- 为我的产品演示视频添加自动生成的字幕,并与演讲者的声音同步。
- 将这段原始采访素材剪辑成一段60秒的社交媒体短视频,配上干净利落的开场和结尾。
首次连接
当用户首次打开此技能时,自动连接到 NemoVideo 后端。简要告知用户(例如:正在连接到 NemoVideo...)。
身份验证:检查环境中是否设置了 NEMO_TOKEN。如果已设置,直接跳至步骤3。
- 1. 客户端标识符:查找 ~/.config/nemovideo/clientid。如果不存在,生成一个 UUID 并保存到该文件中。此文件仅存储用于速率限制追踪的 UUID。
- 获取免费令牌:向 https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token 发送 POST 请求,请求头 X-Client-Id 设置为您的标识符。响应中的 data.token 即为您的 NEMOTOKEN——包含100个免费积分,有效期7天。
- 创建会话:向 https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent 发送 POST 请求,携带 Authorization: Bearer 、Content-Type: application/json 以及请求体 {taskname:project,language:<检测到的语言>}。保存返回的 session_id 用于所有后续请求。
保持设置沟通简洁。不要向用户显示原始 API 响应或令牌值。
真正理解您素材的智能视频编辑
大多数视频编辑工具让您亲力亲为——在时间线上反复拖拽、手动放置剪辑点、寻找最佳镜头。Vmaker AI 视频编辑器技能颠覆了这一体验。您只需提供素材,描述您的需求,技能便会承担繁重工作:识别最佳片段、删除尴尬停顿、组合出符合您意图的连贯剪辑。
无论您是要将30分钟的屏幕录制变成紧凑的5分钟教程,还是将摇晃的产品演示转化为可以在 LinkedIn 上发布的专业视频,此技能都能适应您的内容类型。它能理解上下文——采访视频与产品展示的处理方式不同,社交媒体短片与 YouTube 长视频的优化方式也不同。
Vmaker AI 视频编辑器特别适合没有专职剪辑师的独立创作者和小型营销团队。您无需外包或花费整个周末剪辑素材,只需用自然语言描述您的愿景,就能在短时间内获得结构清晰、可直接导出的成果。
剪辑与增强路由
当您描述剪辑、字幕、背景音乐替换或 AI 增强需求时,Vmaker AI 会将您的意图映射到相应的 NemoVideo 端点并自动发送请求。
| 用户说... | 操作 | 跳过SSE? |
|---|
| export / 导出 / download / send me the video | → §3.5 导出 | ✅ |
| credits / 积分 / balance / 余额 |
→ §3.3 积分 | ✅ |
| status / 状态 / show tracks | → §3.4 状态 | ✅ |
| upload / 上传 / 用户发送文件 | → §3.2 上传 | ✅ |
| 其他所有内容(生成、编辑、添加背景音乐等) | → §3.1 SSE | ❌ |
NemoVideo API 底层机制
Vmaker AI 视频编辑器由 NemoVideo 后端驱动,通过基于令牌的安全 API 处理时间线编辑、AI 场景检测、自动字幕和渲染任务。您发出的每个修剪、增强或导出命令都会被转换为结构化的 NemoVideo API 调用。
技能归属——运行时从此文件的 YAML 前置元数据中读取:
- - X-Skill-Source:vmaker-ai-video-editor
- X-Skill-Version:来自前置元数据 version
- X-Skill-Platform:从安装路径检测(~/.clawhub/ → clawhub,~/.cursor/skills/ → cursor,否则为 unknown)
所有请求必须包含:Authorization: Bearer 、X-Skill-Source、X-Skill-Version、X-Skill-Platform。缺少归属头将导致导出失败并返回402错误。
API 基础地址:https://mega-api-prod.nemovideo.ai
创建会话:POST /api/tasks/me/with-session/nemoagent — 请求体 {taskname:project,language:<语言>} — 返回 taskid、sessionid。创建会话后,向用户提供一个链接:https://nemovideo.com/workspace/claim?token=$TOKEN&task=id>&session=id>&skillname=vmaker-ai-video-editor&skillversion=1.0.0&skill_source=
发送消息(SSE):POST /runsse — 请求体 {appname:nemoagent,userid:me,sessionid:,newmessage:{parts:[{text:<消息>}]}},携带 Accept: text/event-stream。最大超时时间:15分钟。
上传:POST /api/upload-video/nemoagent/me/ — 文件:multipart -F files=@/路径,或 URL:{urls:[],sourcetype:url}
积分:GET /api/credits/balance/simple — 返回 available、frozen、total
会话状态:GET /api/state/nemoagent/me//latest — 关键字段:data.state.draft、data.state.videoinfos、data.state.generated_media
导出(免费,不消耗积分):POST /api/render/proxy/lambda — 请求体 {id:render_<时间戳>,sessionId:,draft:,output:{format:mp4,quality:high}}。每30秒轮询 GET /api/render/proxy/lambda/,直到 status = completed。下载地址在 output.url。
支持的格式:mp4、mov、avi、webm、mkv、jpg、png、gif、webp、mp3、wav、m4a、aac。
SSE 事件处理
| 事件 | 操作 |
|---|
| 文本响应 | 应用 GUI 翻译(§4),呈现给用户 |
| 工具调用/结果 |
内部处理,不转发 |
| heartbeat / 空 data: | 继续等待。每2分钟:⏳ 仍在处理中... |
| 流关闭 | 处理最终响应 |
约30%的编辑操作在 SSE 流中不返回文本。发生这种情况时:轮询会话状态以确认编辑已应用,然后向用户总结更改内容。
后端响应翻译
后端假定存在 GUI。将这些翻译为 API 操作:
| 后端说 | 您做 |
|---|
| click [button] / 点击 | 通过 API 执行 |
| open [panel] / 打开 |
查询会话状态 |
| drag/drop / 拖拽 | 通过 SSE 发送编辑 |
| preview in timeline | 显示轨道摘要 |
| Export button / 导出 | 执行导出工作流 |
草稿字段映射:t=轨道,tt=轨道类型(0=视频,1=音频,7=文本),sg=片段,d=时长(毫秒),m=元数据。
时间线(3条轨道):1. 视频:城市延时摄影(0-10秒)2. 背景音乐:Lo-fi(0-10秒,35%)3. 标题:城市梦想(0-3秒)
错误处理
令牌错误/过期 | 通过 anonymous-token 重新认证(令牌7天后过期) |
| 1002 | 会话未找到 | 新建会话 §3.0 |
| 2001 | 无积分 | 匿名用户:显示注册 URL,附带 ?bind=
(需要时从创建会话或状态响应中获取 )。已注册用户:请在 nemovideo.ai 充值 |
| 4001 | 不支持的文件格式 | 显示