How maktail/gemini-srt-translator works
Gemini SRT Translator accepts subtitle or media jobs through its CLI or Python API, then translates subtitles or transcribes audio/video with Gemini and writes subtitle output. The agent interface exposes translation as resumable batches; sessions preserve progress and subtitle formatting. Media preparation, model discovery, logging, and agent-skill management are additional capabilities. Edges are limited to relationships shown in excerpts, the source index, or README; some documented capabilities have no sampled implementation details.
Main entry points: main.py Translation and transcription engine · cli.py Command-line interface · __init__.py Python API · session.py Subtitle session
Components 16
User Interfaces
- Command-line interface
gemini_srt_translator/cli.py - Python API
gemini_srt_translator/__init__.py - Agent batch interface
gemini_srt_translator/agent_cli.py - Agent skill management
gemini_srt_translator/skill.py
Translation Runtime
- Translation and transcription engine
gemini_srt_translator/main.py - Subtitle session
gemini_srt_translator/session.py - Instruction generation
gemini_srt_translator/helpers.py - Transcription session
gemini_srt_translator/session.py
Media Processing
- FFmpeg media tools
gemini_srt_translator/ffmpeg_utils.py
Supporting Capabilities
- Model discovery
gemini_srt_translator/cli.py - Progress and thought logs
gemini_srt_translator/logger.py - Version and utility functions
gemini_srt_translator/utils.py
Other components
- User
- Google Gemini services
- Subtitle files and progress
- Audio and video files
Connections 20
- User → Command-line interface: runs commands
README.md - User → Python API: configures jobs
README.md - Command-line interface → Python API: configures and invokes
gemini_srt_translator/cli.py - Command-line interface → Agent batch interface: dispatches agent commands
gemini_srt_translator/cli.py - Command-line interface → Agent skill management: dispatches skill commands
gemini_srt_translator/cli.py - Python API → Translation and transcription engine: constructs and invokes
gemini_srt_translator/__init__.py - Translation and transcription engine → Google Gemini services: requests model information
gemini_srt_translator/main.py - Translation and transcription engine → Instruction generation: generates instructions
gemini_srt_translator/main.py - Translation and transcription engine → Subtitle session: uses session state
gemini_srt_translator/main.py - Translation and transcription engine → Transcription session: commits transcription chunks
gemini_srt_translator/main.py - Subtitle session → Subtitle files and progress: reads and writes progress
gemini_srt_translator/session.py - Transcription session → Subtitle files and progress: saves transcription progress
- Agent batch interface → Subtitle session: gets batches and commits
gemini_srt_translator/agent_cli.py - Translation and transcription engine → FFmpeg media tools: uses media extraction
gemini_srt_translator/main.py - FFmpeg media tools → Audio and video files: extracts audio
gemini_srt_translator/ffmpeg_utils.py - Translation and transcription engine → Subtitle files and progress: writes translated subtitles
README.md - Translation and transcription engine → Google Gemini services: translates and transcribes
README.md - Command-line interface → Model discovery: lists available models
README.md - Translation and transcription engine → Progress and thought logs: reports progress
gemini_srt_translator/main.py - Command-line interface → Version and utility functions: uses version utilities