New to Claude Skills? Learn how to install them →

hkuds on GitHub

Video Captioning Tool

Free

Efficiently transcribe and translate video subtitles.

by hkuds46.9k stars on hkuds/cli-anything
1 views
Updated Aug 3, 2026
Get this skill

Free · Opens the source repo

What Video Captioning Tool does

The Video Captioning Tool is an AI-powered command-line interface designed for developers and content creators who need to transcribe speech, optimize subtitles, translate them, and burn them into videos. Built on the stable VideoCaptioner backend, this tool streamlines the entire captioning process, making it accessible and efficient. Users can easily transcribe audio from videos, translate subtitles into multiple languages, and integrate them directly into video content without extensive setup.

Installation is straightforward, requiring Python 3.10-3.12 and the videocaptioner package. Once set up, users can utilize a variety of commands to perform specific tasks. For instance, the transcribe command allows for quick conversion of spoken content into subtitle files, while the subtitle command can optimize and translate existing subtitle files. The full pipeline command process combines these functionalities for a seamless workflow, enabling users to produce finalized videos with embedded subtitles in a single step.

The tool also supports a review process, allowing users to check for consistency between the subtitles and the original script before finalizing the video. This feature is particularly useful for ensuring accuracy and quality in the final output. Additionally, the command-line interface includes a REPL mode for interactive command entry, making it user-friendly for those who prefer a hands-on approach.

This skill is particularly beneficial for video editors, content creators, and developers looking to enhance their video projects with accurate and well-translated subtitles. Whether for educational content, marketing videos, or personal projects, the Video Captioning Tool provides a comprehensive solution for modern video captioning needs.

When to use it

Use this tool when you need to quickly transcribe speech from videos, optimize subtitles for clarity, or translate subtitles into multiple languages.

When not to use it

This tool may not be suitable for users looking for a graphical interface or those who require advanced video editing features beyond captioning.

What you can build with it

Transcribing Educational Videos

Quickly transcribe lectures or tutorials into subtitles to enhance accessibility for students.

Creating Multilingual Content

Translate subtitles into multiple languages for videos aimed at a global audience.

Finalizing Video Projects

Use the review and synthesize commands to ensure subtitles are accurate before publishing your video.

How to install Video Captioning Tool

View source

1. Install with the skills CLI

npx skills add hkuds/cli-anything/cli-anything-videocaptioner --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by hkuds

cli-anything-videocaptioner

AI-powered video captioning tool. Transcribe speech → optimize subtitles → translate → burn into video.

Installation

pip install cli-anything-videocaptioner

Prerequisites:

  • Python 3.10-3.12 (videocaptioner 1.4.1 requires >=3.10,<3.13)
  • videocaptioner must be installed (pip install videocaptioner)
  • FFmpeg required for video synthesis

Usage

Basic Commands

# Show help
cli-anything-videocaptioner --help

# Start interactive REPL mode
cli-anything-videocaptioner

# Transcribe a video (free, no setup)
cli-anything-videocaptioner transcribe video.mp4 --asr bijian

# Translate subtitles (free Bing translator)
cli-anything-videocaptioner subtitle input.srt --translator bing --target-language en

# Full pipeline: transcribe → translate → burn subtitles
cli-anything-videocaptioner process video.mp4 --asr bijian --translator bing --target-language en --subtitle-mode hard

# Review subtitle/script consistency before a final hard-burn
cli-anything-videocaptioner synthesize video.mp4 -s subtitles.srt \
  --subtitle-mode hard \
  --review-script approved_script.txt

# Render a one-frame subtitle preview for review
cli-anything-videocaptioner review subtitles.srt \
  --script approved_script.txt \
  --preview-video video.mp4 \
  --preview-output review_5s.png

# JSON output (for agent consumption)
cli-anything-videocaptioner --json transcribe video.mp4 --asr bijian

REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

cli-anything-videocaptioner
# Enter commands interactively with tab-completion and history

Command Groups

transcribe — Speech to subtitles

transcribe <input> [--asr bijian|jianying|whisper-api|whisper-cpp] [--language CODE] [--format srt|ass|txt|json] [-o PATH]
  • bijian (default): Free, Chinese & English, no setup
  • whisper-api: All languages, requires --whisper-api-key

subtitle — Optimize and translate

subtitle <input.srt> [--translator llm|bing|google] [--target-language CODE] [--layout target-above|source-above|target-only|source-only] [--no-optimize] [--no-translate] [-o PATH]
  • Three steps: Split → Optimize → Translate
  • Bing/Google translators are free
  • 38 target languages supported (BCP 47 codes)

synthesize — Burn subtitles into video

synthesize <video> -s <subtitle> [--subtitle-mode soft|hard] [--quality ultra|high|medium|low] [-o PATH] [--review-script PATH] [--max-script-diff-ratio FLOAT]
  • Mirrors the stable backend synthesize surface
  • Subtitle look is controlled by the subtitle asset/backend version, not extra harness flags
  • --review-script checks subtitle/script drift before the final export
  • Lower --max-script-diff-ratio when copy accuracy matters more than resilience

process — Full pipeline

process <input> [--asr ...] [--translator ...] [--target-language ...] [--subtitle-mode ...] [--layout ...] [--no-optimize] [--no-translate] [--no-synthesize] [-o PATH]

review — Consistency check and preview

review <input.srt|input.ass> [--script PATH] [--max-diff-ratio FLOAT] [--preview-video PATH] [--preview-at TC] [--preview-output PATH]
  • Detects subtitle/script drift before a hard-burn
  • Can render a single review frame instead of producing a full final video

styles — List style presets

styles
  • Reports whether the installed backend exposes preset styling support

config — Manage settings

config show
config set <key> <value>

download — Download online video

download <URL> [-o DIR]

JSON Output

All commands support --json for machine-readable output:

cli-anything-videocaptioner --json transcribe video.mp4 --asr bijian
# {"output_path": "/path/to/output.srt"}

Backend Notes

  • The upstream backend currently requires Python >=3.10,<3.13; prefer Python 3.12 for matrix runs.
  • Advanced synthesize-time style flags are backend-version dependent. Use styles to check whether the installed backend exposes them.
  • Compatibility flags such as layout, render_mode, style, style_override, and font_file should be treated as non-stable unless styles and the installed backend confirm they are supported.

Target Languages

BCP 47 codes: zh-Hans zh-Hant en ja ko fr de es ru pt it ar th vi id and 23 more.

Frequently asked questions about Video Captioning Tool

Similar skills