← Back to Skills Marketplace
peand-rover

Free Subtitles

by peandrover adam · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
107
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install free-subtitles
Description
content creators add video files into captioned videos using this skill. Accepts MP4, MOV, AVI, WebM up to 500MB, renders on cloud GPUs at 1080p, and returns...
README (SKILL.md)

Getting Started

Share your video files and I'll get started on subtitle generation. Or just tell me what you're thinking.

Try saying:

  • "add my video files"
  • "export 1080p MP4"
  • "add subtitles to my video for"

Getting Connected

Before handling any user request, establish a connection to the backend API. Show a brief status like "Connecting...".

If NEMO_TOKEN is in the environment, use it directly and create a session. Otherwise, acquire a free starter token:

  • Generate a UUID as client identifier
  • POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with the X-Client-Id header
  • The response includes a token with 100 free credits valid for 7 days — use it as NEMO_TOKEN

Then create a session by POSTing to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer authorization and body {"task_name":"project","language":"en"}. The session_id in the response is needed for all following requests.

Tell the user you're ready. Keep the technical details out of the chat.

Free Subtitles — Generate and Burn In Captions

Send me your video files and describe the result you want. The subtitle generation runs on remote GPU nodes — nothing to install on your machine.

A quick example: upload a 3-minute YouTube tutorial video, type "add subtitles to my video for free", and you'll get a 1080p MP4 back in roughly 30-60 seconds. All rendering happens server-side.

Worth noting: shorter clips under 5 minutes generate subtitles significantly faster.

Matching Input to Actions

User prompts referencing free subtitles, 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 free-subtitles, 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

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

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 field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.

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 subtitles to my video for free" — 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 subtitles to my video for free" → 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 an API client that uploads your video files to a third-party service (mega-api-prod.nemovideo.ai) for subtitle generation. Before installing or using it: (1) confirm you trust that service with the video content (privacy, copyright), (2) understand that a single required secret is NEMO_TOKEN — only provide a token you intend to use with this service, and (3) ask the author to clarify the config-path discrepancy in the SKILL.md frontmatter (it references ~/.config/nemovideo/ and checks install paths for setting X-Skill-Platform). If you do not want the agent probing local paths or sending files offsite, do not install or use this skill.
Capability Analysis
Type: OpenClaw Skill Name: free-subtitles Version: 1.0.0 The 'free-subtitles' skill is a legitimate tool designed to automate video captioning via the nemovideo.ai API. The SKILL.md file provides clear instructions for the agent to manage authentication (including an anonymous token fallback), handle file uploads, and monitor cloud rendering tasks. While it includes logic to detect the host platform by checking specific installation paths (e.g., ~/.clawhub/), this is used for API attribution rather than malicious fingerprinting. No evidence of data exfiltration, unauthorized command execution, or persistence was found.
Capability Assessment
Purpose & Capability
Name/description (generate and burn-in subtitles) align with the declared primary credential (NEMO_TOKEN) and the SKILL.md which describes an API-based render pipeline. The formats, upload, session, and render endpoints all match the stated purpose.
Instruction Scope
Runtime instructions are focused on authorizing, creating a session, uploading files, streaming SSE edits, and exporting renders — all expected for a remote rendering service. The SKILL.md also instructs detecting install paths to set an X-Skill-Platform header and to keep technical details out of chat; filesystem probing for platform detection is not strictly required for core functionality and is a small scope expansion to be aware of.
Install Mechanism
No install spec and no code files — instruction-only skill means nothing is written to disk by an installer. This is the lowest-risk install model.
Credentials
Only one credential is required (NEMO_TOKEN), which is proportionate to calling a third-party API. Minor inconsistency: the registry metadata listed no required config paths, but the SKILL.md frontmatter references a config path (~/.config/nemovideo/) — this should be clarified (does the skill read that directory?).
Persistence & Privilege
always is false and the skill is user-invocable with normal autonomous invocation allowed. The skill does not request elevated or persistent system privileges and does not claim to modify other skills or global agent configuration.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install free-subtitles
  3. After installation, invoke the skill by name or use /free-subtitles
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — generate and burn in captions for videos, free of charge. - Upload MP4, MOV, AVI, or WebM files (up to 500MB) and generate subtitle-burned videos at 1080p in ~30–60 seconds. - No installation required — videos are rendered on remote GPU nodes and returned as downloadable MP4 files. - Session and authentication handled automatically, including free anonymous token acquisition if needed. - Supports common workflows: batch processing, iterative edits, and track preview in timeline. - Assorted error handling, session state polling, and seamless chat-based user prompts.
Metadata
Slug free-subtitles
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Free Subtitles?

content creators add video files into captioned videos using this skill. Accepts MP4, MOV, AVI, WebM up to 500MB, renders on cloud GPUs at 1080p, and returns... It is an AI Agent Skill for Claude Code / OpenClaw, with 107 downloads so far.

How do I install Free Subtitles?

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

Is Free Subtitles free?

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

Which platforms does Free Subtitles support?

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

Who created Free Subtitles?

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

💬 Comments