← 返回 Skills 市场
dsewell-583h0

How To Add Music To Canva Video

作者 dsewell-583h0 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
60
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install how-to-add-music-to-canva-video
功能描述
Get music-enhanced videos ready to post, without touching a single slider. Upload your video clips (MP4, MOV, WebM, AVI, up to 500MB), say something like "ad...
使用说明 (SKILL.md)

Getting Started

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

Try saying:

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

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.

How to Add Music to Canva Video — Add Music to Canva Videos

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

Here's a typical use: you send a a 60-second Canva-exported MP4 presentation, ask for add background music to my Canva video and sync it to the full length, 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 — trim your video to final length in Canva before uploading so music syncs cleanly.

Matching Input to Actions

User prompts referencing how to add music to canva 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 how-to-add-music-to-canva-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 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

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)

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "add background music to my Canva video and sync it to the full length" — concrete instructions get better results.

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

Export your Canva video as MP4 before uploading for the best audio sync results.

Common Workflows

Quick edit: Upload → "add background music to my Canva video and sync it to the full length" → 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.

安全使用建议
This skill calls an external service (https://mega-api-prod.nemovideo.ai) and will upload your video files and use an API token (NEMO_TOKEN). Before installing or using it: (1) Confirm you trust nemovideo.ai and are comfortable uploading the videos you plan to process (don’t upload sensitive or private footage). (2) Prefer setting NEMO_TOKEN yourself rather than allowing the skill to auto-generate and persist tokens for you; tokens created automatically are valid for 7 days. (3) Ask the skill author what 'storing' the session_id/token entails and where files/tokens are saved (in-memory vs written to ~/.config/nemovideo/). (4) If you don’t want the agent reading install paths or local config, ask the developer to remove the install-path-derived header logic and the unused configPaths metadata. (5) Use a disposable token/credit account if you’re unsure, and avoid uploading content with sensitive PII or credentials embedded in media.
功能分析
Type: OpenClaw Skill Name: how-to-add-music-to-canva-video Version: 1.0.0 The skill is a legitimate integration for an AI-powered video editing service hosted at nemovideo.ai. It provides instructions for the agent to manage authentication via anonymous tokens, handle file uploads, and process video editing tasks through a cloud-based GPU pipeline. The instructions are focused on the stated functionality, including error handling and session management, with no evidence of data exfiltration, malicious execution, or harmful prompt injection.
能力评估
Purpose & Capability
The name/description match the instructions: the SKILL.md documents uploading video files and calling nemovideo.ai render endpoints. Requesting a NEMO_TOKEN is consistent with that purpose. However the metadata also declares a config path (~/.config/nemovideo/) and logic for deriving X-Skill-Platform from the agent's install path — neither of which are actually referenced or justified in the runtime steps. That mismatch is unexplained and unnecessary for the described task.
Instruction Scope
The runtime instructions stay focused on interacting with the external nemo API: check/create a token, create a session, upload files, stream SSE, start renders, poll status, and return a download URL. The instructions do not ask to read arbitrary user files or other credentials. Two scope ambiguities: (1) they instruct the agent to 'store' session_id and token but do not specify where or how — this could imply persistent storage; (2) headers derived from install path suggest the agent may inspect its install environment (file-system path detection), which broadens the attack surface if implemented.
Install Mechanism
No install spec and no code files — instruction-only skill. That is the lowest-risk install model; nothing is downloaded or written by an installer as part of the skill package itself.
Credentials
Only NEMO_TOKEN is required, which is proportional for a service that needs authorization. However the declared configPaths (~/.config/nemovideo/) is not justified by the instructions and would grant local filesystem access to a service-specific config directory if the agent reads it. Also the skill auto-generates an anonymous token via the remote API and (implicitly) suggests persisting it, which you should treat as sensitive since the token unlocks uploads/exports and carries credits.
Persistence & Privilege
always:false (no forced permanent presence) and the skill does not request system-wide privileges. Autonomous invocation is allowed (platform default) which, combined with network access and an API token, increases blast radius but is normal for skills that call external APIs. There is no instruction to modify other skills or system-wide agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install how-to-add-music-to-canva-video
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /how-to-add-music-to-canva-video 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of "How to Add Music to Canva Video — Add Music to Canva Videos": - Quickly add background music and export 1080p MP4s from Canva videos with minimal setup. - Supports fast uploads (MP4, MOV, WebM, AVI; up to 500MB), straightforward prompts, and cloud GPU processing. - Automatic token-based authentication with 100 free credits. - Simple, intent-based command handling (upload, add BGM, check credits, export). - Error handling for common issues (file types, credit balance, authentication, rate limiting). - Designed for fast, practical workflows without complex video editors.
元数据
Slug how-to-add-music-to-canva-video
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

How To Add Music To Canva Video 是什么?

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

如何安装 How To Add Music To Canva Video?

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

How To Add Music To Canva Video 是免费的吗?

是的,How To Add Music To Canva Video 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

How To Add Music To Canva Video 支持哪些平台?

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

谁开发了 How To Add Music To Canva Video?

由 dsewell-583h0(@dsewell-583h0)开发并维护,当前版本 v1.0.0。

💬 留言讨论