🎬 VerbaVista-AI ( 🌐Live Demo )
YouTube Content Synthesizer using Gemini + LangChain + Streamlit

🚀 Transform any YouTube video into structured notes or an interactive chatbot powered by Google Gemini and LangChain.
VidSynth AI is a Generative AI application that automatically fetches a YouTube video transcript, translates it (if needed), and turns it into:
- 🧠 Structured Notes – AI-generated, topic-wise summaries
- 💬 Interactive Chatbot – Ask questions directly about the video content
It’s built using LangChain, Google Gemini 2.5 Flash, and Streamlit, enabling seamless text extraction, translation, chunking, and contextual question answering — all in one elegant app.
| Feature | Description |
|---|---|
| 🎥 YouTube Transcript Fetching | Automatically extracts video transcripts in multiple languages using YouTubeTranscriptApi. |
| 🌐 Multilingual Translation | Uses Gemini LLM to translate transcripts into English while preserving tone and meaning. |
| 🧩 Chunking & Embeddings | Splits long transcripts and creates embeddings using GoogleGenerativeAIEmbeddings. |
| 💾 Vector Store (RAG) | Stores embeddings in a Chroma vector database for fast, context-based retrieval. |
| 🗂️ AI Notes Generator | Creates structured, human-readable notes using LLM prompting. |
| 💬 Chat with Video | Chatbot mode lets users ask natural language questions about any video content. |
| 🧠 Exponential Backoff Handling | Handles Google API quota limits gracefully with retry logic. |
| Category | Tools / Libraries |
|---|---|
| 💡 LLM | Gemini 2.5 Flash Lite via LangChain |
| 🧩 Frameworks | LangChain, Streamlit |
| 🔤 Embeddings | GoogleGenerativeAIEmbeddings |
| 🗄️ Vector DB | Chroma |
| 🎞️ Transcript Extraction | YouTubeTranscriptApi |
| ⚙️ Other Utilities | dotenv, regex, time, google.api_core.exceptions |
git clone https://github.com/SannidhyaDas/VerbaVista-AI.git
cd VerbaVista-AIpip install -r requirements.txtCreate a .env file in the root directory with your Google API Key:
GOOGLE_API_KEY=your_google_api_key_here🔑 You can get your key from Google AI Studio
streamlit run app.pyThen open your browser at the link Streamlit provides (usually http://localhost:8501).
🔹 Step 1: Transcript Extraction - Extracts the video’s transcript (in any supported language) using the YouTubeTranscriptApi.
🔹 Step 2: Translation (Optional) - If the video is not in English, Gemini translates the transcript with cultural and linguistic precision.
🔹 Step 3: Processing Options
- Notes Mode → Extracts key topics and generates structured, concise notes.
- Chat Mode → Creates embeddings, stores them in Chroma DB, and launches a Retrieval-Augmented Generation (RAG) chatbot.
🔹 Step 4: RAG-based Question Answering - When chatting, user queries are matched against the video transcript via embeddings → Gemini answers using only retrieved context.
VerbaVista-AI/
│
├── assets/ # Streamlit web interface
│ ├── appInterface_1.png # Chat with Video example
│ ├── appInterface_2.png # Notes from the video example
│ └── VerbaVista-pipeline # working pipeline
│
├── deployment/ # Streamlit deployment setup
│ ├── requirements.txt # Python dependencies
│ ├── main.py # Core logic and LLM pipelines
│ └── app.py # Streamlit user interface
│
├── localhost/ # setup to run app locally
│ ├── requirements.txt # Python dependencies
│ ├── main.py # Core logic and LLM pipelines
│ └── app.py # Streamlit user interface
│
└── README.md # Project documentation

