← Back to Skills Marketplace
vcarolxhberger

Browser Video Generation

by vcarolxhberger · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
72
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install browser-video-generation
Description
Get ready-to-share videos ready to post, without touching a single slider. Upload your text prompts (MP4, MOV, WebM, GIF, up to 500MB), say something like "g...
README (SKILL.md)

Getting Started

Send me your text prompts and I'll handle the AI video creation. Or just describe what you're after.

Try saying:

  • "generate a short text description of a product demo scene into a 1080p MP4"
  • "generate a 30-second explainer video from this script"
  • "generating videos directly in the browser without installing software for 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: \x3Cuuid>. 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.

Browser Video Generation — Create and Export Videos Online

This tool takes your text prompts and runs AI video creation through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a short text description of a product demo scene and want to generate a 30-second explainer video from this script — the backend processes it in about 1-3 minutes and hands you a 1080p MP4.

Tip: shorter scripts with clear scene descriptions produce more accurate results.

Matching Input to Actions

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

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 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.

All calls go to https://mega-api-prod.nemovideo.ai. The main endpoints:

  1. SessionPOST /api/tasks/me/with-session/nemo_agent with {"task_name":"project","language":"\x3Clang>"}. Gives you a session_id.
  2. Chat (SSE)POST /run_sse with session_id and your message in new_message.parts[0].text. Set Accept: text/event-stream. Up to 15 min.
  3. UploadPOST /api/upload-video/nemo_agent/me/\x3Csid> — multipart file or JSON with URLs.
  4. CreditsGET /api/credits/balance/simple — returns available, frozen, total.
  5. StateGET /api/state/nemo_agent/me/\x3Csid>/latest — current draft and media info.
  6. ExportPOST /api/render/proxy/lambda with render ID and draft JSON. Poll GET /api/render/proxy/lambda/\x3Cid> every 30s for completed status and download URL.

Formats: 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 browser-video-generation, 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 \x3CNEMO_TOKEN>, X-Skill-Source, X-Skill-Version, X-Skill-Platform. Missing attribution headers will cause export to fail with 402.

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)

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

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.

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=\x3Cid>, 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

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "generate a 30-second explainer video from this script" — concrete instructions get better results.

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

Export as MP4 for widest compatibility across platforms and devices.

Common Workflows

Quick edit: Upload → "generate a 30-second explainer video from this script" → Download MP4. Takes 1-3 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.

Usage Guidance
This skill appears to do what it says: it will upload your media and prompts to mega-api-prod.nemovideo.ai and return rendered videos. Before installing or using it: 1) Be comfortable that your files (video, images, scripts) will be uploaded to that external service — do not send sensitive or private files. 2) NEMO_TOKEN is a bearer token: treat it like a password. The skill can generate a short-lived anonymous token for you, but that token still grants upload/render rights for ~7 days. 3) Note the metadata discrepancy about a local config path (~/.config/nemovideo/) — if you prefer no local state, check where the agent stores session info. 4) The skill derives an X-Skill-Platform header from the agent install path, which reveals which client you’re running; if that concerns you, review or sanitize that behavior. 5) Because this is an instruction-only skill from an unknown source with no homepage, review the service’s privacy/terms at nemovideo.ai (or contact the provider) before uploading any private content. If you want, I can list the exact API endpoints and headers the skill will call so you can audit network traffic or firewall them.
Capability Analysis
Type: OpenClaw Skill Name: browser-video-generation Version: 1.0.0 The skill bundle provides a legitimate interface for an AI agent to interact with a video generation service hosted at mega-api-prod.nemovideo.ai. The SKILL.md file contains detailed instructions for authentication (via NEMO_TOKEN), session management, and handling video processing tasks such as uploads, SSE-based editing, and cloud rendering. There is no evidence of data exfiltration, unauthorized file access, or malicious prompt injection; the requested environment variables and configuration paths (~/.config/nemovideo/) are consistent with the tool's stated purpose.
Capability Assessment
Purpose & Capability
Name/description (cloud video generation) aligns with required credential (NEMO_TOKEN) and with the runtime instructions that call mega-api-prod.nemovideo.ai. One small inconsistency: registry metadata earlier listed no required config paths, but the SKILL.md YAML frontmatter declares configPaths (~/.config/nemovideo/). This looks like a bookkeeping mismatch rather than malicious behavior.
Instruction Scope
SKILL.md instructs the agent to obtain/use an API token, create a session, upload user media, poll SSE endpoints, and return download URLs — all appropriate for the stated task. It will send user files (up to 500MB) and metadata to an external service (mega-api-prod.nemovideo.ai). The skill also instructs deriving an X-Skill-Platform header from the install path (~/.clawhub/ or ~/.cursor/skills/) which requires inspecting the agent's install location. No instructions ask for unrelated system files or other credentials, but uploading user data to an external cloud service is a privacy-sensitive action and should be expected.
Install Mechanism
Instruction-only skill with no install spec and no code files; nothing is written to disk by an installer. This is the lowest install risk.
Credentials
Only NEMO_TOKEN is required and is proportional to a cloud video API. The SKILL.md also references a local config path (~/.config/nemovideo/) in its frontmatter which may indicate optional local state storage—registry metadata contradicted this. The skill can create an anonymous token on the user's behalf (less sensitive than asking for long-lived credentials), but that token will authorize uploads of user media and should be treated as sensitive.
Persistence & Privilege
The skill is not always:true and does not request elevated/platform-wide privileges. It instructs saving session_id and using tokens for API calls (normal for session-based services). It does require reading the install path to set X-Skill-Platform header, but it does not request modifying other skills or system-wide configuration.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install browser-video-generation
  3. After installation, invoke the skill by name or use /browser-video-generation
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of Browser Video Generation (v1.0.0). - Instantly generate and export ready-to-share videos online via text prompts—no editing software required. - Supports uploads (MP4, MOV, WebM, GIF, up to 500MB) and outputs 1080p MP4s. - Cloud-based rendering with easy export, timeline preview, credits check, and state tracking. - Streamlined token/session management; anonymous users get free credits for quick start. - Built for marketers needing rapid, browser-based video creation and download.
Metadata
Slug browser-video-generation
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Browser Video Generation?

Get ready-to-share videos ready to post, without touching a single slider. Upload your text prompts (MP4, MOV, WebM, GIF, up to 500MB), say something like "g... It is an AI Agent Skill for Claude Code / OpenClaw, with 72 downloads so far.

How do I install Browser Video Generation?

Run "/install browser-video-generation" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Browser Video Generation free?

Yes, Browser Video Generation is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Browser Video Generation support?

Browser Video Generation is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Browser Video Generation?

It is built and maintained by vcarolxhberger (@vcarolxhberger); the current version is v1.0.0.

💬 Comments