Overview
This page documents all dependencies required by the AI Video Presentation Generator, including their versions, purposes, and important notes.Backend Dependencies (Python)
All backend dependencies are listed inbackend/requirements.txt.
Core Framework
| Package | Version | Purpose |
|---|---|---|
| fastapi | 0.115.0 | Modern, fast web framework for building APIs with Python |
| uvicorn | 0.32.0 | Lightning-fast ASGI server for running FastAPI applications |
| python-multipart | 0.0.12 | Support for form data and file uploads in FastAPI |
FastAPI was chosen for its excellent async support, automatic API documentation, and high performance.
AI & Content Generation
| Package | Version | Purpose |
|---|---|---|
| google-generativeai | 0.8.3 | Google Gemini API for AI-powered content and script generation |
- Free tier with generous quotas
- Excellent content understanding and generation
- Structured output support for JSON responses
- Multi-modal capabilities (future enhancement)
Video & Animation Processing
| Package | Version | Purpose |
|---|---|---|
| manim | 0.18.1 | Mathematical Animation Engine for creating programmatic animations |
| moviepy | ≥2.0.0 | Video editing library for composing slides, audio, and animations |
| Pillow | ≥10.0.0 | Python Imaging Library for slide image creation and manipulation |
Utilities & Configuration
| Package | Version | Purpose |
|---|---|---|
| python-dotenv | 1.0.1 | Load environment variables from .env files |
| pydantic | 2.9.2 | Data validation using Python type annotations |
| requests | 2.32.3 | HTTP library for API calls (Unsplash, Sarvam AI) |
Frontend Dependencies (Node.js)
All frontend dependencies are listed infrontend/package.json.
Core Framework
| Package | Version | Type | Purpose |
|---|---|---|---|
| react | 19.1.1 | Production | UI library for building interactive components |
| react-dom | 19.1.1 | Production | React renderer for web browsers |
| vite | 7.1.7 | Development | Next-generation frontend build tool with HMR |
| @vitejs/plugin-react | 5.0.4 | Development | Official Vite plugin for React Fast Refresh |
UI & Styling
| Package | Version | Type | Purpose |
|---|---|---|---|
| tailwindcss | 4.1.14 | Development | Utility-first CSS framework |
| @tailwindcss/vite | 4.1.14 | Production | Tailwind CSS integration for Vite |
| lucide-react | 0.545.0 | Production | Beautiful, consistent icon library |
- Rapid UI development
- Consistent design system
- Small bundle size with purging
- Responsive design utilities
Features & Functionality
| Package | Version | Type | Purpose |
|---|---|---|---|
| axios | 1.12.2 | Production | HTTP client for API requests |
| @hello-pangea/dnd | 18.0.1 | Production | Drag-and-drop for slide reordering |
| pptxgenjs | 4.0.1 | Production | PowerPoint export functionality |
| gif.js | 0.2.0 | Production | GIF generation for preview thumbnails |
Development Tools
| Package | Version | Purpose |
|---|---|---|
| eslint | 9.36.0 | JavaScript/React linting |
| eslint-plugin-react-hooks | 5.2.0 | Enforce React Hooks rules |
| eslint-plugin-react-refresh | 0.4.22 | Ensure HMR compatibility |
| @types/react | 19.1.16 | TypeScript type definitions for React |
| @types/react-dom | 19.1.9 | TypeScript type definitions for ReactDOM |
| autoprefixer | 10.4.21 | Add vendor prefixes to CSS |
| postcss | 8.5.6 | CSS transformation tool |
System Dependencies
These must be installed separately on your system.FFmpeg
Version Required: Latest stable (6.0+) Purpose:- Video encoding and decoding
- Audio processing and merging
- Format conversion
- Video composition
- Download from https://ffmpeg.org/download.html
- Add to system PATH
- Industry-standard video processing
- Supports all common formats
- Excellent compression
- Command-line interface integrates well with MoviePy
Manim Dependencies
Manim requires additional system libraries:| Dependency | Purpose |
|---|---|
| LaTeX | Math equation rendering |
| Cairo | 2D graphics rendering |
| Pango | Text layout and rendering |
These are typically installed automatically with Manim on Windows. On Linux, you may need to install them separately.
External APIs
The project relies on these external services:Google Gemini API
Purpose: AI content and script generation API Key Required: Yes (free tier available) Get API Key: https://makersuite.google.com/app/apikey Rate Limits:- 60 requests per minute (free tier)
- Sufficient for development and moderate usage
Sarvam AI (Text-to-Speech)
Purpose: Multi-language voice narration API Key Required: Yes Model Used:bulbul:v1
Supported Languages:
- English
- Hindi
- Tamil
- Telugu
- Kannada
- Malayalam
- Bengali
- Marathi
- Gujarati
- Excellent support for Indian languages
- Natural-sounding voices
- Good pronunciation of technical terms
Unsplash API
Purpose: High-quality stock images for slides API Key Required: Yes (free tier available) Get API Key: https://unsplash.com/developers Rate Limits:- 50 requests per hour (free tier)
- Sufficient for typical usage
- High-quality, curated images
- Free for development
- Good search relevance
- No watermarks
Dependency Installation
Quick Install (All at Once)
Backend:Updating Dependencies
Backend:Development vs Production
Backend
No difference - same dependencies for both environments.Frontend
- Development: Uses Vite dev server with HMR
- Production: Build with
npm run buildcreates optimized static files
Troubleshooting Dependencies
pip install fails on Windows
pip install fails on Windows
Try installing Microsoft Visual C++ Build Tools:
Manim installation issues
Manim installation issues
Manim has complex dependencies. If it fails:
- Ensure you have Visual C++ Build Tools
- Try installing Manim Community Edition:
pip install manim - Check Manim documentation for platform-specific guides
npm install takes too long
npm install takes too long
Use a faster package manager:
MoviePy FFmpeg errors
MoviePy FFmpeg errors
MoviePy requires FFmpeg in PATH:
Next Steps
Setup Guide
Return to the development setup guide
Troubleshooting
Common issues and solutions