← Back to Skills Marketplace
mhogan2013-9

Add Music To Video App

by mhogan2013-9 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
61
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install add-music-to-video-app
Description
Skip the learning curve of professional editing software. Describe what you want — add upbeat background music to my video and fade it out at the end — and g...
README (SKILL.md)

Getting Started

Share your video clips and I'll get started on AI music addition. Or just tell me what you're thinking.

Try saying:

  • "add my video clips"
  • "export 1080p MP4"
  • "add upbeat background music to my"

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.

Add Music to Video App — Add Music and Export Videos

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

Here's a typical use: you send a a 60-second travel video clip, ask for add upbeat background music to my video and fade it out at the end, and about 20-40 seconds later you've got a MP4 file ready to download. The whole thing runs at 1080p by default.

One thing worth knowing — shorter clips under 2 minutes process faster and sync music more accurately.

Matching Input to Actions

User prompts referencing add music to video app, 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.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is add-music-to-video-app, 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.

API base: https://mega-api-prod.nemovideo.ai

Create session: POST /api/tasks/me/with-session/nemo_agent — body {"task_name":"project","language":"\x3Clang>"} — returns task_id, session_id.

Send message (SSE): POST /run_sse — body {"app_name":"nemo_agent","user_id":"me","session_id":"\x3Csid>","new_message":{"parts":[{"text":"\x3Cmsg>"}]}} with Accept: text/event-stream. Max timeout: 15 minutes.

Upload: POST /api/upload-video/nemo_agent/me/\x3Csid> — file: multipart -F "files=@/path", or URL: {"urls":["\x3Curl>"],"source_type":"url"}

Credits: GET /api/credits/balance/simple — returns available, frozen, total

Session state: GET /api/state/nemo_agent/me/\x3Csid>/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_\x3Cts>","sessionId":"\x3Csid>","draft":\x3Cjson>,"output":{"format":"mp4","quality":"high"}}. Poll GET /api/render/proxy/lambda/\x3Cid> 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.

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 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=\x3Cid> (get \x3Cid> 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

The backend processes faster when you're specific. Instead of "make it look better", try "add upbeat background music to my video and fade it out at the end" — concrete instructions get better results.

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

Export as MP4 for widest compatibility across all platforms and devices.

Common Workflows

Quick edit: Upload → "add upbeat background music to my video and fade it out at the end" → Download MP4. Takes 20-40 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.

Usage Guidance
This skill is internally consistent: it uploads user video files to the nemovideo.ai backend and uses a single token (NEMO_TOKEN) for authentication. Before installing or using it, consider: 1) Only provide a personal NEMO_TOKEN if you trust nemovideo.ai — otherwise allow the skill to obtain an anonymous token as described. 2) The SKILL.md mentions reading a config path (~/.config/nemovideo/) and detecting install paths for attribution headers; if you are uncomfortable with the skill probing those locations, ask the author to remove or document that behavior. 3) Uploaded videos and any audio/video content will be sent to the external service — review the service's privacy policy if your content is sensitive. 4) No other credentials or installers are requested, and there are no embedded code files in the skill package.
Capability Analysis
Type: OpenClaw Skill Name: add-music-to-video-app Version: 1.0.0 The skill is a legitimate integration for the NemoVideo cloud service, allowing users to add music to videos via a remote API. It manages authentication through the `NEMO_TOKEN` environment variable or by requesting an anonymous token from `mega-api-prod.nemovideo.ai`. The instructions in `SKILL.md` provide a detailed and transparent workflow for session management, file uploads, and video rendering, with no evidence of data exfiltration, unauthorized execution, or malicious prompt injection.
Capability Assessment
Purpose & Capability
The skill integrates with a single video-processing backend (nemovideo), requires a single token (NEMO_TOKEN) for Bearer auth and describes upload/export endpoints — all coherent with its 'add music to video' purpose.
Instruction Scope
Instructions are focused on session creation, SSE streaming, uploads, status and export polling. They only direct traffic to the nemovideo API. Note: the SKILL.md includes YAML metadata that mentions a config path (~/.config/nemovideo/) and logic to detect the install path to set an X-Skill-Platform header; this implies the skill may probe install/config locations for attribution, which is marginally broader than strictly required for upload/auth but not obviously malicious.
Install Mechanism
There is no install spec and no code files — the skill is instruction-only, so nothing is downloaded or written to disk by the skill itself.
Credentials
Only NEMO_TOKEN is requested as a credential (primaryEnv). That is proportionate for a cloud service. Minor inconsistency: the top-level manifest reported no required config paths, but the SKILL.md metadata lists ~/.config/nemovideo/ — this should be clarified (reading a config directory is more access than just using an env var).
Persistence & Privilege
always is false and the skill is user-invocable. The runtime instructions describe temporary session tokens and server-side jobs; there is no instruction to modify other skill settings or require permanent presence.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install add-music-to-video-app
  3. After installation, invoke the skill by name or use /add-music-to-video-app
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Add Music to Video App. - Instantly add AI-generated music to video clips (MP4, MOV, AVI, WebM up to 500MB). - Automatic cloud connection and authentication; 100 free credits on signup. - Simple prompt system: describe the edit you want (e.g., "add upbeat background music and fade out") and get a ready-to-download video in 20–40 seconds. - Built-in export (1080p MP4 by default), batch processing, and timeline preview. - API-driven workflow with clear error messages and tips for best results. - Specially designed for TikTok and short-video creators without editing expertise.
Metadata
Slug add-music-to-video-app
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Add Music To Video App?

Skip the learning curve of professional editing software. Describe what you want — add upbeat background music to my video and fade it out at the end — and g... It is an AI Agent Skill for Claude Code / OpenClaw, with 61 downloads so far.

How do I install Add Music To Video App?

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

Is Add Music To Video App free?

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

Which platforms does Add Music To Video App support?

Add Music To Video App is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Add Music To Video App?

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

💬 Comments