← Back to Skills Marketplace
vcarolxhberger

Add Subtitle To Video Online

by vcarolxhberger · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
68
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install add-subtitle-to-video-online
Description
Skip the learning curve of professional editing software. Describe what you want — add captions in English and Spanish — and get captioned video files back i...
README (SKILL.md)

Getting Started

Got video files to work with? Send it over and tell me what you need — I'll take care of the AI subtitle generation.

Try saying:

  • "add a 3-minute YouTube tutorial video into a 1080p MP4"
  • "add captions in English and Spanish"
  • "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 Online — Generate and Embed Video Captions

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

Here's a typical use: you send a a 3-minute YouTube tutorial video, ask for add captions in English and Spanish, and about 30-60 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 5 minutes generate subtitles noticeably faster.

Matching Input to Actions

User prompts referencing add subtitle to video online, 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 add-subtitle-to-video-online, 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

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.

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 captions in English and Spanish" — 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 and devices.

Common Workflows

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

Usage Guidance
This skill appears to be a wrapper for a cloud subtitle/render service and will upload any video you send to https://mega-api-prod.nemovideo.ai. Before installing or providing credentials: (1) confirm you trust that domain and the provider's privacy/retention policy — uploaded videos may contain sensitive data; (2) prefer using a limited anonymous token if available rather than a long-lived credential; (3) ask the skill author to explain the configPath mention and why the skill reads the agent's install path (X-Skill-Platform header) — this is unnecessary for basic subtitle functionality; (4) avoid sending highly sensitive content until you verify where files are stored and for how long. If you need higher assurance, request source code or a vendor privacy/security statement.
Capability Analysis
Type: OpenClaw Skill Name: add-subtitle-to-video-online Version: 1.0.0 The skill acts as a legitimate wrapper for the 'nemovideo.ai' cloud service to automate video subtitling and rendering. It includes logic for the AI agent to manage authentication via anonymous tokens, handle file uploads to a remote API, and poll for rendering status. While it performs environment detection to set attribution headers (e.g., identifying if it's running in Cursor or ClawHub), its behaviors are transparently documented and strictly aligned with the stated purpose of video processing without evidence of malicious exfiltration or unauthorized execution.
Capability Assessment
Purpose & Capability
The skill's required env var (NEMO_TOKEN) and the documented API endpoints match the described cloud subtitle/rendering service. However, the SKILL.md frontmatter references a config path (~/.config/nemovideo/) and install-path-derived headers that are not reflected in the registry metadata: this is an internal inconsistency and the install-path detection for X-Skill-Platform appears unnecessary for the stated purpose.
Instruction Scope
The runtime instructions tell the agent to read NEMO_TOKEN (if present), otherwise generate an anonymous token by POSTing to the provider and then keep a session_id. The skill also directs reading the agent's install path to set an X-Skill-Platform header and to include YAML frontmatter-derived headers. These instructions involve filesystem/agent-context probing and repeated network calls to a third-party domain (mega-api-prod.nemovideo.ai) and will upload user videos — all expected for a cloud-based subtitle service but notable because they touch agent environment and paths beyond simply using one API key.
Install Mechanism
No install spec or code files — instruction-only — so nothing is written to disk by an installer. This is the lowest install risk.
Credentials
Only one credential (NEMO_TOKEN) is declared as required and is consistent with the API usage. The SKILL.md also offers to mint an anonymous NEMO_TOKEN if none is present. That is proportionate, but the mismatch where SKILL.md lists a config path while the registry metadata lists none should be clarified.
Persistence & Privilege
always is false and the skill does not request system-wide changes. It does require session tokens and will maintain session_id for operations, which is normal for a cloud API skill.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install add-subtitle-to-video-online
  3. After installation, invoke the skill by name or use /add-subtitle-to-video-online
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Add Subtitle to Video Online. - Upload MP4, MOV, AVI, or WebM video files (up to 500MB) for automatic AI subtitle generation in English and Spanish. - Simple setup with automatic cloud connection; 100 free credits on sign-up. - Interactive chat-based editing: drop videos and describe your desired captions for quick turnaround. - Supports timeline management, session saving, and batch processing. - Export captioned videos in MP4 and other standard formats. - Includes helpful error messages for unsupported formats, size limits, and account issues.
Metadata
Slug add-subtitle-to-video-online
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Add Subtitle To Video Online?

Skip the learning curve of professional editing software. Describe what you want — add captions in English and Spanish — and get captioned video files back i... It is an AI Agent Skill for Claude Code / OpenClaw, with 68 downloads so far.

How do I install Add Subtitle To Video Online?

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

Is Add Subtitle To Video Online free?

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

Which platforms does Add Subtitle To Video Online support?

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

Who created Add Subtitle To Video Online?

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

💬 Comments