| Mode | Name | Last commit | Updated | Size |
|---|---|---|---|---|
| .DS_Store | first commit | 5 months ago | 6 KB | |
| .gitignore | start of a new era | 5 months ago | 27 B | |
| README.md | readme | 5 months ago | 1.63 KB | |
| app.py | mycket förändingar | 4 months ago | 26.66 KB | |
| fonts | mycket förändingar | 4 months ago | ||
| index.html | small change | 4 months ago | 109.01 KB | |
| install.sh | mycket förändingar | 4 months ago | 974 B | |
| requirements.txt | first commit | 5 months ago | 68 B | |
| start.sh | mycket förändingar | 4 months ago | 332 B |
README.md
SubTok
A local web app for transcribing video/audio and generating styled subtitles — optimized for short-form content (TikTok, Reels, Shorts).
Features
- Transcription via OpenAI Whisper — runs locally, no API key needed
- Subtitle export — SRT and ASS formats with word-level timing
- Karaoke-style word highlight — animated word-by-word highlighting in ASS format
- Burn subtitles into video — powered by ffmpeg
- Highlight detection — pick the best segments automatically, optionally using Claude AI
- Video cropping — crop to 9:16, 1:1, 4:5, or 16:9 with adjustable framing
- GIF overlay search — search and embed GIFs via Giphy
Requirements
- Python 3.9+
- ffmpeg installed and available in PATH
Quick start
./start.sh
The script creates a virtual environment on first run, installs dependencies, and opens the app at http://localhost:8000.
Whisper models
| Model | Speed | Accuracy |
|---|---|---|
| tiny | Fastest | Lower |
| base | Fast | Good |
| small | Medium | Better |
| medium | Slow | High |
| large | Slowest | Best |
The model is downloaded automatically on first use.
Optional: Claude AI for highlight detection
Add your Anthropic API key in the app UI to use Claude for smarter highlight selection. Falls back to local scoring if no key is provided.
Project structure
app.py — FastAPI backend
index.html — Frontend (single-page app)
requirements.txt
start.sh — Setup and launch script