A sophisticated full-stack AI-powered application for automatic video transcription, subtitle generation, and intelligent content analysis. Features local AI processing (no expensive API calls required), speaker identification, multi-language support, semantic search, visual search, audio analysis, and RAG-powered chat about your video content.
1
stars
353
commits
Python
primary language
Sep 7, 2026
updated
Local-first AI video transcription with speaker diarization, semantic search, and RAG-powered chat.
| Layer | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite, TailwindCSS, React Query |
| Backend | FastAPI, Faster Whisper, PyTorch, Pyannote, pgvector |
| Infrastructure | Supabase, Google Cloud (Run, Storage), Netlify |
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Edit with your settings
uvicorn main:app --reload --port 8000
cd frontend
npm install
npm run dev
flowchart TB
subgraph Frontend["Frontend (React)"]
UI[UI] --> API[API Client]
API --> RT[Supabase Realtime]
end
subgraph Cloud["Cloud Services"]
GCS[(GCS)]
SB[(Supabase + pgvector)]
end
subgraph Backend["Backend (FastAPI)"]
TR[Transcription] --> WH[Whisper]
SR[Speaker] --> PY[Pyannote]
CR[Chat] --> SB
CR --> LLM[LLM Providers]
end
API --> TR & SR & CR
RT <--> SB
TR --> SB
TR --> GCS
| Issue | Solution |
|---|---|
No module named 'torch' | Activate venv: source venv/bin/activate |
FFmpeg not found | Install: brew install ffmpeg (macOS) or apt install ffmpeg |
| Speaker diarization fails | Check HUGGINGFACE_TOKEN and accept pyannote terms |
| Ollama connection error | Start Ollama: ollama serve |
| Large file upload fails | Enable GCS: ENABLE_GCS_UPLOADS=true |
ai-subs/
├── frontend/ # React + TypeScript
│ ├── src/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── services/
│ │ └── types/
│ └── package.json
├── backend/ # FastAPI + ML
│ ├── routers/ # API endpoints
│ ├── services/ # Business logic
│ ├── models/ # Pydantic schemas
│ └── main.py
└── docs/ # Documentation
Contributions welcome! Please open issues or submit pull requests.
Faster Whisper | Pyannote | Ollama | CLIP | PANNs
353 commits
Python
55.6%
TypeScript
34.4%
PLpgSQL
6.0%
CSS
2.2%
Shell
1.1%
A sophisticated full-stack AI-powered application for automatic video transcription, subtitle generation, and intelligent content analysis. Features local AI processing (no expensive API calls required), speaker identification, multi-language support, semantic search, visual search, audio analysis, and RAG-powered chat about your video content.
1
stars
353
commits
Python
primary language
Sep 7, 2026
updated
Local-first AI video transcription with speaker diarization, semantic search, and RAG-powered chat.
| Layer | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite, TailwindCSS, React Query |
| Backend | FastAPI, Faster Whisper, PyTorch, Pyannote, pgvector |
| Infrastructure | Supabase, Google Cloud (Run, Storage), Netlify |
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Edit with your settings
uvicorn main:app --reload --port 8000
cd frontend
npm install
npm run dev
flowchart TB
subgraph Frontend["Frontend (React)"]
UI[UI] --> API[API Client]
API --> RT[Supabase Realtime]
end
subgraph Cloud["Cloud Services"]
GCS[(GCS)]
SB[(Supabase + pgvector)]
end
subgraph Backend["Backend (FastAPI)"]
TR[Transcription] --> WH[Whisper]
SR[Speaker] --> PY[Pyannote]
CR[Chat] --> SB
CR --> LLM[LLM Providers]
end
API --> TR & SR & CR
RT <--> SB
TR --> SB
TR --> GCS
| Issue | Solution |
|---|---|
No module named 'torch' | Activate venv: source venv/bin/activate |
FFmpeg not found | Install: brew install ffmpeg (macOS) or apt install ffmpeg |
| Speaker diarization fails | Check HUGGINGFACE_TOKEN and accept pyannote terms |
| Ollama connection error | Start Ollama: ollama serve |
| Large file upload fails | Enable GCS: ENABLE_GCS_UPLOADS=true |
ai-subs/
├── frontend/ # React + TypeScript
│ ├── src/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── services/
│ │ └── types/
│ └── package.json
├── backend/ # FastAPI + ML
│ ├── routers/ # API endpoints
│ ├── services/ # Business logic
│ ├── models/ # Pydantic schemas
│ └── main.py
└── docs/ # Documentation
Contributions welcome! Please open issues or submit pull requests.
Faster Whisper | Pyannote | Ollama | CLIP | PANNs
353 commits
Python
55.6%
TypeScript
34.4%
PLpgSQL
6.0%
CSS
2.2%
Shell
1.1%