This project is an AI-powered educational video generator that creates animated videos with voice narration based on user prompts. It uses manim.js for animations, Eleven Labs for voice generation, and Gemini 2.0 Flash for script generation.
- Generate educational videos from natural language prompts
- Create animated visualizations using manim.js
- Generate high-quality voice narration with Eleven Labs
- Store and serve videos using Supabase
- Frontend: Next.js, Chakra UI
- Animation: manim.js, p5.js
- Voice Generation: Eleven Labs
- Script Generation: Gemini 2.0 Flash
- Video Processing: FFmpeg
- Storage: Supabase
- Node.js 18+ and npm
- FFmpeg installed on your system
- Gemini API key
- Eleven Labs API key
- Supabase account and project
- Clone the repository
- Install dependencies:
npm install - Set up environment variables in
.env.local:ELEVEN_LABS_API_KEY=your_eleven_labs_api_key GEMINI_API_KEY=your_gemini_api_key NEXT_PUBLIC_SUPABASE_URL=your_supabase_url SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key - Run the development server:
npm run dev
- User enters a prompt for an educational video
- Gemini 2.0 Flash generates a script with timeline
- The script is used to generate manim.js animation code
- Eleven Labs generates voice narration for the script
- The animation and voice are combined into a video
- The video is stored in Supabase and returned to the user
app/- Next.js application filesapi/- API routescomponents/- React components
lib/- Utility librariesai/- AI script generation utilitiesmanim/- manim.js animation utilitiesvideo/- Video composition utilitiesvoice/- Voice generation utilities
This project is licensed under the MIT License.