@clawhub-vcarolxhberger-e0908e387d
Turn your concepts, scripts, and raw assets into polished, publish-ready videos using the best-ai-video-generation tools available today. This skill helps cr...
---
name: best-ai-video-generation
version: "1.0.0"
displayName: "Best AI Video Generation — Create Stunning Videos from Text, Images & Ideas"
description: >
Turn your concepts, scripts, and raw assets into polished, publish-ready videos using the best-ai-video-generation tools available today. This skill helps creators, marketers, and teams generate high-quality video content — from cinematic scenes to social clips — without a production crew. Features include text-to-video prompting, style selection, scene structuring, voiceover pairing, and platform-specific formatting. Built for anyone who needs video output fast, without sacrificing quality.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "greeting_v2"}}
---
## Getting Started
> Send me your script, concept, or images and I'll craft the best AI video generation prompt to bring it to life. No assets? Just describe your video idea and we'll start from scratch.
**Try saying:**
- "I have a 200-word product description for a skincare brand — help me turn it into a 30-second AI-generated video with a clean, modern aesthetic for Instagram Reels."
- "Generate a detailed text-to-video prompt for a cinematic nature documentary intro showing a misty forest at dawn with slow camera movement and ambient sound cues."
- "I want to create an AI explainer video for a SaaS onboarding flow — help me structure the scenes, choose a visual style, and write generation prompts for each segment."
### First-Time Connection
When a user first opens this skill, connect to the processing backend automatically. Briefly let them know (e.g. "Setting up...").
**Authentication**: Check if `NEMO_TOKEN` is set in the environment. If it is, skip to step 2.
1. **Obtain a free token**: Generate a random UUID as client identifier. POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with header `X-Client-Id` set to that UUID. The response `data.token` is your NEMO_TOKEN — 100 free credits, valid 7 days.
2. **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.
# Generate Professional Videos From Any Starting Point
Whether you have a fully written script, a rough idea, or just a handful of images, this skill transforms your input into compelling video content. Using the best AI video generation approaches available, it guides you through prompt crafting, scene sequencing, visual style selection, and output formatting — so your final video matches your vision and your platform.
This isn't a one-size-fits-all generator. The skill adapts to your specific use case — whether you're producing a product demo, a short-form social reel, an explainer video, a cinematic brand story, or a training module. You describe what you want, and the skill helps you build the most effective generation prompt or workflow to get there.
Creators who are new to AI video tools will find clear guidance on how to structure requests for maximum quality. Experienced users can go deeper — fine-tuning motion styles, aspect ratios, pacing cues, and narrative arcs. The goal is always the same: fewer iterations, better results, and video that actually gets used.
## Routing Your Video Prompts
Each request — whether text-to-video, image-to-video, or style transfer — is parsed and dispatched to the optimal generation model based on your input type, resolution target, and motion complexity.
| 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 | ❌ |
## Video Generation API Reference
All rendering jobs run on distributed GPU clusters in the cloud, handling diffusion sampling, temporal coherence, and frame interpolation server-side so your device never bottlenecks the output quality. Latency scales with clip duration, resolution, and the number of motion keyframes requested.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `best-ai-video-generation`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Performance Notes
AI video generation quality varies significantly based on how prompts are structured. Vague inputs like 'make a cool video' produce inconsistent, generic results — while specific prompts that define subject, motion, lighting, mood, camera angle, and duration consistently yield higher-quality outputs across all major generation platforms.
This skill is optimized to help you extract the best performance from tools like Runway, Sora, Kling, Pika, and Luma by building prompts with the right level of detail. Longer videos (over 10 seconds) benefit from scene-by-scene breakdowns rather than single monolithic prompts. For character consistency across scenes, the skill will flag when you need to use reference images or seed locking features.
Expect the best results when you provide clear context: the platform you're publishing to, the audience you're targeting, and any brand style guidelines. The more specific your input, the fewer generation attempts you'll need to reach a usable final output.
## Integration Guide
This skill works as a prompt engineering and creative direction layer that sits in front of any AI video generation platform you're already using. You don't need to switch tools — you use this skill to build better inputs for the generator of your choice.
For teams using Runway Gen-3 or Kling, the skill produces motion-aware prompts that respect each platform's syntax preferences, including camera motion descriptors and negative prompt fields. For text-to-video workflows in Pika or Luma Dream Machine, it structures prompts around their scene duration limits and style tokens.
If you're building a content pipeline — for example, generating weekly social videos from a content calendar — this skill can help you create a reusable prompt template system so your outputs stay visually consistent across batches. Bring your content brief, brand guidelines, or existing video examples and the skill will reverse-engineer a repeatable generation framework for your team.
Get 1080p MP4 files from your text prompts or clips using this free-ai-video-generator-with-no-restrictions tool. It runs AI video generation on cloud GPUs,...
---
name: free-ai-video-generator-with-no-restrictions
version: "1.0.1"
displayName: "Free AI Video Generator With No Restrictions — Generate and Export AI Videos Free"
description: >
Get 1080p MP4 files from your text prompts or clips using this free-ai-video-generator-with-no-restrictions tool. It runs AI video generation on cloud GPUs, so your machine does zero heavy lifting. content creators and marketers can generating videos from text or clips with no watermarks or usage limits in roughly 1-2 minutes — supports MP4, MOV, WebM, AVI.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "control"}}
---
## Getting Started
> Got a text prompts or clips for me? Send it over and I'll handle the AI video generation. Or just describe what you need.
**Try saying:**
- "generate a short text description like 'a sunset over a city skyline' into a 1080p MP4"
- "generate a 30-second video from my script with no watermark"
- "generating videos from text or clips with no watermarks or usage limits for content creators and marketers"
### 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.
# Generate Text Prompts Or Clips Into Unrestricted Ai Videos
So here's how this works. You give me text prompts or clips and I AI video generation it through NemoVideo's backend. No local software, no plugins, no GPU on your end.
Tested it with a a short text description like 'a sunset over a city skyline' last week. Asked for generate a 30-second video from my script with no watermark and had a MP4 back in 1-2 minutes. 1080p quality, decent file size.
shorter prompts with clear scene descriptions produce more accurate results faster. That's about it.
## Request Routing
Your request is matched to one of several actions depending on what you typed.
| 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 | ❌ |
## Backend Processing
The heavy lifting runs on NemoVideo's GPU cluster. You upload, the backend processes, you download. No local rendering needed.
Base URL: `https://mega-api-prod.nemovideo.ai`
| Endpoint | Method | Purpose |
|----------|--------|---------|
| `/api/tasks/me/with-session/nemo_agent` | POST | Start a new editing session. Body: `{"task_name":"project","language":"<lang>"}`. Returns `session_id`. |
| `/run_sse` | POST | Send a user message. Body includes `app_name`, `session_id`, `new_message`. Stream response with `Accept: text/event-stream`. Timeout: 15 min. |
| `/api/upload-video/nemo_agent/me/<sid>` | POST | Upload a file (multipart) or URL. |
| `/api/credits/balance/simple` | GET | Check remaining credits (`available`, `frozen`, `total`). |
| `/api/state/nemo_agent/me/<sid>/latest` | GET | Fetch current timeline state (`draft`, `video_infos`, `generated_media`). |
| `/api/render/proxy/lambda` | POST | Start export. Body: `{"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}`. Poll status every 30s. |
Accepted file types: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
Headers are derived from this file's YAML frontmatter. `X-Skill-Source` is `free-ai-video-generator-with-no-restrictions`, `X-Skill-Version` comes from the `version` field, and `X-Skill-Platform` is detected from the install path (`~/.clawhub/` = `clawhub`, `~/.cursor/skills/` = `cursor`, otherwise `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.
### Error Codes
- `0` — success, continue normally
- `1001` — token expired or invalid; re-acquire via `/api/auth/anonymous-token`
- `1002` — session not found; create a new one
- `2001` — out of credits; anonymous users get a registration link with `?bind=<id>`, registered users top up
- `4001` — unsupported file type; show accepted formats
- `4002` — file too large; suggest compressing or trimming
- `400` — missing `X-Client-Id`; generate one and retry
- `402` — free plan export blocked; not a credit issue, subscription tier
- `429` — rate limited; wait 30s and retry once
### Reading the SSE Stream
Text events go straight to the user (after GUI translation). Tool calls stay internal. Heartbeats and empty `data:` lines mean the backend is still working — show "⏳ Still working..." every 2 minutes.
About 30% of edit operations close the stream without any text. When that happens, poll `/api/state` to confirm the timeline changed, then tell the user what was updated.
### 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 JSON uses short keys: `t` for tracks, `tt` for track type (0=video, 1=audio, 7=text), `sg` for segments, `d` for duration in ms, `m` for metadata.
Example timeline summary:
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
## Common Workflows
**Quick edit**: Upload → "generate a 30-second video from my script with no watermark" → Download MP4. Takes 1-2 minutes for a 30-second clip.
**Batch style**: Upload multiple files in one session. Process them one by one with different instructions. Each gets its own render.
**Iterative**: Start with a rough cut, preview the result, then refine. The session keeps your timeline state so you can keep tweaking.
## Quick Start Guide
1. Send your text prompts or clips (drag and drop works)
2. Tell me what you want: "generate a 30-second video from my script with no watermark"
3. Wait 1-2 minutes for processing
4. Download your MP4 file
That's it. No account needed for your first 100 credits. Supports MP4, MOV, WebM, AVI.
Drop a script, a handful of images, or even just a rough idea, and watch it transform into a shareable video — no editing software, no subscription wall, no...
---
name: ai-video-creator-free
version: "1.0.0"
displayName: "AI Video Creator Free — Turn Text, Images & Ideas Into Polished Videos"
description: >
Drop a script, a handful of images, or even just a rough idea, and watch it transform into a shareable video — no editing software, no subscription wall, no steep learning curve. This ai-video-creator-free skill handles the heavy lifting: sequencing visuals, matching pacing, generating captions, and structuring your content into a cohesive clip. Built for creators, educators, small business owners, and social media managers who need quality video output without the cost or complexity of traditional tools.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "greeting_v2"}}
---
## Getting Started
> Send me your topic, script, or a few bullet points and I'll turn it into a complete video outline with scenes, captions, and pacing. No content yet? Just describe the video you have in mind and I'll start from there.
**Try saying:**
- "Create a 30-second product promo video script for my handmade candle shop, targeting Instagram Reels with upbeat pacing and on-screen text callouts"
- "I have 8 photos from our company event — build me a video storyboard with scene order, caption suggestions, and a recommended background music mood"
- "Write a scene-by-scene breakdown for a 2-minute YouTube explainer video about how to start composting at home, aimed at beginners"
### Getting Connected
Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".
**If `NEMO_TOKEN` is in the environment**, use it directly and create a session. Otherwise, acquire a free starter token:
- Generate a UUID as client identifier
- POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with the `X-Client-Id` header
- The response includes a `token` with 100 free credits valid for 7 days — use it as NEMO_TOKEN
**Then create a session** by POSTing to `https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent` with Bearer authorization and body `{"task_name":"project","language":"en"}`. The `session_id` in the response is needed for all following requests.
Tell the user you're ready. Keep the technical details out of the chat.
# From Raw Idea to Ready-to-Share Video, Instantly
Most people have content worth sharing — a product story, a tutorial, a quick announcement — but hit a wall when it comes to actually making the video. Editing timelines, sourcing music, syncing visuals, writing captions: it stacks up fast. This skill cuts through all of that.
With the AI Video Creator Free skill, you describe what you want or hand over your raw materials — text, bullet points, image descriptions, a script — and it builds the structure, narrative flow, and visual plan for your video. Whether you're making a 15-second Instagram reel concept or a 3-minute explainer, the output is practical, formatted, and ready to produce or hand off to a simple video tool.
This is especially useful for solo creators and small teams who can't justify expensive software or agency rates. You get the creative direction, scene-by-scene breakdowns, suggested visuals, on-screen text, and pacing guidance — all free, all fast, all tailored to your specific message and audience.
## Routing Your Video Requests
When you submit a prompt, image, or script, AI Video Creator Free parses your input and routes it to the appropriate generation pipeline — text-to-video, image-to-video, or idea expansion — based on the detected content type and chosen output style.
| 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
AI Video Creator Free offloads all rendering to a distributed cloud backend, where your assets are queued, processed through diffusion-based video synthesis models, and returned as a downloadable MP4 or shareable link. Render times vary by resolution, clip length, and current queue load — lightweight 720p clips typically complete in under two minutes.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `ai-video-creator-free`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Tips and Tricks for Getting the Best Results
The more context you give, the sharper the output. Instead of saying 'make a video about my bakery,' try: 'make a 45-second TikTok video for my sourdough bakery, targeting local customers, with a warm and rustic tone.' Platform, length, tone, and audience all shape how scenes are structured and how captions are written.
If you already have a rough script or bullet points, paste them in — the skill will reformat and enhance them rather than starting from scratch, which saves time and keeps your voice intact.
For image-based videos, describe each photo or asset briefly (e.g., 'photo of a latte on a wooden table, morning light'). This helps generate accurate scene descriptions and transition suggestions even without uploading files directly.
Finally, ask for variations. If the first video outline feels too formal or too fast-paced, just say so. You can request a shorter cut, a different hook, or a version optimized for silent autoplay — the skill adapts quickly.
## Performance Notes — What to Expect
This skill is optimized for planning, scripting, and structuring video content — it outputs scene-by-scene breakdowns, on-screen text suggestions, voiceover scripts, caption copy, and pacing notes. It does not render or export actual video files, but its output is designed to work seamlessly with free tools like CapCut, Canva Video, or DaVinci Resolve.
Response quality is strongest for videos under 5 minutes. For longer formats like full tutorials or documentary-style content, break the request into segments (intro, body, outro) for cleaner, more focused output.
The skill handles a wide range of formats: vertical (9:16 for Reels/TikTok), square (1:1 for feeds), and horizontal (16:9 for YouTube). Specifying your format upfront ensures the scene structure and text placement suggestions match the actual screen dimensions you're working with.
Expect turnaround in seconds. Each output is a complete creative brief you can act on immediately.
Tell me what kind of videos you make and I'll match you with the best-ai-tools-for-video-editing-free options available right now. Whether you're a content c...
---
name: best-ai-tools-for-video-editing-free
version: "1.0.0"
displayName: "Best AI Tools for Video Editing Free — Find & Compare Top Free AI Video Editors"
description: >
Tell me what kind of videos you make and I'll match you with the best-ai-tools-for-video-editing-free options available right now. Whether you're a content creator, student, marketer, or hobbyist, this skill cuts through the noise to surface free AI video editors that actually deliver — from auto-captioning and scene detection to background removal and smart trimming. No paywalls, no fluff, just honest tool recommendations tailored to your workflow.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "control"}}
---
## Getting Started
> Welcome! If you're hunting for the best free AI tools for video editing, you're in the right place — tell me about your project, platform, or editing challenge and I'll point you to the right tools instantly.
**Try saying:**
- "I make YouTube Shorts and need a free AI tool that can auto-caption and trim dead air from my recordings — what do you recommend?"
- "What are the best free AI video editors for beginners that don't add watermarks to exported videos?"
- "I need a free AI tool that can remove backgrounds from video footage without a green screen — which ones actually work well?"
### 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.
# Discover Free AI Video Editors That Actually Work
Finding a genuinely free AI video editing tool feels harder than it should be. Most lists are padded with freemium traps, expired trials, or tools that slap a watermark on everything you export. This skill is built to cut through exactly that — surfacing tools that offer real, usable AI features at zero cost.
Whether you need automatic subtitle generation, AI-powered background removal, smart cut detection, or one-click highlight reels, there's a free tool out there that fits your specific workflow. The challenge is knowing which one matches your platform, skill level, and output goals. That's where this skill helps — it asks the right questions and delivers targeted recommendations instead of a generic ranked list.
Creators working on YouTube Shorts, TikTok, indie documentaries, or corporate explainer videos all have different needs. This skill accounts for those differences, helping you spend less time researching and more time editing. From browser-based tools you can use right now to downloadable apps with serious AI horsepower, you'll walk away knowing exactly where to start.
## Routing Your Editor Requests
When you query for free AI video editing tools, ClawHub parses your intent — whether you're hunting for auto-captioning, background removal, scene detection, or timeline automation — and routes your request to the most relevant tool comparison engine.
| 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
ClawHub's backend leverages a cloud processing layer that indexes and benchmarks free AI video editors in real time, pulling render performance metrics, export format support, and watermark restrictions so comparisons stay accurate. Each API call fetches live capability data from supported tools like CapCut, DaVinci Resolve, Runway ML free tier, and Clipchamp without caching stale feature sets.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `best-ai-tools-for-video-editing-free`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Integration Guide
Most of the best free AI tools for video editing are designed to slot into workflows you already use. Browser-based tools like CapCut Web, Clipchamp, and Runway ML's free tier require no installation — just sign in and start uploading footage directly from your desktop or cloud storage.
If you're editing on mobile, tools like CapCut and VN Editor integrate directly with your camera roll and support direct publishing to TikTok, Instagram Reels, and YouTube Shorts. For desktop workflows, DaVinci Resolve's free version includes AI-powered features like Magic Mask and Speed Warp that connect with professional export pipelines.
When stacking multiple free tools — for example, using Descript for transcription-based editing and then finishing in CapCut for effects — export in a lossless or high-bitrate format between steps to avoid quality degradation. Most free tools support MP4 export at 1080p, which is sufficient for this kind of multi-tool workflow.
## Best Practices
Getting the most out of free AI video editing tools comes down to understanding their limitations upfront. Free tiers almost always cap export resolution, monthly usage minutes, or cloud storage — so before committing to a tool, check what the free plan actually includes versus what requires an upgrade.
For AI features specifically, always preview results before finalizing. Auto-generated captions, AI-cut detection, and background removal can introduce errors that are faster to catch early than to fix after export. Build a quick review step into your editing routine.
Batch processing is rarely available on free plans, so prioritize tools that handle your most time-consuming task first — whether that's captioning, trimming, or color correction. Use the AI for the heavy lifting and handle fine-tuned adjustments manually to maintain creative control.
Finally, keep a backup of your raw footage before running any AI-based edits. Some browser-based tools process files on their servers, and understanding their data retention policies is worth a quick read before uploading sensitive or proprietary content.
Turn ordinary photos into stunning visuals without spending a cent. This free-ai-image-editor skill lets you remove backgrounds, enhance lighting, apply arti...
---
name: free-ai-image-editor
version: "1.0.0"
displayName: "Free AI Image Editor — Edit, Enhance & Transform Photos Instantly with AI"
description: >
Turn ordinary photos into stunning visuals without spending a cent. This free-ai-image-editor skill lets you remove backgrounds, enhance lighting, apply artistic styles, retouch portraits, and generate creative edits using natural language commands. No design experience needed — just describe what you want and watch your image transform. Perfect for bloggers, small business owners, social media creators, and anyone who needs polished visuals fast.
metadata: {"openclaw": {"emoji": "🖼️", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "short_prompts"}}
---
## Getting Started
> Welcome to your free AI image editor — describe the edit you want or upload a photo and tell me what to change, and I'll handle the rest. Ready to transform your image? Let's get started!
**Try saying:**
- "Remove background from my photo"
- "Brighten and sharpen this image"
- "Add vintage film grain effect"
### First-Time Connection
When a user first opens this skill, connect to the processing backend automatically. Briefly let them know (e.g. "Setting up...").
**Authentication**: Check if `NEMO_TOKEN` is set in the environment. If it is, skip to step 2.
1. **Obtain a free token**: Generate a random UUID as client identifier. POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with header `X-Client-Id` set to that UUID. The response `data.token` is your NEMO_TOKEN — 100 free credits, valid 7 days.
2. **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.
# Edit Any Photo With Just Your Words
Imagine describing the edit you want — 'make the sky more dramatic,' 'remove that object in the background,' or 'give this a vintage film look' — and watching it happen in seconds. That's exactly what this free AI image editor skill is built for. No complicated software, no steep learning curves, and no subscription fees standing between you and a great-looking image.
This skill handles a wide range of photo editing tasks that used to require professional tools or hours of manual work. Whether you're cleaning up product photos for an online store, touching up a portrait for a profile picture, or experimenting with creative visual styles for social media, you can get results that look intentional and polished.
The approach here is conversational — you tell the editor what you're going for, and it figures out how to get there. You can iterate quickly, try different directions, and refine your image step by step without ever opening a separate app or learning a single keyboard shortcut.
## Routing Your Edit Requests
Each prompt you submit — whether you're removing backgrounds, upscaling resolution, or applying generative fills — gets parsed and routed to the matching AI pipeline based on the detected edit type and image context.
| 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
The free AI image editor runs on a distributed cloud backend that handles diffusion model inference, pixel-level masking, and non-destructive layer processing remotely — no GPU required on your end. Processed images are returned as high-fidelity exports, with session metadata cached temporarily to support iterative edits.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `free-ai-image-editor`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Tips and Tricks
Get the most out of this free AI image editor by being specific in your descriptions. Instead of saying 'make it look better,' try 'increase contrast, warm up the tones, and sharpen the subject.' The more detail you give, the closer the first result will be to what you're picturing.
For background removal, photos with clear contrast between the subject and background tend to produce cleaner edges. If you're editing a portrait, mention whether you want the background fully transparent, replaced with a color, or swapped for a different scene.
You can also stack edits — ask for a color grade first, then request a crop or text overlay in a follow-up. Treating it like a back-and-forth conversation rather than a one-shot request gives you much more control over the final result.
## Best Practices
Before editing, think about where the final image will be used. Social media thumbnails, product listings, and print materials each have different resolution and aspect ratio requirements — mentioning the destination in your prompt (e.g., 'format this for an Instagram square post') helps the editor make smarter decisions about cropping and sizing.
For brand consistency, describe your color palette or visual style upfront. Saying 'keep edits clean and minimal, using cool neutral tones' sets a direction that carries through multiple edits in a session.
Always keep a copy of your original image before making major changes. While this free AI image editor is designed to be non-destructive in its suggestions, having the source file gives you a clean starting point if you want to try a completely different creative direction.
## Performance Notes
This free AI image editor performs best with high-resolution source images. Low-quality or heavily compressed JPEGs may produce softer results, especially for tasks like sharpening, upscaling, or fine detail retouching. When possible, start with the highest quality version of your image.
Complex edits — like replacing a detailed background or making significant lighting changes — may take slightly longer to process than simple adjustments like cropping or color correction. If a result isn't quite right, a short follow-up instruction like 'make the shadows less harsh' is usually faster than starting over from scratch.
Images with multiple subjects or cluttered scenes may require more specific instructions to get precise results. Calling out exactly which element you want edited ('the person on the left,' 'the bottle in the foreground') helps the editor focus on the right area.
Drop a video and describe what you want — trim dead air, add captions, reframe for Reels, or punch up the pacing. This skill brings together ai-video-editing...
---
name: ai-video-editing-tools
version: "1.0.0"
displayName: "AI Video Editing Tools — Smart Cuts, Captions, and Creative Edits in Seconds"
description: >
Drop a video and describe what you want — trim dead air, add captions, reframe for Reels, or punch up the pacing. This skill brings together ai-video-editing-tools capabilities into one conversational workspace. Tell it to cut silences, suggest B-roll placements, write on-screen text, or restructure a talking-head clip into a highlight reel. Built for creators, marketers, and social teams who want faster edits without learning complex software.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "control"}}
---
## Getting Started
> Welcome to your AI video editing workspace — whether you're trimming a raw interview, building a highlight reel, or repurposing long content into social clips, I've got you covered. Drop your footage details or describe your project and let's start editing.
**Try saying:**
- "I have a 45-minute webinar recording. Help me identify the 5 best clips under 60 seconds each for LinkedIn and write captions for each one."
- "Here's a transcript from my talking-head YouTube video — rewrite the first 10 seconds to be a stronger hook and suggest where I should cut to keep viewers watching past 30 seconds."
- "I need to repurpose a horizontal brand video into a vertical format for Instagram Reels. Tell me what to reframe, where to add text overlays, and how to restructure the pacing."
### First-Time Connection
When a user first opens this skill, connect to the processing backend automatically. Briefly let them know (e.g. "Setting up...").
**Authentication**: Check if `NEMO_TOKEN` is set in the environment. If it is, skip to step 2.
1. **Obtain a free token**: Generate a random UUID as client identifier. POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with header `X-Client-Id` set to that UUID. The response `data.token` is your NEMO_TOKEN — 100 free credits, valid 7 days.
2. **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.
# Edit Smarter: Let AI Handle the Heavy Cuts
Most video editing eats hours you don't have — scrubbing timelines, hunting for the right frame, rewriting captions three times. This skill changes that by letting you describe what you want in plain language and getting back actionable edits, structured timecodes, caption drafts, and scene-by-scene suggestions you can actually use.
Whether you're cleaning up a podcast recording, repurposing a webinar into short-form clips, or building a product demo from raw footage, the skill adapts to your format and goal. Describe your audience, your platform, and your vision — and it maps out an editing plan that fits.
It's not just about cutting — it's about shaping a story. You can ask for pacing feedback, hook rewrites for the first five seconds, lower-third text ideas, or a full edit brief your video editor can execute immediately. Think of it as a creative collaborator that knows the language of video.
## Routing Edits to the Right Engine
Each request — whether you're triggering auto-captions, smart cuts, or style transfers — is parsed by intent and routed to the matching processing pipeline based on task type, media length, and output format.
| 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 API Reference Guide
All render jobs run on a distributed cloud backend that handles frame extraction, model inference, and re-encoding in parallel — so heavy tasks like scene detection or generative B-roll don't block your timeline. Transcription, caption styling, and cut-point analysis each hit dedicated microservices tuned for low-latency media workflows.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `ai-video-editing-tools`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Best Practices
**Be specific about your platform first.** A TikTok edit and a LinkedIn edit from the same footage need completely different pacing, hook styles, and text placement. Mention your target platform upfront so every suggestion is calibrated correctly.
**Share context, not just footage.** The more you describe — who's speaking, what the video is promoting, who the audience is — the sharper the edit recommendations. Vague inputs get generic outputs; specific inputs get a real editing roadmap.
**Use transcripts whenever possible.** If you can paste a transcript or even rough notes, the skill can work with exact language to find the strongest moments, rewrite weak hooks, and build captions that match your tone — rather than guessing from a description alone.
**Iterate in rounds.** Start with structure (what to cut and keep), then refine captions, then polish on-screen text. Trying to solve everything in one prompt often produces unfocused results. Treat it like a real edit session — pass by pass.
## Common Workflows
**Podcast-to-Clips Pipeline:** Paste your episode transcript and ask for the top 3-5 quotable moments with suggested cut points, hook rewrites, and caption text. You'll get a ready-to-execute brief without scrubbing the timeline manually.
**Talking-Head Cleanup:** Describe your raw footage — length, topic, any filler or dead air — and the skill will suggest a tighter structure, flag where energy drops, and recommend B-roll prompts to cover jump cuts naturally.
**Platform Reformatting:** Tell the skill your original format (16:9 YouTube) and your target platform (9:16 TikTok or 1:1 Instagram). It will outline what to reframe, where to add text overlays to replace lost visual space, and how to adjust pacing for the new audience's scroll behavior.
**Batch Social Content:** Share one long video and a target post count. The skill maps out non-overlapping segments, writes unique captions for each, and suggests platform-specific tweaks so each clip feels native — not recycled.
Turn your photos, clips, and ideas into polished videos without downloading a single app. This video-maker-online-free skill helps creators, small businesses...
---
name: video-maker-online-free
version: "1.0.0"
displayName: "Video Maker Online Free — Create Stunning Videos Without Software or Cost"
description: >
Turn your photos, clips, and ideas into polished videos without downloading a single app. This video-maker-online-free skill helps creators, small businesses, and social media managers build engaging content fast — from slideshow-style reels to branded promo videos. Trim clips, add text overlays, sync music, and export in multiple formats. No editing experience needed.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "control"}}
---
## Getting Started
> Welcome to your free online video creation assistant — let's turn your footage, photos, or ideas into something share-worthy today. Tell me what kind of video you're making and I'll walk you through every step.
**Try saying:**
- "I have 15 product photos and want to make a 30-second promotional video for Instagram with background music and my logo — how do I do this free online?"
- "Can you help me create a slideshow video from family vacation photos with captions and a fade transition between each image using a free online tool?"
- "I recorded a 10-minute tutorial on my phone and need to trim it down to 2 minutes, add subtitles, and export it for YouTube — what free online video maker should I use and how?"
### Quick Start Setup
This skill connects to a cloud processing backend. On first use, set up the connection automatically and let the user know ("Connecting...").
**Token check**: Look for `NEMO_TOKEN` in the environment. If found, skip to session creation. Otherwise:
- Generate a UUID as client identifier
- POST `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with `X-Client-Id` header
- Extract `data.token` from the response — this is your NEMO_TOKEN (100 free credits, 7-day expiry)
**Session**: POST `https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent` with Bearer auth and body `{"task_name":"project"}`. Keep the returned `session_id` for all operations.
Let the user know with a brief "Ready!" when setup is complete. Don't expose tokens or raw API output.
# Make Pro-Quality Videos Right From Your Browser
Creating a compelling video used to mean expensive software, a steep learning curve, and hours of frustration. This skill flips that entirely. Whether you're putting together a birthday montage, a product showcase for your Etsy shop, or a quick social post for Instagram, you can go from raw assets to a finished video without touching your desktop editor.
The video-maker-online-free approach here is built around speed and simplicity. You describe what you want — the sequence, the mood, the text, the pacing — and get actionable guidance, ready-to-use templates, and step-by-step instructions tailored to free online tools that actually deliver results.
This skill is especially useful for content creators who need volume without a production budget, marketers running lean, teachers building lesson recaps, and anyone who's stared at a blank timeline and given up. You don't need to know what a keyframe is. Just tell us what you're making.
## Routing Your Video Creation Requests
When you submit a video project — whether trimming clips, adding text overlays, or exporting in HD — your request is parsed and routed to the appropriate cloud rendering pipeline 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 Rendering API Reference
All video processing runs on distributed cloud servers, meaning your browser never handles the heavy encoding work — timelines, transitions, and audio sync are compiled server-side and streamed back as a preview or final export link. Supported formats include MP4, WebM, and GIF, with resolution options up to 1080p depending on your plan tier.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `video-maker-online-free`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Common Workflows
Different video types call for different approaches. For a product showcase, start with a hook clip or bold text card in the first 3 seconds, then cycle through product images or demo footage with short descriptive captions. End with a clear call-to-action frame like 'Shop Now' or 'Link in Bio.'
For event recap videos — weddings, birthdays, corporate events — arrange clips chronologically, use a consistent transition style (simple cuts or soft fades work best), and sync major moments to the beat of your chosen track. Most free online video makers have an auto-beat-sync feature worth using.
For educational or tutorial content, record your screen or talking-head footage first, then bring it into the online editor to add chapter title cards, highlight boxes, and closed captions. Captions dramatically increase watch time and are essential for accessibility. Many free tools now auto-generate captions — always review them for accuracy before exporting.
## Troubleshooting
If your video export is taking forever or failing, the most common cause is file size. Free online video makers often cap uploads at 500MB or 2GB. Compress large video files using a free tool like HandBrake before uploading, or trim unused footage before exporting.
If your exported video looks blurry, check two things: the export resolution setting (make sure it's set to 1080p, not 480p) and the platform you're uploading to — some platforms re-compress video on upload, which can reduce quality. Exporting at the highest available bitrate helps preserve sharpness after re-compression.
Audio sync issues — where your music or voiceover drifts out of time — usually happen when you mix clips with different frame rates. Stick to one frame rate (24fps or 30fps) across all your source footage. If the problem persists, detach the audio track, delete it, and re-add it manually from the start of the timeline.
## Quick Start Guide
Getting started with a free online video maker is faster than most people expect. First, gather your assets — video clips, images, audio files, or a script. Most free online tools like Canva Video, CapCut Web, or Clipchamp accept common formats like MP4, JPG, PNG, and MP3.
Once you're in the editor, start by selecting an aspect ratio that matches your destination: 16:9 for YouTube, 9:16 for TikTok or Reels, or 1:1 for feed posts. Drag your media onto the timeline in the order you want them to appear.
Add text overlays by clicking the text tool — use short, punchy lines that appear for 2-3 seconds each. Layer in background music from the tool's free library or upload your own. When you're done, hit export and choose the highest resolution the free plan allows, typically 1080p. The whole process for a 60-second video can take under 20 minutes once you know the steps.
Turn raw clips into polished, share-ready videos without downloading a single app. This online-video-editor-free skill helps creators, marketers, and educato...
---
name: online-video-editor-free
version: "1.0.0"
displayName: "Online Video Editor Free — Edit, Trim & Export Videos Without Software"
description: >
Turn raw clips into polished, share-ready videos without downloading a single app. This online-video-editor-free skill helps creators, marketers, and educators cut footage, add text overlays, apply transitions, and export in multiple formats — all from a browser. Whether you're building social reels, tutorial videos, or product demos, you get fast, guided editing assistance with zero cost barriers.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "short_prompts"}}
---
## Getting Started
> Welcome to your free online video editing assistant — I'll help you cut, enhance, and export your videos without any software downloads. Tell me about your footage or the type of video you want to create, and let's get started!
**Try saying:**
- "Trim my video to 60 seconds"
- "Add captions to this clip"
- "Export video for Instagram Reels"
### Quick Start Setup
This skill connects to a cloud processing backend. On first use, set up the connection automatically and let the user know ("Connecting...").
**Token check**: Look for `NEMO_TOKEN` in the environment. If found, skip to session creation. Otherwise:
- Generate a UUID as client identifier
- POST `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with `X-Client-Id` header
- Extract `data.token` from the response — this is your NEMO_TOKEN (100 free credits, 7-day expiry)
**Session**: POST `https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent` with Bearer auth and body `{"task_name":"project"}`. Keep the returned `session_id` for all operations.
Let the user know with a brief "Ready!" when setup is complete. Don't expose tokens or raw API output.
# Edit Any Video Free, Right From Your Browser
Not everyone has access to expensive desktop software like Premiere Pro or Final Cut — and they shouldn't need it. This skill is built around the idea that great video editing should be accessible to anyone with a browser and a story to tell. Whether you're a small business owner putting together a product walkthrough, a student editing a class project, or a content creator prepping short-form clips for TikTok or YouTube, this tool meets you where you are.
Using this online video editor free skill, you can get step-by-step guidance on trimming footage, layering text and captions, applying color corrections, adding background music, and structuring your timeline for maximum impact. You don't need to learn a complicated interface from scratch — just describe what you want your video to do, and you'll get clear, actionable instructions or direct editing support.
The focus here is practical output: videos that look intentional, not accidental. From aspect ratio adjustments for different platforms to export settings that won't bloat your file size, this skill covers the full editing workflow without the paywall.
## Routing Edits to the Right Tool
When you describe a video task — trimming a clip, merging footage, adding captions, or exporting to MP4 — ClawHub parses your intent and routes it directly to the matching free online editor function without requiring any software download.
| 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
All video processing runs on a browser-based cloud rendering backend, meaning your trim points, cut sequences, and export settings are handled server-side — no local encoder needed. Supported formats include MP4, MOV, WebM, and GIF, with resolution options up to 1080p depending on your session tier.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `online-video-editor-free`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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
This online-video-editor-free skill is designed to support a wide range of real-world editing scenarios without requiring a budget or technical background.
**Content Creators & Influencers:** Quickly cut raw footage into platform-optimized clips for YouTube Shorts, TikTok, or Instagram Reels. Add text hooks, transitions, and royalty-free music without paying for a subscription tool.
**Small Business Owners:** Create product demos, promotional videos, or customer testimonial edits using free browser tools. Export in the right resolution and aspect ratio for your website or social media ads.
**Educators & Trainers:** Trim lecture recordings, add on-screen annotations, and export compressed video files suitable for LMS platforms or email delivery — all from a free online editor.
**Freelancers & Agencies on a Budget:** Prototype video concepts for clients or deliver quick-turnaround edits without licensing professional software. This skill helps you identify the right free tool for each specific editing task and use it efficiently.
## Integration Guide
Getting started with a free online video editor through this skill requires no technical setup — but a few practical steps will make your workflow much smoother.
**Step 1 — Choose Your Platform:** Based on your editing needs (trimming, subtitles, multi-track audio, etc.), this skill will recommend the best free browser-based editor such as CapCut Online, Clipchamp, or DaVinci Resolve Free. Each has different strengths, and the recommendation will match your specific task.
**Step 2 — Upload Your Footage:** Most free online editors accept MP4, MOV, and AVI files. Keep your source file under 2GB for smooth browser performance. This skill can advise on compressing large files before upload if needed.
**Step 3 — Follow the Editing Workflow:** Describe your desired output — length, format, captions, music, transitions — and receive a step-by-step editing plan tailored to whichever free tool you're using.
**Step 4 — Export & Distribute:** Get guidance on export settings (resolution, bitrate, file format) optimized for your target platform, whether that's YouTube, a website embed, or a direct file share.
Tired of paying monthly fees just to crop, retouch, or enhance a photo? ai-image-editor-free gives you powerful AI-driven image editing without a price tag....
---
name: ai-image-editor-free
version: "1.0.0"
displayName: "AI Image Editor Free — Edit, Enhance & Transform Photos Instantly Without Cost"
description: >
Tired of paying monthly fees just to crop, retouch, or enhance a photo? ai-image-editor-free gives you powerful AI-driven image editing without a price tag. Remove backgrounds, fix lighting, upscale resolution, apply artistic filters, and retouch portraits — all through simple text instructions. Built for creators, bloggers, small business owners, and anyone who needs polished visuals fast. No design degree required.
metadata: {"openclaw": {"emoji": "🖼️", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN", "variant": "short_prompts"}}
---
## Getting Started
> Welcome to AI Image Editor Free — your no-cost solution for retouching, enhancing, and transforming images using plain language. Upload a photo or describe your edit and let's get started right now!
**Try saying:**
- "Remove background from product photo"
- "Upscale and sharpen this blurry image"
- "Add warm sunset filter to photo"
### 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 Image With Words, Not Menus
Most image editors bury their best features behind paywalls, confusing interfaces, or subscription tiers you never fully use. AI Image Editor Free flips that model — you describe what you want done to your photo, and the AI handles the technical work. Whether you're fixing an overexposed vacation shot, removing an unwanted object from a product photo, or turning a selfie into a stylized illustration, this skill understands natural language and delivers results.
You don't need to know what a curves adjustment is or how to use a clone stamp tool. Just say 'make the background white' or 'sharpen the subject and blur the background' and watch it happen. This skill is designed for speed and accessibility — the kind of tool you reach for when you need something done in two minutes, not two hours.
Content creators, ecommerce sellers, social media managers, and everyday users will find this skill particularly useful. It handles everything from quick fixes to creative transformations, making professional-quality image editing genuinely free and genuinely easy.
## Routing Your Edit Requests
Each prompt you submit — whether it's background removal, style transfer, upscaling, or generative fill — is parsed and dispatched to the matching AI pipeline based on detected intent and image context.
| 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
AI Image Editor Free routes all pixel-level transformations through a distributed cloud inference backend, meaning no heavy GPU work runs on your device. Requests hit the processing nodes with your image payload, operation type, and parameter set, then return an optimized output URL once rendering completes.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `ai-image-editor-free`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Performance Notes
AI Image Editor Free performs best on images that are at least 500px on the shortest side. Very small thumbnails or heavily compressed JPEGs may show artifacts after editing — if this happens, ask for a noise reduction pass after the main edit.
Complex edits involving multiple subjects or intricate backgrounds (like removing a person from a crowded street scene) may require a follow-up prompt to refine specific areas. Think of it as a conversation — your first prompt sets the direction, and follow-up prompts dial in the details.
For batch-style needs, describe a consistent edit style once and apply the same instructions across multiple images in sequence. While each image is processed individually, keeping your prompt language consistent ensures a uniform look across a set of photos.
## Common Workflows
**Ecommerce Product Photos:** Upload a product image, remove the background, replace it with white or a brand color, then add a subtle drop shadow. This three-step workflow is one of the most common uses and takes under a minute.
**Social Media Content:** Take a raw photo, apply a consistent color grade or filter style, resize it to the correct platform dimensions (square for Instagram, vertical for Stories), and sharpen for screen display. Describe the vibe — 'moody and dark' or 'bright and airy' — and the AI matches the tone.
**Portrait Retouching:** For headshots or profile photos, ask for skin smoothing, eye brightening, and background softening in a single prompt. The AI applies these adjustments without making the result look over-processed, keeping it natural.
**Restoration Work:** Old or damaged photos can be described as 'faded and scratched' and the skill will attempt to restore contrast, reduce noise, and reconstruct detail where possible.
## Tips and Tricks
To get the sharpest results from AI Image Editor Free, be specific in your instructions. Instead of saying 'fix this photo,' try 'increase contrast, reduce shadows in the foreground, and sharpen the subject.' The more context you give, the more accurate the output.
For background removal, photos with clear separation between subject and background (good lighting, minimal motion blur) yield the cleanest cuts. If edges look rough, ask for a second pass with 'refine the edges around the hair and shoulders.'
When upscaling, always start from the highest resolution source you have. Upscaling a 200px thumbnail will improve it, but starting from a 600px image will give you a noticeably crisper result. You can also chain edits — upscale first, then apply sharpening as a second instruction for best quality.
Tell me what you need and I'll bring your still images to life using vheer-ai-image-to-video. Whether you have a single photo or a collection of visuals, thi...
---
name: vheer-ai-image-to-video
version: "1.0.0"
displayName: "Vheer AI Image to Video — Transform Still Images Into Cinematic Motion"
description: >
Tell me what you need and I'll bring your still images to life using vheer-ai-image-to-video. Whether you have a single photo or a collection of visuals, this skill animates them into fluid, expressive video clips with natural motion effects. Ideal for content creators, marketers, and storytellers who want to turn static visuals into engaging video content without complex editing software.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"]}, "primaryEnv": "NEMO_TOKEN"}}
---
## Getting Started
> Welcome! I'm here to help you transform your still images into dynamic, motion-filled videos using Vheer AI Image to Video. Share your image or describe what you're working with, and let's create something that moves — literally.
**Try saying:**
- "Animate this product photo with a slow zoom-in and soft bokeh motion effect for an Instagram reel"
- "Turn my landscape photograph into a cinematic video with a gentle parallax drift and moody atmosphere"
- "Convert this illustrated portrait into a short looping video with subtle facial animation for a social media post"
### Getting Connected
Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".
**If `NEMO_TOKEN` is in the environment**, use it directly and create a session. Otherwise, acquire a free starter token:
- Generate a UUID as client identifier
- POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with the `X-Client-Id` header
- The response includes a `token` with 100 free credits valid for 7 days — use it as NEMO_TOKEN
**Then create a session** by POSTing to `https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent` with Bearer authorization and body `{"task_name":"project","language":"en"}`. The `session_id` in the response is needed for all following requests.
Tell the user you're ready. Keep the technical details out of the chat.
# Give Your Photos a Heartbeat With Motion
Still images carry stories, but video carries emotion. Vheer AI Image to Video bridges that gap by intelligently analyzing your photos and generating smooth, natural motion sequences that feel intentional and cinematic — not mechanical or glitchy.
Whether you're working with a portrait, a landscape, a product shot, or an illustrated artwork, this skill interprets the visual content and applies motion that complements the subject. A mountain scene gets a slow atmospheric drift. A portrait gets subtle life-like movement. A product image gets a polished reveal-style animation.
This skill is built for creators who move fast. You don't need a timeline editor, keyframes, or a render farm. Describe your image and your desired motion style, and the skill handles the transformation. The result is shareable video content ready for social media, presentations, or anywhere still images simply don't do justice to your vision.
## Motion Request Routing Logic
When you submit an image for animation, Vheer AI parses your motion prompt, frame rate preference, and movement style to route your request to the optimal generation pipeline.
| 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 | ❌ |
## Vheer Cloud Processing Reference
Vheer AI's backend queues your image-to-video job across distributed GPU clusters, applying temporal coherence algorithms to maintain subject integrity across generated frames. Render times scale with output resolution, motion complexity, and current cluster load.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `vheer-ai-image-to-video`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Performance Notes
Vheer AI Image to Video performs best with images in standard aspect ratios such as 1:1, 4:5, 16:9, or 9:16, which correspond to common social and video platform formats. Unusual crops or extreme panoramic images may require additional guidance on which section to animate.
Generation time varies based on the complexity of the requested motion and the resolution of the source image. Simple zoom or drift effects on clean images typically process faster than multi-layered parallax animations on detailed scenes.
Output videos are optimized for digital distribution and are well-suited for direct upload to platforms like Instagram, TikTok, LinkedIn, and YouTube Shorts. If you need a specific duration or frame rate, mention it upfront so the output matches your platform's requirements without post-processing adjustments.
## Best Practices
For the best results with vheer-ai-image-to-video, start with high-resolution images that have a clear subject and well-defined foreground and background layers. Images with strong compositional depth — like a subject in front of a landscape — tend to produce the most convincing parallax and motion effects.
Be specific when describing the motion style you want. Instead of saying 'make it move,' try 'apply a slow rightward pan with a slight zoom on the subject.' The more directional context you provide, the more the output aligns with your creative intent.
Avoid heavily compressed or low-light images, as artifacts in the source photo can become amplified during motion generation. If your image has a busy background with no clear focal point, consider cropping or adjusting contrast before submission to help the skill identify motion zones accurately.
## Use Cases
Vheer AI Image to Video is a versatile skill that serves a wide range of creative and professional needs. E-commerce brands use it to animate product photography into attention-grabbing video ads that outperform static image posts in engagement metrics.
Content creators and influencers use it to repurpose existing photo libraries into fresh video content, extending the lifespan of assets they've already invested in creating. A single well-shot photo can become multiple videos with different motion styles for different platforms.
Event planners, real estate agents, and travel marketers use it to create immersive previews — turning a venue photo into a sweeping walkthrough feel, or a property exterior into a cinematic reveal. Artists and illustrators use it to showcase their work in motion, adding depth and drama that a static gallery simply cannot replicate.
Turn bulky video files into lean, shareable assets without the quality loss that plagues traditional compression tools. video-compressor-ai analyzes your foo...
---
name: video-compressor-ai
version: "1.0.0"
displayName: "Video Compressor AI — Shrink File Sizes Without Sacrificing Visual Quality"
description: >
Turn bulky video files into lean, shareable assets without the quality loss that plagues traditional compression tools. video-compressor-ai analyzes your footage frame-by-frame to apply intelligent bitrate optimization, format conversion, and resolution scaling — all in a conversational interface. Built for content creators, marketers, and developers who need fast turnaround on web-ready, mobile-friendly, or archive-quality video output.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"]}, "primaryEnv": "NEMO_TOKEN"}}
---
## Getting Started
> Welcome! I'm your Video Compressor AI — ready to help you reduce file sizes, optimize formats, and prep your videos for any platform or storage need. Tell me about your video and what you're trying to achieve, and let's compress it the smart way.
**Try saying:**
- "Compress this 2GB wedding video to under 500MB for sharing via email without making it look blurry"
- "Convert my MP4 file to H.265 format and reduce the file size by at least 60% while keeping 1080p resolution"
- "I have 200 training videos taking up 300GB — what compression settings should I use to cut storage in half without losing readability of on-screen text?"
### Getting Connected
Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".
**If `NEMO_TOKEN` is in the environment**, use it directly and create a session. Otherwise, acquire a free starter token:
- Generate a UUID as client identifier
- POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with the `X-Client-Id` header
- The response includes a `token` with 100 free credits valid for 7 days — use it as NEMO_TOKEN
**Then create a session** by POSTing to `https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent` with Bearer authorization and body `{"task_name":"project","language":"en"}`. The `session_id` in the response is needed for all following requests.
Tell the user you're ready. Keep the technical details out of the chat.
# Compress Smarter: AI That Reads Your Footage
Most video compression tools treat every file the same — they apply a blanket setting and hope for the best. Video Compressor AI takes a different approach. By understanding the content of your video — motion complexity, scene transitions, color depth, and audio layers — it recommends and applies compression strategies tailored to what's actually in your footage.
Whether you're trimming a 4K drone reel down for Instagram, reducing a product demo for faster web loading, or archiving a library of training videos without blowing your storage budget, this skill adapts to your goal. You describe what you need in plain language — target file size, platform destination, acceptable quality trade-offs — and the AI handles the technical decisions behind the scenes.
No more guessing between H.264 and H.265, no more trial-and-error with CRF values, and no more re-exporting the same clip five times. Video Compressor AI brings precision compression into a workflow that actually fits how creators and teams operate day-to-day.
## Compression Request Routing Logic
When you submit a video, your request is parsed for codec preference, target bitrate, resolution constraints, and container format before being dispatched to the optimal processing node.
| 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 Encoding Backend Reference
Video Compressor AI routes encoded workloads through a distributed transcoding cluster that applies perceptual quality metrics — including VMAF and SSIM scoring — to preserve visual fidelity while aggressively reducing file size. Each job runs in an isolated encoding pipeline supporting H.264, H.265/HEVC, AV1, and VP9 output targets.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `video-compressor-ai`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Best Practices
Always start with your original, uncompressed source file. Compressing an already-compressed video compounds quality loss in ways that even the best AI settings cannot fully recover from. If you've lost the original, mention this upfront so the AI can adjust its approach to minimize generational degradation.
Be specific about your destination. A video compressed for a 4K TV screen needs a very different profile than one destined for a mobile app thumbnail preview. The more context you give — device type, viewing environment, bandwidth constraints — the more accurate the compression recommendation will be.
For long-form content like webinars or documentaries, consider asking the AI about scene-based compression, where static talking-head segments get higher compression rates than fast-action sequences. This hybrid approach can yield 30–50% better file size reduction compared to flat compression across the whole file.
Finally, always request a quality checkpoint before finalizing batch jobs. Ask the AI to flag which settings carry the highest risk of visible degradation so you can review those files manually before delivery.
## Quick Start Guide
Getting started with Video Compressor AI is straightforward — no encoding knowledge required. Begin by describing your video: its current format, resolution, duration, and file size if known. Then tell the AI your end goal — whether that's hitting a specific file size, meeting a platform's upload limit (like YouTube, TikTok, or LinkedIn), or simply reducing storage footprint.
The AI will ask clarifying questions if needed — for example, whether audio quality matters as much as video, or whether you need the output in a specific container format like MP4, MOV, or WebM. Once it has enough context, it will generate a recommended compression profile with clear reasoning behind each setting.
For batch compression needs, describe your folder structure or file naming convention and the AI will suggest a consistent compression strategy you can apply across all files. You can also request a comparison — asking the AI to outline what you'd gain and lose at different compression levels before committing to a final export setting.
## Use Cases
Video Compressor AI serves a wide range of real-world scenarios across industries and workflows. Social media managers use it to hit platform-specific file size caps — TikTok's 287MB limit or Instagram's 650MB ceiling — without re-shooting or over-cropping content. The AI knows the sweet spots for each platform and compresses accordingly.
E-learning developers rely on it to shrink course video libraries before uploading to LMS platforms like Teachable or Moodle, where storage costs scale with file size. By compressing lecture recordings intelligently, text and slides remain crisp while overall file size drops dramatically.
Filmmakers and video editors use it during client delivery — sending proxy-quality previews for approval before handing over full-resolution masters. And for businesses running video-heavy websites, the AI helps optimize autoplay background videos and product demos to reduce page load times without introducing compression artifacts that would undermine brand perception.
Turn raw, unpolished footage into share-ready videos without spending anything. This video-editor-free skill helps creators, students, and small business own...
---
name: video-editor-free
version: "1.0.0"
displayName: "Video Editor Free — Edit, Trim & Export Videos Without Paying a Cent"
description: >
Turn raw, unpolished footage into share-ready videos without spending anything. This video-editor-free skill helps creators, students, and small business owners cut clips, add text overlays, merge scenes, and export clean video files — all through simple conversational prompts. No subscriptions, no watermarks, no paywalls. Whether you're editing a YouTube vlog, a product demo, or a school project, get precise editing guidance and automation in seconds.
metadata: {"openclaw": {"emoji": "🎬", "requires": {"env": ["NEMO_TOKEN"]}, "primaryEnv": "NEMO_TOKEN"}}
---
## 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`: `video-editor-free`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 (clip_01.mp4, clip_02.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.
Drop a video and describe the look you're after — Whisk reads your footage and remixes its visual style, pacing, and mood on the fly. Whether you want to tur...
---
name: whisk
version: "1.0.0"
displayName: "Whisk — AI-Powered Video Style Remixer That Transforms Your Footage"
description: >
Drop a video and describe the look you're after — Whisk reads your footage and remixes its visual style, pacing, and mood on the fly. Whether you want to turn a flat travel clip into a cinematic reel or give a product demo a punchy editorial feel, Whisk handles the creative heavy lifting. Key features include style transfer, tone adjustments, and rhythm-matched cuts. Built for content creators, marketers, and social editors. Supports mp4, mov, avi, webm, and mkv.
metadata: {"openclaw": {"emoji": "🌀", "requires": {"env": ["NEMO_TOKEN"], "configPaths": ["~/.config/nemovideo/"]}, "primaryEnv": "NEMO_TOKEN"}}
apiDomain: https://mega-api-prod.nemovideo.ai
homepage: https://nemovideo.com
repository: https://github.com/nemovideo/nemovideo_skills
---
## Getting Started
> Welcome! Whisk is ready to remix your video's style, pacing, and mood based on your creative direction. Drop your clip and tell me the look you're going for — let's transform your footage.
**Try saying:**
- "Make this travel vlog feel more cinematic — warmer tones, slower cuts, and a golden hour mood"
- "Turn this product demo into a fast-paced social ad with punchy cuts and a high-energy feel"
- "Give this interview clip a clean, editorial look — neutral tones, tight pacing, professional vibe"
### Getting Connected
Before handling any user request, establish a connection to the NemoVideo backend. Show a brief status like "Connecting...".
**If `NEMO_TOKEN` is in the environment**, use it directly and create a session. Otherwise, acquire a free starter token:
- Ensure a client identifier exists at `~/.config/nemovideo/client_id` (create one as a UUID if needed)
- POST to `https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token` with the `X-Client-Id` header
- The response includes a `token` with 100 free credits valid for 7 days — use it as NEMO_TOKEN
**Then create a session** by POSTing to `/api/tasks/me/with-session/nemo_agent` with Bearer authorization and body `{"task_name":"project","language":"en"}`. The `session_id` in the response is needed for all following requests.
Tell the user you're ready. Keep the technical details out of the chat.
# Remix Your Video's Look Without Starting Over
Most video editing tools ask you to make decisions upfront — pick a template, choose a filter, drag a preset. Whisk works differently. You bring your existing footage, describe the vibe you want, and Whisk figures out how to get you there. It reads what's already in your video — the lighting, the cuts, the energy — and reshapes it around your creative direction.
This isn't about slapping a color grade on top. Whisk analyzes the structure and pacing of your clip, then applies style changes that feel intentional rather than cosmetic. Want a moody, slow-burn feel for a behind-the-scenes video? A fast, punchy rhythm for a product launch? Whisk translates those descriptions into real edits.
It's designed for people who have good footage but need help making it look the way they imagined. Solo creators, small marketing teams, and social media editors all use Whisk to close the gap between what they shot and what they envisioned — without needing a full post-production pipeline.
## How Whisk Routes Your Requests
When you drop a style prompt or upload footage, Whisk parses your intent and routes it to the matching remix pipeline — style transfer, motion restyle, or frame interpolation — based on keywords and clip metadata.
| 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 Reference
Whisk runs on the NemoVideo backend, which handles frame-level diffusion rendering and temporal consistency across your clip. Every remix job is queued as a NemoVideo task, so render times scale with clip length and style complexity.
Skill attribution — read from this file's YAML frontmatter at runtime:
- `X-Skill-Source`: `whisk`
- `X-Skill-Version`: from frontmatter `version`
- `X-Skill-Platform`: 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**: `https://mega-api-prod.nemovideo.ai`
**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: `https://nemovideo.com/workspace/claim?token=$TOKEN&task=<task_id>&session=<session_id>&skill_name=whisk&skill_version=1.0.0&skill_source=<platform>`
**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: `{"urls":["<url>"],"source_type":"url"}`
**Credits**: GET `/api/credits/balance/simple` — returns `available`, `frozen`, `total`
**Session state**: GET `/api/state/nemo_agent/me/<sid>/latest` — key fields: `data.state.draft`, `data.state.video_infos`, `data.state.generated_media`
**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.
```
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)
```
### 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 |
## Common Workflows
A typical Whisk session starts with uploading your clip — mp4, mov, avi, webm, or mkv all work — and describing the style outcome you want. Be as specific or as loose as you like: 'make it feel like a 90s music video' works just as well as 'cooler tones, tighter cuts, more contrast.'
From there, Whisk processes the footage and returns a remixed version. Many users iterate once or twice — asking for more warmth, a slightly faster pace, or a different energy in the opening seconds. The back-and-forth is fast, so refining toward the final look doesn't take long.
For teams, a common workflow is to run the same clip through Whisk with two or three different style prompts, then compare outputs before deciding which direction to develop further. This makes Whisk useful not just as a finishing tool but as a creative exploration step early in the editing process.
## Use Cases
Whisk fits naturally into a range of creative workflows. Travel and lifestyle creators use it to elevate raw footage shot on phones or entry-level cameras — describing a cinematic or documentary feel and letting Whisk reshape the edit accordingly. Marketing teams drop in product videos and ask for style variations to test across different platforms, getting a punchy Instagram cut and a slower, more polished LinkedIn version from the same source clip.
Event videographers use Whisk to quickly reframe highlight reels — shifting tone between emotional and energetic depending on the client. Educators and course creators use it to make talking-head footage feel more engaging without reshooting. Whisk is also popular among social media managers who need to repurpose a single video into multiple formats and moods without hiring an editor for each variation.