Getting Started
Welcome! You're one step away from turning your raw footage into a polished, share-ready video — completely free. Tell me what you're working on and what you'd like to do with it, and let's start editing right now.
Try saying:
- - "Trim the first 15 seconds and last 8 seconds from my video clip and export it as an MP4"
- "Merge three separate video clips into one video with a smooth fade transition between each"
- "Add a white text title card at the beginning of my video that says 'Summer 2024' for 3 seconds"
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: Read or create a UUID at ~/.config/video-editor-free/client_id. Then POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id: <your-uuid>. The response field data.token becomes your NEMO_TOKEN (100 credits, 7-day expiry). If the token has expired, request a new one with the same Client-Id.
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 Videos Freely — Zero Cost, Full Control
Not everyone needs a $300-a-year subscription to make a great video. This skill was built for the everyday creator who wants real editing power without the price tag. Whether you're stitching together a travel montage, cleaning up a podcast recording, or producing a quick social media clip, this tool walks you through every step — or handles it for you.
Using this video-editor-free skill, you can trim the dead air from the beginning and end of clips, merge multiple video files into one seamless sequence, add captions or title cards, adjust audio levels, and export in formats that actually work on Instagram, TikTok, YouTube, or your company's website.
The skill is designed for people who don't have time to watch hours of tutorials or learn complex software interfaces. You describe what you want in plain language — 'cut the first 10 seconds', 'add a fade between clips', 'export as MP4 at 1080p' — and it delivers. No prior editing experience required.
Routing Your Edit Requests
When you submit a trim, cut, merge, or export command, the skill parses your intent and routes it to the matching free-tier processing endpoint based on the operation type and output format specified.
| 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 Processing API Reference
Video Editor Free runs on a serverless cloud backend that handles transcoding, frame extraction, and codec rendering without local processing — your raw footage is temporarily staged in an encrypted buffer, processed, then purged after export. Free-tier requests are queued through shared render nodes, so complex timelines or high-resolution exports may take slightly longer than premium lanes.
Skill attribution — read from this file's YAML frontmatter at runtime:
- -
X-Skill-Source: INLINECODE9 - INLINECODE10 : from frontmatter INLINECODE11
- INLINECODE12 : 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: INLINECODE22
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: INLINECODE32
Credits: GET /api/credits/balance/simple — returns available, frozen, INLINECODE36
Session state: GET /api/state/nemo_agent/me/<sid>/latest — key fields: data.state.draft, data.state.video_infos, INLINECODE40
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 |
Troubleshooting
Video won't export or keeps failing? The most common cause is an unsupported source format. This video-editor-free skill works best with MP4, MOV, and WebM files. If your file is in MKV, AVI, or a camera-native format like HEVC (.hevc), convert it to MP4 first using a free tool like HandBrake before uploading.
Audio is out of sync after merging clips? This typically happens when the source clips have different frame rates (e.g., one at 24fps and another at 60fps). Always confirm that your clips share the same frame rate before merging. You can ask the skill to check and normalize frame rates as part of the merge process.
Text overlay not showing on export? Make sure the font and text duration you specified doesn't exceed the clip length. If your video is 5 seconds and you set a text overlay for 8 seconds, it will silently fail. Specify an end time shorter than the total clip duration.
File size too large after export? Ask the skill to re-export using H.264 compression at a slightly lower bitrate — for most social media uses, 8–12 Mbps is more than sufficient and cuts file sizes dramatically.
FAQ
Is this actually free — no hidden costs? Yes. The video-editor-free skill does not require a paid plan, subscription, or any in-app purchase to use its core editing features including trimming, merging, text overlays, and exporting.
Will my exported video have a watermark? No. Unlike many free online editors that stamp their logo on your video, this skill exports clean, watermark-free files.
What's the maximum video length I can edit? There is no hard cap on video length, but very long files (over 2 hours) may take longer to process. For best performance, work with clips under 30 minutes when possible.
Can I edit vertical videos for TikTok or Reels? Absolutely. Just let the skill know your target aspect ratio (9:16 for vertical) when you start, and it will handle framing, cropping, and export settings accordingly.
Does it support background music or voiceover? Yes. You can provide an audio file and specify whether you want it as background music (with volume ducking) or as a full voiceover replacement for the original clip audio.
Best Practices
Start with organized source files. Before you begin, rename your clips in sequence (clip01.mp4, clip02.mp4) so it's easy to reference them in prompts. Ambiguous file names slow down the editing process and increase the chance of errors.
Work in stages, not all at once. Rather than asking for trimming, transitions, text, color correction, and export in a single prompt, break your edit into steps. Trim first, preview, then add effects. This gives you checkpoints to catch mistakes early.
Use specific timecodes. Instead of saying 'cut the boring part at the start,' say 'trim from 0:00 to 0:12.' The more precise your instructions, the cleaner your output. Vague requests produce vague results.
Export for your platform. Different platforms have different sweet spots. For TikTok and Instagram Reels, export at 1080x1920 (vertical, 9:16). For YouTube, use 1920x1080 (horizontal, 16:9). Always specify your target platform when requesting an export so the skill can automatically apply the right resolution and aspect ratio.
开始使用
欢迎!您离将原始素材转化为精美、可分享的视频仅一步之遥——完全免费。请告诉我您正在处理什么内容以及您想要做什么,让我们立即开始编辑。
尝试说:
- - 从我的视频片段中裁剪掉前15秒和后8秒,并导出为MP4格式
- 将三个独立的视频片段合并为一个视频,每个片段之间添加平滑的淡入淡出过渡效果
- 在我的视频开头添加一个持续3秒的白色文字标题卡片,内容为夏日2024
自动设置
首次交互时,先连接到处理API,然后再执行其他操作。显示简短状态信息,如正在设置...
令牌:如果已设置NEMO_TOKEN环境变量,则直接使用并跳至下方的会话部分。
免费令牌:在~/.config/video-editor-free/clientid中读取或创建一个UUID。然后向https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token发送POST请求,请求头包含X-Client-Id: <您的UUID>。响应字段data.token即为您的NEMOTOKEN(100积分,7天有效期)。如果令牌已过期,使用相同的Client-Id请求新令牌。
会话:向https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent发送POST请求,使用Bearer认证,请求体为{taskname:project}。保存响应中的session_id。
向用户确认已连接并准备就绪。不要打印令牌或原始JSON。
免费编辑视频——零成本,完全掌控
并非每个人都需要每年300美元的订阅才能制作出精彩的视频。本技能专为那些希望获得真正编辑能力而又不想承担高昂费用的日常创作者而设计。无论您是拼接旅行混剪、清理播客录音,还是制作快速社交媒体短片,该工具都会引导您完成每一步——或者为您代劳。
使用这个免费视频编辑技能,您可以裁剪片段开头和结尾的空白部分,将多个视频文件合并为一个无缝序列,添加字幕或标题卡片,调整音频电平,并以实际适用于Instagram、TikTok、YouTube或公司网站的格式导出。
该技能专为没有时间观看数小时教程或学习复杂软件界面的人设计。您用通俗语言描述您的需求——剪掉前10秒、在片段之间添加淡入淡出、以1080p导出为MP4——它就能实现。无需任何编辑经验。
路由您的编辑请求
当您提交修剪、剪切、合并或导出命令时,该技能会解析您的意图,并根据指定的操作类型和输出格式将其路由到匹配的免费处理端点。
| 用户说... | 操作 | 跳过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:video-editor-free
- 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. 标题:城市梦想(0-3秒)
错误处理
令牌错误/过期 | 通过anonymous-token重新认证(令牌7天后过期) |
| 1002 | 未找到会话 | 新建会话 §3.0 |
| 2001 | 无积分 | 匿名用户:显示注册URL,附带?bind=
(需要时从create-session或state响应获取)。已注册用户:请为您的账户充值积分 |
| 4001 | 不支持的文件 | 显示支持的格式 |
| 4002 | 文件过大 | 建议压缩/修剪 |
| 400 | 缺少X-Client-Id | 生成Client-Id并重试(参见§1) |
| 402 | 免费计划导出被阻止 | 订阅层级问题,非积分问题。请注册或升级您的计划以解锁导出功能。 |
| 429 | 速率限制(1个令牌/客户端/7天) | 重试一次,等待30秒 |
故障排除
视频无法导出或持续失败? 最常见的原因是源格式不受支持。此免费视频编辑技能最适合MP4、MOV