Snapture
This takes in live recording of video from home users and influencers and provides live feedback for them through passing into the Gemini Live API.
Core trick
Streams webcam audio and video over WebSocket to the Gemini Live API, relaying spoken coaching back to the creator.
Description
This takes in live recording of video from home users and influencers and provides live feedback for them through passing into the Gemini Live API.
README excerpt
# Snapture 🎬 Real-time video coaching app powered by Gemini Live API. Create TikTok/Reels-style shorts with AI-powered live feedback. ## Architecture ``` ┌─────────────┐ WebSocket ┌─────────────┐ WebSocket ┌─────────────┐ │ Frontend │ ←─────────────────→ │ Backend │ ←─────────────────→ │ Gemini Live │ │ (React/TS) │ audio/video │ (FastAPI) │ audio/video │ API │ └─────────────┘ └─────────────┘ └─────────────┘ ``` ## Quick Start ### Prerequisites - Node.js 18+ - Python 3.11+ - Google API Key with Gemini access ### 1. Backend Setup ```bash cd server pip install -r requirements.txt cp .env.example .env # Edit .env and add your GOOGLE_API_KEY python main.py ``` Server runs on http://localhost:8000 ### 2. Frontend Setup ```bash # From project root npm install npm run dev ``` App runs on http://localhost:5173 ### 3. Usage 1. Open the app in your browser 2. Click **Connect** to establish WebSocket connection 3. Click **Start Streaming** to share camera/mic 4. Speak to the camera - Gemini will provide real-time coaching! ## Environment Variables ### Frontend (`.env`) | Variable | Default | Description | |----------|---------|-------------| | `VITE_PORT` | `5173` | Dev server port | | `VITE_WS_URL` | `ws://localhost:8000/ws` | Backend WebSocket URL | ### Backend (`server/.env`) | Variable | Default | Description | |----------|---------|-------------| | `GOOGLE_API_KEY` | - | *