← Back to Skills Marketplace
francemichaell-15

Overlaying Video

by francemichaell-15 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
37
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install overlaying-video
Description
Skip the learning curve of professional editing software. Describe what you want — overlay my intro animation on top of the background footage at 50% opacity...
README (SKILL.md)

Getting Started

Ready when you are. Drop your video clips here or describe what you want to make.

Try saying:

  • "layer a 60-second background clip and a logo animation into a 1080p MP4"
  • "overlay my intro animation on top of the background footage at 50% opacity"
  • "placing one video on top of another for branding or effects for content creators"

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.

Overlaying Video — Layer and Export Combined Videos

This tool takes your video clips and runs video layer compositing through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 60-second background clip and a logo animation and want to overlay my intro animation on top of the background footage at 50% opacity — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.

Tip: keep overlay clips shorter than the base video to avoid blank frames at the end.

Matching Input to Actions

User prompts referencing overlaying video, 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.

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":"\x3Clang>"}. 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/\x3Csid> POST Upload a file (multipart) or URL.
/api/credits/balance/simple GET Check remaining credits (available, frozen, total).
/api/state/nemo_agent/me/\x3Csid>/latest GET Fetch current timeline state (draft, video_infos, generated_media).
/api/render/proxy/lambda POST Start export. Body: {"id":"render_\x3Cts>","sessionId":"\x3Csid>","draft":\x3Cjson>,"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 overlaying-video, 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).

Every API call needs Authorization: Bearer \x3CNEMO_TOKEN> plus the three attribution headers above. If any header is missing, exports return 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=\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

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.

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)

Common Workflows

Quick edit: Upload → "overlay my intro animation on top of the background footage at 50% opacity" → Download MP4. Takes 30-60 seconds 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 "overlay my intro animation on top of the background footage at 50% opacity" — concrete instructions get better results.

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

Export as MP4 with H.264 codec for the best balance of quality and file size.

Usage Guidance
This skill is coherent for cloud video overlaying and shows no artifact-backed malicious behavior. Before installing, be comfortable with NemoVideo receiving selected media files and editing prompts, using a token or free anonymous token, and retaining session/render state while jobs run.
Capability Analysis
Type: OpenClaw Skill Name: overlaying-video Version: 1.0.0 The skill acts as a wrapper for a cloud-based video editing service (nemovideo.ai). It facilitates video layer compositing by managing authentication (via NEMO_TOKEN or anonymous token generation), file uploads, and rendering tasks through the mega-api-prod.nemovideo.ai backend. The requested environment variables and configuration paths (~/.config/nemovideo/) are scoped specifically to the service, and the instructions to the agent are consistent with the stated purpose of video processing without any evidence of data exfiltration or malicious intent.
Capability Assessment
Purpose & Capability
The cloud upload/rendering capability matches the stated video-overlay purpose, but users should understand that their media is processed by an external provider.
Instruction Scope
The skill tells the agent to create a backend session before handling requests and route editing prompts to the provider API; this is disclosed and consistent with the service workflow.
Install Mechanism
No install script or executable code is provided, so the scanner had no local code to analyze or package-install behavior to review.
Credentials
Use of NEMO_TOKEN or an anonymous provider token is expected for the NemoVideo integration, but it is still account/credit-bearing authority.
Persistence & Privilege
The skill uses provider-side sessions and render job IDs, so uploaded project state may persist remotely while jobs are running.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install overlaying-video
  3. After installation, invoke the skill by name or use /overlaying-video
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of overlaying-video — Layer and Export Combined Videos - Instantly combine and overlay multiple video clips without complex editing software. - Supports uploading various video formats (MP4, MOV, AVI, WebM) up to 500MB. - Accepts text commands to overlay, position, and adjust opacity between video layers, with cloud rendering in 30–60 seconds. - Secure session and token management for free and registered users, with 100 free credits available for new users. - Easily export finished 1080p MP4 videos and check credit balances and project status via natural language prompts.
Metadata
Slug overlaying-video
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Overlaying Video?

Skip the learning curve of professional editing software. Describe what you want — overlay my intro animation on top of the background footage at 50% opacity... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.

How do I install Overlaying Video?

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

Is Overlaying Video free?

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

Which platforms does Overlaying Video support?

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

Who created Overlaying Video?

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

💬 Comments