← Back to Skills Marketplace
peand-rover

Ai Subtitle Generator For Video

by peandrover adam · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
128
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install ai-subtitle-generator-for-video
Description
Turn a 3-minute YouTube tutorial video into 1080p captioned video files just by typing what you need. Whether it's adding subtitles to YouTube or social medi...
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 subtitles in English and Spanish to my video"
  • "adding subtitles to YouTube or social media 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.

AI Subtitle Generator for Video — Generate and Burn In Subtitles

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 subtitles in English and Spanish to my video, 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 fastest.

Matching Input to Actions

User prompts referencing ai subtitle generator for 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.

Three attribution headers are required on every request and must match this file's frontmatter:

Header Value
X-Skill-Source ai-subtitle-generator-for-video
X-Skill-Version frontmatter version
X-Skill-Platform auto-detect: clawhub / cursor / unknown from install path

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.

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 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

Common Workflows

Quick edit: Upload → "add subtitles 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.

Tips and Tricks

The backend processes faster when you're specific. Instead of "make it look better", try "add subtitles 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.

Usage Guidance
This skill appears to do what it says: it uploads video to a remote rendering/subtitling API and returns a downloadable captioned video. Before installing, consider: (1) Privacy—your video files will be uploaded to https://mega-api-prod.nemovideo.ai; don't send content you don't want shared with that service. (2) Token handling—the skill will look for NEMO_TOKEN and, if absent, call the service to obtain an anonymous token (100 free credits, 7-day expiry). Decide whether you want the agent to create and store that token in your environment. (3) Metadata mismatch—the SKILL.md mentions a local config path (~/.config/nemovideo/) while registry metadata says none; ask the publisher which is accurate if you care about local file reads. (4) Provenance—there's no homepage and the owner is an opaque ID; if you need stronger assurance, ask the publisher for a homepage or code repository and for a privacy policy/terms for uploaded content. If you're comfortable with those trade-offs, this skill is internally consistent for its stated purpose.
Capability Analysis
Type: OpenClaw Skill Name: ai-subtitle-generator-for-video Version: 1.0.0 The skill is a legitimate integration for a cloud-based video processing service hosted at nemovideo.ai. It provides detailed instructions for an AI agent to handle authentication, session management, file uploads, and video rendering tasks. The code and instructions (SKILL.md) are strictly aligned with the stated purpose of generating and burning in subtitles, with no evidence of data exfiltration, malicious execution, or harmful prompt injection.
Capability Assessment
Purpose & Capability
The skill claims to call a cloud subtitle/rendering backend and the SKILL.md exclusively describes API calls, session creation, upload, and export flows against a nemovideo.ai service. Requiring a NEMO_TOKEN for Authorization is proportional to that purpose.
Instruction Scope
Instructions will perform network operations to https://mega-api-prod.nemovideo.ai: create or use a bearer token, create sessions, upload user video files (multipart or URL), run SSE streams, poll render status, and return download URLs. These actions are consistent with a cloud rendering/subtitling service, but they do involve sending user video content and metadata to a third party. The skill also instructs auto-detecting an install path to populate X-Skill-Platform which may require reading the agent's install path; the SKILL.md asks not to expose raw tokens in UI.
Install Mechanism
There is no install step or code to write to disk (instruction-only). This is the lowest-risk install mechanism for this type of skill.
Credentials
Only one environment credential is required: NEMO_TOKEN (primaryEnv). That aligns with the described API usage. Minor inconsistency: the skill manifest at the top states 'Required config paths: none', but the SKILL.md frontmatter metadata lists a config path (~/.config/nemovideo/). If present, that path could be read for local nemo-related configuration; the registry metadata and SKILL.md disagree.
Persistence & Privilege
The skill is not always-enabled and does not request system-wide privileges. It is instruction-only and does not modify other skills or system configurations. Autonomous invocation is allowed (default) but not an additional privilege in itself.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ai-subtitle-generator-for-video
  3. After installation, invoke the skill by name or use /ai-subtitle-generator-for-video
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
AI Subtitle Generator for Video — initial release! - Instantly generate and burn-in subtitles for uploaded video files using a simple prompt. - Supports fast upload, session management, and cloud-based processing with automatic token handling. - Export captioned videos (up to 1080p) in multiple formats, including MP4, MOV, AVI, WebM, and more. - Offers quick status updates, session state tracking, and effortless management of subtitle languages. - No export settings or timeline dragging required—just upload, describe your needs, and download within 30-90 seconds.
Metadata
Slug ai-subtitle-generator-for-video
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Ai Subtitle Generator For Video?

Turn a 3-minute YouTube tutorial video into 1080p captioned video files just by typing what you need. Whether it's adding subtitles to YouTube or social medi... It is an AI Agent Skill for Claude Code / OpenClaw, with 128 downloads so far.

How do I install Ai Subtitle Generator For Video?

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

Is Ai Subtitle Generator For Video free?

Yes, Ai Subtitle Generator For Video is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ai Subtitle Generator For Video support?

Ai Subtitle Generator For Video is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ai Subtitle Generator For Video?

It is built and maintained by peandrover adam (@peand-rover); the current version is v1.0.0.

💬 Comments