Speech & TranscriptionDocumentedScanned

video-subtitles

Generate SRT subtitles from video/audio with translation support.

Share:

Installation

npx clawhub@latest install video-subtitles

View the full skill documentation and source below.

Documentation

Video Subtitles

Generate movie-style subtitles from video or audio files. Supports transcription, translation, and burning subtitles directly into video.

Features

  • Hebrew: ivrit.ai fine-tuned model (best Hebrew transcription)
  • English: OpenAI Whisper large-v3
  • Auto-detect: Automatically detects language and selects best model
  • Translation: Translate Hebrew → English
  • Burn-in: Hardcode subtitles into video (visible everywhere, including WhatsApp)
  • Movie-style: Natural subtitle breaks (42 chars/line, 1-7s duration)

Quick Start

# Plain transcript
./scripts/generate_srt.py video.mp4

# Generate SRT file
./scripts/generate_srt.py video.mp4 --srt

# Burn subtitles into video (always visible)
./scripts/generate_srt.py video.mp4 --srt --burn

# Translate to English + burn in
./scripts/generate_srt.py video.mp4 --srt --burn --translate en

# Force language
./scripts/generate_srt.py video.mp4 --lang he    # Hebrew
./scripts/generate_srt.py video.mp4 --lang en    # English

Options

FlagDescription
--srtGenerate SRT subtitle file
--burnBurn subtitles into video (hardcoded, always visible)
--embedEmbed soft subtitles (toggle in player)
--translate enTranslate to English
--lang he/enForce input language
-o FILECustom output path

Output

  • Default: Plain text transcript to stdout
  • With --srt: Creates video.srt alongside input
  • With --burn: Creates video_subtitled.mp4 with hardcoded subs

Requirements

  • uv: Python package manager (auto-installs dependencies)
  • ffmpeg-full: For burning subtitles (brew install ffmpeg-full)
  • Models: ~3GB each, auto-downloaded on first use

Subtitle Style

  • Font size 12, white text with black outline
  • Bottom-aligned, movie-style positioning
  • Max 42 chars/line, 2 lines max
  • Natural breaks at punctuation and pauses