← 返回 Skills 市场
vynbosserman65

Ai With Music

作者 vynbosserman65 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
75
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install ai-with-music
功能描述
Get music-enhanced videos ready to post, without touching a single slider. Upload your video clips (MP4, MOV, AVI, WebM, up to 500MB), say something like "ad...
使用说明 (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 background music that matches the"

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 \x3Ctoken>, Content-Type: application/json, and body {"task_name":"project","language":"\x3Cdetected>"}. 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.

AI With Music — Add Music to Videos Automatically

Send me your video clips and describe the result you want. The AI music addition runs on remote GPU nodes — nothing to install on your machine.

A quick example: upload a 60-second travel montage clip, type "add background music that matches the mood of my video", and you'll get a 1080p MP4 back in roughly 30-60 seconds. All rendering happens server-side.

Worth noting: shorter clips allow the AI to match music tempo more accurately.

Matching Input to Actions

User prompts referencing ai with music, 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.

Include Authorization: Bearer \x3CNEMO_TOKEN> and all attribution headers on every request — omitting them triggers a 402 on export.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is ai-with-music, 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).

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.

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

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

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.

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)

Common Workflows

Quick edit: Upload → "add background music that matches the mood of my video" → 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 "add background music that matches the mood of my video" — 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.

安全使用建议
Key points before installing: - This skill uploads your video files to a third-party service (mega-api-prod.nemovideo.ai). If your videos contain sensitive content, do not upload them until you verify the service's privacy, retention, and deletion policies. - The skill expects a NEMO_TOKEN but will create an anonymous token for you if none is present; that token will be stored for later requests — ask where/how tokens/session IDs are stored and how to revoke them. - SKILL.md asks the agent to detect install paths (e.g., ~/.clawhub, ~/.cursor/skills) to set attribution headers; this implies filesystem checks. If you prefer not to allow that probing, ask the skill author to remove or explain this behavior. - There are metadata inconsistencies (declared required env var vs. anonymous-token fallback; a configPaths entry in frontmatter that isn't reflected in registry metadata). Ask the publisher to clarify these points. - If you decide to proceed: prefer using a disposable or limited-scope token, review/ask for the service's privacy and retention policy, and avoid uploading videos you cannot share externally. If you need higher assurance, request an implementation that documents exactly where tokens/sessions are stored and that does not probe unrelated local paths.
能力评估
Purpose & Capability
The skill's stated purpose (remote AI music addition) aligns with contacting a remote API and uploading video files, and the single declared credential (NEMO_TOKEN) is relevant. However, the registry marks NEMO_TOKEN as required while the runtime instructions include an anonymous-token fallback flow that generates and stores a token — this is inconsistent. The YAML frontmatter also includes a configPaths entry (~/.config/nemovideo/) that is not reflected in the registry summary, which is another mismatch.
Instruction Scope
SKILL.md instructs the agent to upload user video files and to POST to external endpoints (mega-api-prod.nemovideo.ai) to obtain tokens, create sessions, run SSE, and submit render jobs — all expected for a cloud render service. Notable scopes: it tells the agent to generate and store an anonymous NEMO_TOKEN if none is supplied, to persist session_id for subsequent requests, and to include attribution headers derived from the YAML frontmatter and by detecting install paths on the filesystem. The install-path detection implies the agent may probe user filesystem locations (~/.clawhub, ~/.cursor/skills) to set headers — this file-system check is not justified by the user-visible description and increases the scope of access.
Install Mechanism
Instruction-only skill with no install spec or code files. No packages or downloads are written to disk by the skill itself.
Credentials
Only one credential (NEMO_TOKEN) is declared as required and is relevant to the service. But the declaration that it's required conflicts with the explicit anonymous-token acquisition flow in SKILL.md (which issues and stores a token if NEMO_TOKEN is absent). The YAML frontmatter's configPaths entry (~/.config/nemovideo/) is another environment/config path claim not reflected in registry metadata and may indicate implicit local config access.
Persistence & Privilege
The skill does not request always:true, has no install-time privilege escalation, and does not declare writes to other skills' configs. It does instruct storing its own session token/session_id for the duration of use, which is normal for a cloud session-based integration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ai-with-music
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ai-with-music 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
AI With Music — Add Music to Videos Automatically: Initial Release - Instantly add AI-selected background music to uploaded videos, synced to mood and tempo. - Supports video input in MP4, MOV, AVI, or WebM (up to 500MB); output is 1080p MP4. - Seamless cloud processing — no installation or manual editing required. - Simple authentication via auto-issued free token with 100 credits. - Clear workflows: upload video, describe your desired result, export and download. - Includes session management, error handling, and supports iterative editing.
元数据
Slug ai-with-music
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Ai With Music 是什么?

Get music-enhanced videos ready to post, without touching a single slider. Upload your video clips (MP4, MOV, AVI, WebM, up to 500MB), say something like "ad... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 75 次。

如何安装 Ai With Music?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ai-with-music」即可一键安装,无需额外配置。

Ai With Music 是免费的吗?

是的,Ai With Music 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Ai With Music 支持哪些平台?

Ai With Music 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Ai With Music?

由 vynbosserman65(@vynbosserman65)开发并维护,当前版本 v1.0.0。

💬 留言讨论