This utility uses Google Gemini to generate subtitles to audio and video files.
ffmpeg needs to be installed for audio extraction.
- Extract the audio from the video
- Send the audio to Gemini for transcription
- Backup the existing subtitle
- Save the new subtitle
-
Export the API key for Gemini to the environment variable
GEMINI_API_KEYor specify it in the command line with the flag--api-key. -
ffmpegneeds to be installed (brew install ffmpeg,apt-get install ffmpegordnf install ffmpeg) -
Ensure
uvinstalls its dev dependencies withuv sync --extra dev.
pip install subtitle-toolFor local development it is useful to install the binary from the development
location into the user's PATH. For this, run the following commands:
uv tool install -e .
uv tool update-shell- Subtitle files with the defaults:
subtitle-tool video.avi
subtitle-tool audio.mp3- Usage options:
Usage: subtitle-tool [OPTIONS] MEDIAFILE
Generate subtitles for a media file
Options:
--api-key TEXT Google Gemini API key
-m, --ai-model TEXT Gemini model to use [default:
gemini-2.5-flash]
-s, --subtitle-path TEXT Subtitle file name [default: MEDIAFILE.srt]
-v, --verbose Enable debug logging for subtitle_tool
modules
-d, --debug Enable debug logging for all modules
-k, --keep-temp-files Do not erase temporary files
-l, --audio-segment-length INTEGER
Length of audio segments to be subtitled in
seconds [default: 30]
-p, --parallel-segments INTEGER
Number of segments subtitled in parallel
[default: 5]
--help Show this message and exit.