
Video Captioning Tool
FreeEfficiently transcribe and translate video subtitles.
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 source1. Install with the skills CLI
npx skills add hkuds/cli-anything/cli-anything-videocaptioner --agent claude-code2. 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 hkudscli-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 (
videocaptioner1.4.1 requires>=3.10,<3.13) videocaptionermust 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 setupwhisper-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-scriptchecks subtitle/script drift before the final export- Lower
--max-script-diff-ratiowhen 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 Python3.12for matrix runs. - Advanced synthesize-time style flags are backend-version dependent. Use
stylesto check whether the installed backend exposes them. - Compatibility flags such as
layout,render_mode,style,style_override, andfont_fileshould be treated as non-stable unlessstylesand 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
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
