Video Compressor Handbrake

v1.0.0

Skip the learning curve of professional editing software. Describe what you want — compress this video to under 200MB without losing quality — and get compre...

0· 85·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for whitejohnk-26/video-compressor-handbrake.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Video Compressor Handbrake" (whitejohnk-26/video-compressor-handbrake) from ClawHub.
Skill page: https://clawhub.ai/whitejohnk-26/video-compressor-handbrake
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: NEMO_TOKEN
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install video-compressor-handbrake

ClawHub CLI

Package manager switcher

npx clawhub@latest install video-compressor-handbrake
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The skill claims to compress videos via a cloud backend and only requests NEMO_TOKEN, which matches that purpose. Minor inconsistency: the top-level registry data lists no required config paths, but the SKILL.md frontmatter declares a configPaths value (~/.config/nemovideo/). This is likely harmless but is a mismatch between declared registry metadata and the runtime instructions.
Instruction Scope
SKILL.md is focused on cloud operations (create session, upload, SSE, export). It instructs the agent to look for NEMO_TOKEN, or else obtain an anonymous token from mega-api-prod.nemovideo.ai, and to read the skill's YAML frontmatter and detect install path (e.g., ~/.clawhub/ or ~/.cursor/skills/) to set X-Skill-Platform. These filesystem checks are limited and understandable for attribution, but they do read agent runtime state. There are no instructions to read unrelated user files or unrelated credentials.
Install Mechanism
Instruction-only skill; no install spec, no downloaded code or binaries. This is the lowest-risk install model.
Credentials
Only NEMO_TOKEN is declared as required, which is appropriate for a cloud service. The skill also supports generating an anonymous token via the service's anonymous-token endpoint if NEMO_TOKEN is absent (100 free credits, 7-day expiry). The SKILL.md frontmatter references a config path (~/.config/nemovideo/), which was not present in the registry manifest — this may imply the agent will look for local config files if present. Overall env/credential access appears proportionate, but you should confirm how and whether tokens are stored/persisted by the agent.
Persistence & Privilege
always is false and there is no install-time persistence or system-wide configuration modification described. The skill will create sessions and use tokens for API calls; autonomous invocation is allowed by default (normal for skills) but is not combined with elevated privileges.
Assessment
This skill sends uploaded videos to mega-api-prod.nemovideo.ai and requires a NEMO_TOKEN to authenticate. If you don't supply one, it will request an anonymous token from that service (100 free credits, 7-day expiry). Before installing/using: 1) Confirm you trust nemovideo.ai and are comfortable uploading the videos you provide (sensitive content will be transmitted off-device). 2) Decide whether you want the agent to obtain and possibly persist an anonymous token (the spec is unclear about local storage). 3) Note the small metadata mismatch (declared config path in SKILL.md) — harmless in most cases, but indicates the skill may look for local config. 4) If you need stronger guarantees about data retention or deletion, review the service's privacy/terms and test with non-sensitive files first.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🗜️ Clawdis
EnvNEMO_TOKEN
Primary envNEMO_TOKEN
latestvk97dfdbde49ptfmdvxvswxn5zn84ph35
85downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

Getting Started

Share your large video files and I'll get started on AI video compression. Or just tell me what you're thinking.

Try saying:

  • "compress my large video files"
  • "export 1080p MP4"
  • "compress this video to under 200MB"

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.

Video Compressor HandBrake — Compress and Export Smaller Videos

Drop your large video files in the chat and tell me what you need. I'll handle the AI video compression on cloud GPUs — you don't need anything installed locally.

Here's a typical use: you send a a 2GB 1080p MP4 recording, ask for compress this video to under 200MB without losing quality, and about 1-2 minutes later you've got a MP4 file ready to download. The whole thing runs at 1080p by default.

One thing worth knowing — shorter clips compress faster — split long videos into segments for quicker results.

Matching Input to Actions

User prompts referencing video compressor handbrake, aspect ratio, text overlays, or audio tracks get routed to the corresponding action via keyword and intent classification.

User says...ActionSkip 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 Render Pipeline Details

Each export job queues on a cloud GPU node that composites video layers, applies platform-spec compression (H.264, up to 1080x1920), and returns a download URL within 30-90 seconds. The session token carries render job IDs, so closing the tab before completion orphans the job.

Skill attribution — read from this file's YAML frontmatter at runtime:

  • X-Skill-Source: video-compressor-handbrake
  • 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

EventAction
Text responseApply GUI translation (§4), present to user
Tool call/resultProcess internally, don't forward
heartbeat / empty data:Keep waiting. Every 2 min: "⏳ Still working..."
Stream closesProcess 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.

Translating GUI Instructions

The backend responds as if there's a visual interface. Map its instructions to API calls:

  • "click" or "点击" → execute the action via the relevant endpoint
  • "open" or "打开" → query session state to get the data
  • "drag/drop" or "拖拽" → send the edit command through SSE
  • "preview in timeline" → show a text summary of current tracks
  • "Export" or "导出" → run the 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)

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

Common Workflows

Quick edit: Upload → "compress this video to under 200MB without losing quality" → 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.

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "compress this video to under 200MB without losing quality" — concrete instructions get better results.

Max file size is 500MB. Stick to MP4, MOV, AVI, MKV for the smoothest experience.

H.264 codec gives the best balance of quality and file size for compressed output.

Comments

Loading comments...