← Back to Skills Marketplace
thetail001

Subtitle Translator

by Thetail001 · GitHub ↗ · v0.1.1
cross-platform ⚠ suspicious
678
Downloads
0
Stars
7
Active Installs
2
Versions
Install in OpenClaw
/install subtitle-translate-skill
Description
Translate SRT subtitle files using LLM APIs with OpenAI-compatible format. Supports both single-language and bilingual output. Use when you need to translate...
Usage Guidance
This skill appears to do exactly what it says: translate .srt files by sending subtitle text to an OpenAI-compatible API. Before using it, consider: (1) you must supply an API URL and API key — the registry metadata omitted declaring this credential; treat the key like any secret. (2) Prefer environment variables or a secret manager over the suggested plaintext config file (~/.openclaw/skills/.../config.json). (3) The skill sends all subtitle text to whatever API URL you provide — do not use it for sensitive content unless you control the endpoint. (4) Proxies (http_proxy/https_proxy) are honored and can capture keys—ensure you trust your proxy. (5) Review the small Python scripts yourself (they're included) before running. If you want stricter guarantees, ask the author to declare the API key as a required credential in the registry metadata and to remove the plaintext-config recommendation.
Capability Analysis
Type: OpenClaw Skill Name: subtitle-translate-skill Version: 0.1.1 The skill is classified as suspicious primarily due to the `scripts/list_models.py` and `scripts/translate_srt.py` scripts honoring `http_proxy` and `https_proxy` environment variables. While this is a common feature, it introduces a vulnerability where API keys and subtitle content could be intercepted if the agent's environment is configured with an untrusted proxy. However, the `SKILL.md` documentation explicitly warns users about this risk, stating: 'If your environment uses untrusted proxies, API keys could be captured.' This transparency, combined with the absence of other malicious indicators like unauthorized data exfiltration, persistence mechanisms, or prompt injection attempts against the agent, prevents a 'malicious' classification. The core functionality aligns with the stated purpose of subtitle translation.
Capability Assessment
Purpose & Capability
Name/description match the included scripts: parse/validate SRT files and call an OpenAI-compatible chat/completions endpoint to produce translations. No unrelated binaries, services, or capabilities are requested.
Instruction Scope
SKILL.md instructions correspond to what the scripts do: read an input .srt, validate, batch text to an LLM API, and write an output .srt. The scripts only reference SRT input/output, API URL/key/model, and standard proxy env vars; they do not attempt to read other system credentials or unrelated files.
Install Mechanism
No install spec; this is instruction + script files only. Nothing is downloaded or executed from external URLs during install, so install risk is low.
Credentials
The skill legitimately needs an API endpoint and API key to function (scripts require --api-key / env SUBTITLE_API_KEY). However, the registry metadata declared no required environment variables or primary credential — this is a documentation/metadata omission. The SKILL.md also recommends optionally storing the key in ~/.openclaw/skills/subtitle-translator/config.json (plaintext), which increases risk if the user follows it. The scripts respect http_proxy/https_proxy, meaning a misconfigured or malicious proxy could capture the API key (and SKILL.md appropriately warns about this).
Persistence & Privilege
always is false and the skill does not request system-wide persistence or modify other skills. It suggests writing an optional per-skill config file under the user's home directory (expected and scoped to the skill).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install subtitle-translate-skill
  3. After installation, invoke the skill by name or use /subtitle-translate-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.1
- Default batch size for translation reduced from 250 to 50 sentences (configurable). - Added script: scripts/validate_srt.py for validating SRT file format. - Updated documentation with security considerations and best practices for storing API keys. - Expanded configuration options: now supports environment variables and command line arguments (recommended over config files). - Improved documentation for quick start, validation usage, and workflow steps.
v0.1.0
Initial release of subtitle-translator: translate SRT subtitles via OpenAI-compatible APIs. - Translate SRT files while preserving timestamps; supports single-language and bilingual outputs. - Configurable API endpoint, API key, and model selection. - Processes subtitles in batches of 250 sentences with 1-second intervals for efficiency. - Provides detailed logging and result validation to ensure subtitle-timestamp alignment. - Lets you list available models and validate SRT files with included scripts.
Metadata
Slug subtitle-translate-skill
Version 0.1.1
License
All-time Installs 7
Active Installs 7
Total Versions 2
Frequently Asked Questions

What is Subtitle Translator?

Translate SRT subtitle files using LLM APIs with OpenAI-compatible format. Supports both single-language and bilingual output. Use when you need to translate... It is an AI Agent Skill for Claude Code / OpenClaw, with 678 downloads so far.

How do I install Subtitle Translator?

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

Is Subtitle Translator free?

Yes, Subtitle Translator is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Subtitle Translator support?

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

Who created Subtitle Translator?

It is built and maintained by Thetail001 (@thetail001); the current version is v0.1.1.

💬 Comments