← 返回 Skills 市场
peand-rover

Best Subtitles

作者 peandrover adam · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
99
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install best-subtitles
功能描述
YouTubers, content creators, educators add video files into captioned videos using this skill. Accepts MP4, MOV, AVI, WebM up to 500MB, renders on cloud GPUs...
使用说明 (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 recording into a 1080p MP4"
  • "add accurate subtitles in English and Spanish with proper timing"
  • "adding accurate subtitles to videos for accessibility and engagement for YouTubers, content creators, educators"

Automatic Setup

On first interaction, connect to the processing API before doing anything else. Show a brief status like "Setting things up...".

Token: If NEMO_TOKEN environment variable is already set, use it and skip to Session below.

Free token: Generate a UUID as client identifier, then POST to https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token with header X-Client-Id: \x3Cuuid>. The response field data.token becomes your NEMO_TOKEN (100 credits, 7-day expiry).

Session: POST to https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent with Bearer auth and body {"task_name":"project"}. Save session_id from the response.

Confirm to the user you're connected and ready. Don't print tokens or raw JSON.

Best Subtitles — 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 recording, ask for add accurate subtitles in English and Spanish with proper timing, 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 the most accurate subtitle timing.

Matching Input to Actions

User prompts referencing best 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.

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

Header Value
X-Skill-Source best-subtitles
X-Skill-Version frontmatter version
X-Skill-Platform auto-detect: clawhub / cursor / unknown from install path

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 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 accurate subtitles in English and Spanish with proper timing" — 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 players.

Common Workflows

Quick edit: Upload → "add accurate subtitles in English and Spanish with proper timing" → 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 appears to do what it says (upload a video to nemo-video cloud, generate subtitles, and return a rendered MP4). Before installing/using it: 1) Confirm the mismatch about config paths — SKILL.md mentions ~/.config/nemovideo/ but the registry metadata did not; ask the author where session tokens/IDs are stored. 2) Treat NEMO_TOKEN as a sensitive credential — prefer using the anonymous-token flow for one-off uploads or create a scoped token with minimal permissions. 3) Review privacy/terms: uploading videos to a third-party API sends your content off-platform — don’t upload sensitive or private footage without reviewing nemo-video’s policy. 4) If you need to detect X-Skill-Platform from an install path, ask how the skill will access that path and whether it will read other agent/system files. 5) If anything seems unclear (where tokens are persisted, how long sessions live, how to revoke tokens), ask the skill author for clarification before enabling it.
功能分析
Type: OpenClaw Skill Name: best-subtitles Version: 1.0.0 The 'best-subtitles' skill is a legitimate integration for a cloud-based video captioning service (nemovideo.ai). It provides clear instructions for the AI agent to handle authentication, session management, and file processing via documented API endpoints. While it requests the agent to identify the host platform (e.g., Cursor or OpenClaw) for attribution headers, this behavior is transparently documented and aligned with the service's telemetry needs. No indicators of data exfiltration, malicious execution, or harmful prompt injection were found in SKILL.md or _meta.json.
能力评估
Purpose & Capability
The name/description (generate and embed subtitles on cloud GPUs) matches the runtime instructions (upload video, create session, render/export). Requesting a single service token (NEMO_TOKEN) is proportional to this purpose. Note: the SKILL.md frontmatter mentions a config path (~/.config/nemovideo/) even though the registry metadata listed no required config paths — this is an internal inconsistency to clarify.
Instruction Scope
All runtime actions are scoped to the external video-processing API (session creation, SSE message stream, upload, render/export). The instructions tell the agent to generate anonymous tokens if NEMO_TOKEN is not present, to save session_id, and to include attribution headers. They also ask the agent to auto-detect an install path for X-Skill-Platform — that may require reading agent installation metadata or paths. The skill also instructs the agent to 'save' session tokens/ids but doesn't specify where; that ambiguous persistence should be clarified.
Install Mechanism
Instruction-only skill with no install spec or code files — lowest installation risk. Nothing in the manifest asks the agent to download or run external installers.
Credentials
Only a single credential (NEMO_TOKEN) is declared as required and as primary, which is appropriate for an API-backed service. The skill also supports obtaining a short-lived anonymous token via the service's auth endpoint if no NEMO_TOKEN is provided. No unrelated credentials or secrets are requested.
Persistence & Privilege
always:false (default) — no elevated persistence. However the SKILL.md instructs saving the session_id and possibly storing tokens (NEMO_TOKEN or anonymous token) and references a config path in its frontmatter (~/.config/nemovideo/). Because the registry metadata did not declare config paths, you should confirm whether the skill will persist data to disk and where.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install best-subtitles
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /best-subtitles 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of Best Subtitles: Generate and embed captions in videos using cloud GPU processing. - Supports MP4, MOV, AVI, and WebM files up to 500MB; renders 1080p MP4 output in 30–90 seconds. - Anonymous users receive a free token via automatic setup, no installation required. - Handles subtitle generation, multi-language tracks, and supports YouTubers, educators, and content creators. - Clear workflows for uploading, credit checking, exporting, and timeline state preview. - Robust error handling and session management ensure smooth, reliable experience.
元数据
Slug best-subtitles
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Best Subtitles 是什么?

YouTubers, content creators, educators add video files into captioned videos using this skill. Accepts MP4, MOV, AVI, WebM up to 500MB, renders on cloud GPUs... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 99 次。

如何安装 Best Subtitles?

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

Best Subtitles 是免费的吗?

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

Best Subtitles 支持哪些平台?

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

谁开发了 Best Subtitles?

由 peandrover adam(@peand-rover)开发并维护,当前版本 v1.0.0。

💬 留言讨论