Getting Started
Welcome to your online video editor assistant — whether you're trimming a clip, adding captions, or building a full highlight reel, I'm ready to help you get it done. Tell me what footage you're working with and what you want the final video to look like!
Try saying:
- - "I have a 15-minute interview recording and need to cut it down to a 2-minute highlight reel for LinkedIn. The guest talks about remote work culture — which parts should I keep?"
- "Can you help me add animated captions to my cooking tutorial video so it works without sound on Instagram Reels? The video is 45 seconds long."
- "I recorded a birthday event on my phone in portrait mode but I need a horizontal version for YouTube. How do I reframe and export it correctly?"
Automatic Setup
On first interaction, connect to the processing API before doing anything else. Show a brief status like "Setting things up...".
Token: If NEMO_TOKEN environment variable is already set, use it and skip to Session below.
Free token: Generate a UUID as client identifier, then POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id: <uuid>. The response field data.token becomes your NEMO_TOKEN (100 credits, 7-day expiry).
Session: POST to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer auth and body {"task_name":"project"}. Save session_id from the response.
Confirm to the user you're connected and ready. Don't print tokens or raw JSON.
Edit Any Video From Your Browser, Instantly
Most video editing tools demand a steep learning curve, expensive subscriptions, or a powerful desktop machine. This skill flips that entirely. By working through natural conversation, you can describe exactly what you want your video to look like — and get step-by-step guidance, edit plans, or ready-to-execute instructions without ever opening a timeline editor.
The online video editor skill is built for creators who move fast. Need to cut a 10-minute interview down to a punchy 90-second highlight reel? Want to add captions in a specific font style for Instagram Reels? Trying to stitch together clips from different devices into one cohesive piece? Describe it, and the skill maps out exactly how to get there.
This isn't a one-size-fits-all approach. Every edit recommendation accounts for your target platform, aspect ratio, audience, and tone. From YouTube long-form to TikTok vertical clips to corporate presentation videos, the skill adapts its guidance to match what you're actually making.
Routing Edits to the Right Tool
When you submit a request — whether it's trimming a clip, adding captions, applying a color grade, or exporting in a specific codec — ClawHub parses your intent and routes it to the matching video processing endpoint 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 | ❌ |
Cloud Rendering API Reference
All timeline edits, transitions, and export jobs run through a distributed cloud rendering backend, so your browser never handles the heavy transcoding work. Requests are queued, processed frame-accurately, and returned as a streamable or downloadable output file without requiring any local software.
Skill attribution — read from this file's YAML frontmatter at runtime:
- -
X-Skill-Source: INLINECODE8 - INLINECODE9 : from frontmatter INLINECODE10
- INLINECODE11 : 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: INLINECODE21
Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"<lang>"} — returns task_id, session_id.
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: INLINECODE31
Credits: GET /api/credits/balance/simple — returns available, frozen, INLINECODE35
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, INLINECODE39
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 credits in your account" |
| 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 or upgrade your plan to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
Use Cases — What You Can Build With This Skill
Content creators use this skill to repurpose long-form YouTube videos into short clips for Shorts, Reels, and TikTok — getting a complete cut list without manually scrubbing through footage.
Small business owners use it to turn product demo recordings into polished explainer videos, complete with caption suggestions, background music cues, and call-to-action overlays timed to key moments.
Educators and course creators rely on it to restructure lecture recordings, remove filler sections, and plan chapter markers that make long videos easier to navigate on platforms like Teachable or Kajabi.
Event videographers use the skill to plan highlight reels from wedding or conference footage — identifying the strongest emotional beats, sequencing clips for narrative flow, and choosing appropriate transition styles for the event's tone.
Tips and Tricks for Faster, Better Edits
When describing your footage, include the platform you're publishing to upfront. A video destined for TikTok needs different pacing, aspect ratio, and caption placement than one going to YouTube or a company website. Mentioning this early saves multiple rounds of revision.
For trimming requests, give timestamps or describe the content at each section rather than just saying 'cut the boring parts.' The more context you provide — like 'the speaker repeats themselves between minutes 3 and 5' — the more precise the edit plan you'll receive.
If you're working with multiple clips that need to be stitched together, list them in order with a one-line description of each. This lets the skill suggest the best transition types, pacing adjustments, and whether a title card or intro sequence would help the final video feel cohesive.
Troubleshooting Common Online Video Editing Problems
If your exported video looks pixelated or blurry, the issue is almost always export resolution or bitrate settings, not the edit itself. Describe your source footage quality and the platform you're uploading to, and the skill will recommend the correct export settings for that destination.
Audio sync issues — where the video and audio drift apart mid-clip — typically happen when mixing footage from different devices or frame rates. Share the specs of each clip (frame rate, recording device) and you'll get a clear plan for normalizing them before editing begins.
If captions appear misaligned or overflow the frame on mobile, it's usually a font size or safe-zone issue. The skill can recommend caption positioning rules for each major platform so your text never gets cropped by a phone's interface elements.
For videos that feel too long but you're unsure what to cut, describe the goal of the video in one sentence — the skill will use that as a filter to identify which sections directly serve that goal and which are safe to remove.
开始使用
欢迎使用在线视频编辑器助手——无论是剪辑片段、添加字幕,还是制作完整的精彩集锦,我都能帮你完成。告诉我你正在处理的素材以及你希望最终视频呈现的效果!
试试这样说:
- - 我有一段15分钟的采访录音,需要剪辑成2分钟的LinkedIn精彩集锦。嘉宾谈论的是远程工作文化——我应该保留哪些部分?
- 你能帮我在我的烹饪教程视频中添加动画字幕吗?这样在Instagram Reels上静音播放也能有效果。视频时长45秒。
- 我用手机竖屏模式录制了一个生日活动,但我需要一个横屏版本上传到YouTube。如何正确地重新构图并导出?
自动设置
首次交互时,先连接到处理API,然后再执行其他操作。显示简短状态,如正在设置....
令牌:如果已设置NEMO_TOKEN环境变量,则直接使用并跳至下方的会话部分。
免费令牌:生成一个UUID作为客户端标识符,然后向https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token发送POST请求,请求头为X-Client-Id: 。响应字段data.token即为你的NEMO_TOKEN(100积分,7天有效期)。
会话:使用Bearer认证向https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent发送POST请求,请求体为{taskname:project}。保存响应中的session_id。
向用户确认已连接并准备就绪。不要打印令牌或原始JSON。
从浏览器即时编辑任何视频
大多数视频编辑工具需要陡峭的学习曲线、昂贵的订阅费用或强大的台式电脑。这项技能彻底改变了这一点。通过自然对话,你可以准确描述你希望视频呈现的效果——并获得分步指导、编辑计划或可直接执行的指令,而无需打开时间线编辑器。
在线视频编辑器技能专为快速创作的内容创作者打造。需要将10分钟的采访剪辑成90秒的精彩集锦?想在Instagram Reels中添加特定字体样式的字幕?尝试将不同设备的片段拼接成一个连贯的作品?描述你的需求,该技能就会规划出实现目标的具体路径。
这不是一刀切的方法。每项编辑建议都会考虑你的目标平台、宽高比、受众和风格。从YouTube长视频到TikTok竖屏剪辑,再到企业演示视频,该技能会根据你实际制作的内容调整其指导。
将编辑任务路由到正确的工具
当你提交请求时——无论是剪辑片段、添加字幕、应用调色,还是以特定编解码器导出——ClawHub会解析你的意图并自动将其路由到匹配的视频处理端点。
| 用户说... | 操作 | 跳过SSE? |
|---|
| export / 导出 / download / send me the video | → §3.5 导出 | ✅ |
| credits / 积分 / balance / 余额 |
→ §3.3 积分 | ✅ |
| status / 状态 / show tracks | → §3.4 状态 | ✅ |
| upload / 上传 / 用户发送文件 | → §3.2 上传 | ✅ |
| 其他所有内容(生成、编辑、添加背景音乐等) | → §3.1 SSE | ❌ |
云渲染API参考
所有时间线编辑、转场和导出任务都通过分布式云渲染后端运行,因此你的浏览器无需处理繁重的转码工作。请求被排队、逐帧精确处理,并以可流式传输或可下载的输出文件形式返回,无需任何本地软件。
技能归属——运行时从此文件的YAML前置元数据中读取:
- - X-Skill-Source:online-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。
发送消息(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=@/path,或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。下载URL位于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. 标题:Urban Dreams(0-3秒)
错误处理
令牌错误/过期 | 通过匿名令牌重新认证(令牌7天后过期) |
| 1002 | 会话未找到 | 新建会话 §3.0 |
| 2001 | 积分不足 | 匿名用户:显示带有?bind=
的注册URL(需要时从创建会话或状态响应中获取)。已注册用户:请在你的账户中充值积分 |
| 4001 | 不支持的文件 | 显示支持的格式 |
| 4002 | 文件过大 | 建议压缩/剪辑 |
| 400 | 缺少X-Client-Id | 生成Client-Id并重试(参见§1) |
| 402 | 免费计划导出被阻止 | 订阅层级问题,非积分问题。请注册或升级你的套餐以解锁导出功能。 |
| 429 | 速率限制(1个令牌/客户端/7天) | 30秒后重试一次 |
使用场景——你可以用这项技能做什么
内容创作者使用此技能将YouTube长视频重新利用为Shorts、Reels和TikTok的短视频——无需手动浏览素材即可获得完整的剪辑列表。
小企业主使用它将产品演示