cli-anything-videocaptioner — Claude Code skill: setup and features
Transcribes speech, translates subtitles into 38 languages, and burns captions into video using the VideoCaptioner backend. Useful when preparing video assets directly from the terminal.
npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a claude-codeWhat cli-anything-videocaptioner does
This skill gives your agent CLI access to cli-anything-videocaptioner for video subtitling. It handles speech recognition via the default free bijian engine or Whisper, splits and translates lines into 38 languages with Bing or Google, and hard-burns or soft-burns captions into the media container. Agents can pass --json to receive structured machine-readable responses.
The review command checks drift against an approved transcript via --review-script and can render a single preview frame instead of encoding the entire video. That saves processing time if speech recognition mistranscribes technical terms.
The upstream videocaptioner 1.4.1 backend strictly requires Python 3.10 to 3.12, so higher versions will fail. You also need FFmpeg installed on your machine for video synthesis. Subtitle styling depends on backend capabilities, which can be checked beforehand with styles.
What it helps with
- transcribe speech from video files into SRT, ASS, or TXT formats
- translate subtitles into 38 target languages via Bing or Google
- verify subtitle consistency against an approved text script
- render a one-frame preview to check subtitle appearance before exporting
- burn soft or hard subtitles into videos using FFmpeg
Example prompts for the agent
- Transcribe video.mp4 using the bijian ASR engine and output to SRT format
- Translate input.srt to German using the Bing translator and keep only the target language
- Check subtitles.srt against approved_script.txt and generate a preview frame from video.mp4 at 5 seconds
How to install cli-anything-videocaptioner
1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a claude-code2Manually: put the files in place
~/.claude/skills/cli-anything-videocaptioner/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cli-anything-videocaptioner/
1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a codex2Manually: put the files in place
.agents/skills/cli-anything-videocaptioner/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a cursor2Manually: put the files in place
.cursor/skills/cli-anything-videocaptioner/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install HKUDS/CLI-Anything cli-anything-videocaptioner2Manually: put the files in place
.github/skills/cli-anything-videocaptioner/SKILL.md1Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a gemini-cli2Platform CLI
gemini skills install https://github.com/HKUDS/CLI-Anything --path skills/cli-anything-videocaptionerManually: put the files in place
.devin/skills/cli-anything-videocaptioner/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set18
The whole set →Similar
Questions about cli-anything-videocaptioner
How do I install cli-anything-videocaptioner in Claude Code?
Run npx skills add HKUDS/CLI-Anything --skill cli-anything-videocaptioner -a claude-code. You also need Python packages via pip install cli-anything-videocaptioner and pip install videocaptioner.
What does cli-anything-videocaptioner do?
It automates speech transcription, subtitle translation across 38 languages, script drift checks, and video subtitle burning.
What prerequisites are required?
The backend requires Python 3.10-3.12 (with Python 3.12 preferred) and FFmpeg installed on your system for video rendering.
Source text
SKILL.md · Apache-2.0
---
name: "cli-anything-videocaptioner"
description: >-
AI-powered video captioning — transcribe speech, optimize/translate subtitles, and burn them into video via the stable VideoCaptioner backend. Free ASR and translation included.
---
# cli-anything-videocaptioner
AI-powered video captioning tool. Transcribe speech → optimize subtitles → translate → burn into video.
## Installation
```bash
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
```bash
# 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:
```bash
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:
```bash
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.
© HKUDS · Apache-2.0 · HKUDS/CLI-Anything