| name | videolizer |
| description | Generate SRT subtitles from text and audio using Whisper or basic timing. |
| requires_bins | python3,ffmpeg |
| requires_env | GEMINI_API_KEY |
Subtitle Generator
Generate .srt subtitle files from script text + audio.
Trigger Phrases
- "生成字幕"
- "subtitle generation"
- "SRT file"
- "add subtitles"
- "字幕文件"
- "转字幕"
Requirements
pip install moviepy
pip install openai-whisper
Modes
| Mode | Tool | Quality |
|---|
| whisper | openai-whisper | Word-level timestamps, high accuracy |
| basic | moviepy | Even distribution, fallback |
Auto-detection: uses whisper if installed, falls back to basic mode.
Usage
python3 -m videolizer subtitles --text script.txt --audio voice.wav --out subs.srt
whisper voice.wav --output_format srt --output_dir ./
python3 -c "
from moviepy.editor import AudioFileClip
audio = AudioFileClip('voice.wav')
duration = audio.duration
print(f'Audio duration: {duration}s')
"
Workflow
- Write script text file
- Generate audio via TTS or recording
- Generate subtitles with this skill
- Burn subtitles into video with
ffmpeg:
ffmpeg -i video.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4
Environment Variables
| Variable | Default | Purpose |
|---|
VIDEOLIZER_MODE | auto | auto / whisper / basic |
WHISPER_MODEL | base | Whisper model size |
WORDS_PER_GROUP | 3 | Words per subtitle entry |
Fallback Behavior
If whisper fails:
- Log warning
- Switch to basic mode
- Spread words evenly across audio duration
- Never crash — always produce a valid SRT