Cli Anything Videocaptioner

by hkuds34f519533bc1No licenseListed Oct 8, 2026Updated Oct 8, 2026

AI-powered video captioning — transcribe speech, optimize/translate subtitles, and burn them into video via the stable VideoCaptioner backend. Free ASR and translation included.

Instructions onlyDesign & Creative
AI-generated overview

CLI tool that transcribes video speech, optimizes and translates subtitles, and burns them into video.

What it does
Wraps the VideoCaptioner backend in a command-line interface with transcribe, subtitle, synthesize, process, review, styles, config, and download commands. It converts speech to SRT/ASS/TXT/JSON subtitles, splits, optimizes and translates subtitle files into 38 target languages, and renders subtitles into video in soft or hard mode. A review command checks subtitle/script drift and can render a single preview frame, and all commands support JSON output for agent consumption.
When to use it
Use it when you need to caption a video end to end: generating subtitles from audio, translating or cleaning existing subtitle files, or burning subtitles into a video. It also fits workflows that need a consistency check between an approved script and subtitles before a final hard-burn.
Requirements
Python 3.10-3.12 (3.12 preferred), the videocaptioner package, and FFmpeg for video synthesis. Install via pip. Some ASR options (whisper-api) require an API key; Bing and Google translation and the bijian ASR are described as free. Network access is needed for online video download and online translators. Ships no scripts; instructions only.

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 helpcli-anything-videocaptioner --help
# Start interactive REPL modecli-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 subtitlescli-anything-videocaptioner process video.mp4 --asr bijian --translator bing --target-language en --subtitle-mode hard
# Review subtitle/script consistency before a final hard-burncli-anything-videocaptioner synthesize video.mp4 -s subtitles.srt \  --subtitle-mode hard \  --review-script approved_script.txt
# Render a one-frame subtitle preview for reviewcli-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 showconfig 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.

Source and attribution

Source:hkuds/cli-anythinginskills/cli-anything-videocaptionerat commit34f5195

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal