← 返回 Skills 市场
tk8544-b

Add Subtitle To Video

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

Getting Started

Send me your video files and I'll handle the subtitle generation. Or just describe what you're after.

Try saying:

  • "add a 3-minute tutorial video in MP4 format into a 1080p MP4"
  • "add captions in English and Spanish to my video"
  • "adding subtitles to YouTube videos for YouTubers and content creators"

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 Subtitle to Video — Generate and Embed Video Captions

This tool takes your video files and runs subtitle generation through a cloud rendering pipeline. You upload, describe what you want, and download the result.

Say you have a 3-minute tutorial video in MP4 format and want to add captions in English and Spanish to my video — the backend processes it in about 30-60 seconds and hands you a 1080p MP4.

Tip: shorter clips under 5 minutes process significantly faster.

Matching Input to Actions

User prompts referencing add subtitle to 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.

Skill attribution — read from this file's YAML frontmatter at runtime:

  • X-Skill-Source: add-subtitle-to-video
  • X-Skill-Version: from frontmatter version
  • X-Skill-Platform: detect from install path (~/.clawhub/clawhub, ~/.cursor/skills/cursor, else unknown)

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

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.

Backend Response Translation

The backend assumes a GUI exists. Translate these into API actions:

Backend says You do
"click [button]" / "点击" Execute via API
"open [panel]" / "打开" Query session state
"drag/drop" / "拖拽" Send edit via SSE
"preview in timeline" Show track summary
"Export button" / "导出" Execute 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 captions in English and Spanish to 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 across platforms.

Common Workflows

Quick edit: Upload → "add captions in English and Spanish to 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.

安全使用建议
This skill generally does what it says — it uploads videos to nemovideo.ai and returns processed files — but there are a few things to confirm before installing or using it with sensitive content: (1) The registry and SKILL.md disagree about config paths and token handling — ask the author whether the skill will persist the anonymous token to disk (~/.config/nemovideo/ or elsewhere) and how long it is kept. (2) The skill will probe the install path and the skill's own frontmatter to set attribution headers; if you require strict filesystem isolation, this is relevant. (3) If you don't already have a NEMO_TOKEN, the skill will request an anonymous token from mega-api-prod.nemovideo.ai — review that service's privacy/retention and what data it receives (your uploaded videos). (4) If you plan to upload sensitive or private videos, verify the backend's security/privacy and consider not providing long‑lived credentials. If you need higher assurance, request the skill's homepage/source or ask the owner to explain the config/token persistence and provide a clear privacy/data-retention statement.
功能分析
Type: OpenClaw Skill Name: add-subtitle-to-video Version: 1.0.0 The skill provides a functional interface for a video subtitling service using the nemovideo.ai cloud API. It contains detailed instructions for the AI agent to manage authentication (including automated anonymous token retrieval), session handling, and video processing workflows. There is no evidence of data exfiltration, malicious command execution, or harmful prompt injection; the instructions are strictly aligned with the stated purpose of video editing and captioning.
能力评估
Purpose & Capability
The skill's actions (upload, SSE, render, export) all target a single video-processing backend (mega-api-prod.nemovideo.ai), which matches the stated purpose. However, registry metadata listed no config paths while the SKILL.md frontmatter declares a config path (~/.config/nemovideo/) and primaryEnv NEMO_TOKEN — this discrepancy between declared registry requirements and in-document requirements is inconsistent.
Instruction Scope
The instructions remain focused on video upload, session management, SSE, and export flows for the nemovideo.ai service. They also instruct the agent to read the skill's YAML frontmatter and detect an install path (~/.clawhub/, ~/.cursor/skills/) to set attribution headers, which requires probing the filesystem beyond purely processing user-supplied files. That filesystem probing and the obligation to add attribution headers are out-of-band behaviors worth noting.
Install Mechanism
No install spec and no code files — instruction-only skill — so nothing is downloaded or written by an installer. This is the lowest install risk.
Credentials
Only one credential (NEMO_TOKEN) is declared, which is appropriate for a cloud API. But SKILL.md includes an alternate flow to POST to an anonymous-token endpoint and treat the returned data.token as NEMO_TOKEN if none is present. That behavior (auto-provisioning an anonymous token) is plausible but conflicts with the registry's 'required env var' claim and raises questions about whether tokens are persisted, where they are stored, and what the anonymous token's privileges/retention are.
Persistence & Privilege
Skill is not always‑on and does not request elevated platform privileges. It uses ephemeral session tokens and cloud job IDs; nothing in SKILL.md requests modifying other skills or global config. The one persistence question is whether the generated anonymous NEMO_TOKEN is stored to disk/config (SKILL.md is silent).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install add-subtitle-to-video
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /add-subtitle-to-video 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release — Easily generate and embed multi-language subtitles in your videos using a cloud-based workflow. - Upload videos (MP4, MOV, AVI, WebM up to 500MB) and request captions in multiple languages. - Automatic subtitle generation and 1080p MP4 export, ready for sharing. - Quick session and token setup for seamless first-time use. - Supports polling for video status, credit balance, and handling common errors (file type, size, rate limits). - All functions accessible via simple, descriptive prompts (upload, add captions, export, check credits, etc).
元数据
Slug add-subtitle-to-video
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Add Subtitle To Video 是什么?

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

如何安装 Add Subtitle To Video?

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

Add Subtitle To Video 是免费的吗?

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

Add Subtitle To Video 支持哪些平台?

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

谁开发了 Add Subtitle To Video?

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

💬 留言讨论