
translate-video
Translate video subtitles to any language with native-quality refinement. Full pipeline: transcribe → translate → refine → embed RTL-safe subtitles. Use for: translate video, תרגם סרטון, video translation, foreign subtitles, Hebrew subtitles, translated captions.
- Installs
- 44
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aviz85/claude-skills-library --skill translate-video- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads translate-video automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Translate Video
End-to-end video translation pipeline: transcribe → translate → refine subtitles → embed.
Usage
/translate-video /path/to/video.mp4 he --regular
/translate-video /path/to/video.mp4 he --shorts
$1— video file path (required)$2— target language code (default:he). See references/languages.md$3—--shorts(TikTok/Reels) or--regular(YouTube/tutorials). If omitted, ask the user.
Pipeline
Step 1: Transcribe
If audio > 25MB, extract first:
ffmpeg -i "$VIDEO" -vn -acodec libmp3lame -ab 128k "$AUDIO.mp3" -y
Transcribe with word-level JSON (always include --json):
cd ~/.claude/skills/transcribe/scripts && [ -d node_modules ] || npm install --silent
npx ts-node transcribe.ts -i "$INPUT" -o "$BASENAME.srt" --json
Produces: {basename}.srt, {basename}.md, {basename}_transcript.json
Step 2: Translate
Read .md for full context. Translate the .srt — preserve all timestamps and index numbers exactly. See translation rules in references/modes.md.
Step 3: Refine Subtitles
Read references/modes.md for full rules.
--shorts: Fix text only, preserve all timestamps. No merging.
--regular: Merge into full sentences using word-level timestamps.
- Plan subtitle groups from
.md(word counts per group) - Fill
GROUP_SIZESin scripts/build-timestamps.py and run it - Replace English text in output SRT with translated text
Step 4: Post-process (both modes)
Enforces MAX 2 lines, MAX chars/line (38 for --shorts, 42 for --regular):
python3 ~/.claude/skills/translate-video/scripts/postprocess.py "$SRT" 42
Step 5: RTL Fix (Hebrew / Arabic / Farsi only)
python3 ~/.claude/skills/translate-video/scripts/rtl-fix.py "$SRT"
Step 6: Embed & Open
~/.local/bin/ffmpeg-ass -i "$VIDEO" \
-vf "subtitles=$SRT:force_style='FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Shadow=1,Alignment=2,MarginV=30'" \
-c:v libx264 -preset fast -crf 23 -c:a copy "$OUTPUT" -y
open "$OUTPUT"
⚠️ Do NOT use Docker ffmpeg for long videos on ARM Mac — x86 emulation is ~100x slower.
Output Files
| File | Description |
|---|---|
{name}.srt | Original language SRT |
{name}.md | Readable transcript |
{name}_transcript.json | Word-level timestamps |
{name}_{lang}.srt | Translated + refined SRT |
{name}_{lang}_subtitled.mp4 | Final video |
Supporting Files
| File | Purpose |
|---|---|
| references/modes.md | Detailed --shorts and --regular rules |
| references/languages.md | Language codes + RTL flags |
| scripts/build-timestamps.py | Word-index cursor for --regular timestamps |
| scripts/postprocess.py | Enforce line limits on any SRT |
| scripts/rtl-fix.py | Apply RTL Unicode markers |
FAQ
What does the translate-video skill do?
Translate video subtitles to any language with native-quality refinement. Full pipeline: transcribe → translate → refine → embed RTL-safe subtitles. Use for: translate video, תרגם סרטון, video translation, foreign subtitles, Hebrew subtitles, translated captions.
How do I install translate-video?
Run npx skills add https://github.com/aviz85/claude-skills-library --skill translate-video in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/translate-video/ (personal) or .claude/skills/translate-video/ (project).
Which AI agents can use translate-video?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is translate-video safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains translate-video?
It is published by aviz85 in aviz85/claude-skills-library. It has 44 recorded installs.
More from aviz85/claude-skills-library
html-to-pdf
aviz85/claude-skills-library
Convert HTML to PDF with pixel-perfect rendering and excellent Hebrew/RTL support. Use when the user asks to 'convert HTML to PDF', 'generate PDF from HTML', 'create PDF from webpage', 'export to PDF', or needs PDF generation with Hebrew text support.
youtube-uploader
aviz85/claude-skills-library
Upload videos to YouTube with title, description, tags. Use for: youtube upload, publish video, share on youtube.
gh-pages-deploy
aviz85/claude-skills-library
Deploy static or interactive frontend content to GitHub Pages using gh CLI. Use when the user wants to publish, share, or make accessible any HTML/CSS/JS content - including demos, prototypes, visualizations, landing pages, portfolios, documentation, interactive tools, games, or any browser-based project. Activate whenever content needs to be publicly viewable via URL, not just when "website" is explicitly mentioned.
presentation-architect
aviz85/claude-skills-library
Open the skill to read its SKILL.md instructions.
music-generator
aviz85/claude-skills-library
Generate AI music with ElevenLabs Music API. Use for: background music, soundtracks, jingles, theme songs, instrumental tracks, AI music composition.
wordpress-publisher
aviz85/claude-skills-library
Publish posts to WordPress. Use for: publish blog post, upload to WordPress, פרסם בבלוג.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.