← Back to Skills Marketplace
linmillsd7

Free Video Subtitle Generator

by linmillsd7 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
106
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install free-video-subtitle-generator
Description
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 "ge...
README (SKILL.md)

Getting Started

Ready when you are. Drop your video files here or describe what you want to make.

Try saying:

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

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.

Free Video Subtitle Generator — Auto-Generate Subtitles for Videos

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

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

Tip: shorter clips under 5 minutes generate subtitles noticeably faster.

Matching Input to Actions

User prompts referencing free video subtitle generator, 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.

Headers are derived from this file's YAML frontmatter. X-Skill-Source is free-video-subtitle-generator, 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.

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.

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 "generate subtitles in English and Spanish for 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 and devices.

Common Workflows

Quick edit: Upload → "generate subtitles in English and Spanish for 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.

Usage Guidance
This skill sends your video files and session data to an external service (mega-api-prod.nemovideo.ai) and will use or create a NEMO_TOKEN. Before installing: (1) Confirm you trust the nemovideo.ai service and its privacy/retention policies for uploaded videos and generated tokens. (2) Ask where the skill will store the session_id and anonymous token (in-memory vs on-disk); if on-disk, inspect ~/.config/nemovideo/ to ensure no unwanted secrets are written. (3) If you prefer control, set NEMO_TOKEN yourself and avoid anonymous token creation. (4) Note the skill may read agent install paths to populate headers — ensure it won't access other files you care about. Because of the metadata mismatch (config path present in frontmatter but not in registry fields) and the unspecified token storage, treat this as potentially risky until those questions are answered.
Capability Analysis
Type: OpenClaw Skill Name: free-video-subtitle-generator Version: 1.0.0 The skill is a functional integration for the Nemo Video AI service, designed to automate video subtitle generation. It provides detailed instructions for the agent to manage authentication via the `mega-api-prod.nemovideo.ai` backend, handle file uploads, and process real-time status updates via SSE. The requested permissions (environment variables and specific config paths) and network activities are strictly aligned with the stated purpose of video processing, with no evidence of malicious intent, data exfiltration, or unauthorized execution.
Capability Assessment
Purpose & Capability
The skill's name/description (auto-generate subtitles) aligns with the runtime instructions to upload videos and call nemovideo.ai APIs. However, the frontmatter metadata lists a config path (~/.config/nemovideo/) even though registry metadata reported no required config paths — this mismatch is unexplained and worth questioning.
Instruction Scope
SKILL.md gives explicit network instructions to obtain a token, create a session, upload files, use SSE, poll render status, and download results — all consistent with a cloud render pipeline. It also instructs deriving attribution headers from the skill YAML and detecting the agent install path (~/.clawhub/ or ~/.cursor/skills/), which implies the agent will inspect filesystem paths. The instructions also require storing session_id and avoid showing raw tokens; storage location (memory vs disk) is not specified.
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
The skill requires a single credential (NEMO_TOKEN), which is appropriate for a cloud API. But it also references a config path (~/.config/nemovideo/) in its metadata and instructs generating/retaining anonymous tokens and session IDs. That increases the chance of credentials/session data being persisted on disk. The mismatch between declared required config paths (none in registry metadata vs present in frontmatter) is suspicious.
Persistence & Privilege
The skill does not request always:true and does not appear to modify other skills or system-wide settings. Autonomous invocation is allowed but is the platform default; no elevated persistence is requested.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install free-video-subtitle-generator
  3. After installation, invoke the skill by name or use /free-video-subtitle-generator
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Free Video Subtitle Generator. - Upload video files (MP4, MOV, AVI, WebM up to 500MB) for automatic subtitle generation. - Supports subtitle creation in multiple languages (e.g., English and Spanish). - Fast, cloud-based rendering with 1080p MP4 downloads in about 30–90 seconds. - 100 free credits upon first anonymous sign-in, usable for 7 days. - Streamlined workflows for uploading, editing, exporting, and tracking job status. - Designed for YouTubers and content creators needing quick, accurate captions.
Metadata
Slug free-video-subtitle-generator
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Free Video Subtitle Generator?

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 "ge... It is an AI Agent Skill for Claude Code / OpenClaw, with 106 downloads so far.

How do I install Free Video Subtitle Generator?

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

Is Free Video Subtitle Generator free?

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

Which platforms does Free Video Subtitle Generator support?

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

Who created Free Video Subtitle Generator?

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

💬 Comments