Skip to content

Repository files navigation

🎓 AI PPT Generator

An AI-powered presentation generator built with Python that creates professional college presentations using Groq/Llama AI, Reveal.js, and python-pptx.

Built by Pavan B C — CSE Student, DSATM Bengaluru (VTU)


✨ Features

  • 🤖 AI Content Generation — Groq/Llama 3.3 70B generates slide content automatically
  • 🎨 15 Premium Themes — Dark Pro, Neon Cyber, Galaxy, Dracula, Ocean & more
  • 📐 12 Templates — Academic, Tech/CS, Research, Business, Conference & more
  • 12 Transitions — Fade, Zoom, Cube, Convex, Glitch, Particles & more
  • 🔤 12 Font Families — Including Times New Roman, Calibri, Fira Code & more
  • 📄 PDF Notes Support — Upload your own notes as AI reference (PyMuPDF)
  • 🖼️ Unique Images Per Slide — Curated Unsplash photos, different for every slide
  • 📧 Email Notification — Gmail SMTP sends PDF + PPTX to your phone
  • 📥 3 Output Formats — HTML (animated), PPTX (college submission), PDF (shareable)
  • 🏫 DSATM Branding — College name, member names, USNs, guide details on front page
  • 📋 Custom Structure — Paste your college's PPT structure and AI follows it exactly

🚀 Quick Start

1. Clone the repo

git clone https://github.com/PavanCodeNexus/AI-PPT-Generator.git
cd AI-PPT-Generator

2. Install dependencies

pip install -r requirements.txt

3. Add API keys in config.py

GROQ_API_KEY   = "your_groq_key"       # Free at console.groq.com
GEMINI_API_KEY = "your_gemini_key"     # Free at aistudio.google.com
EMAIL_ADDRESS  = "your@gmail.com"
EMAIL_PASSWORD = "your_app_password"   # Gmail App Password

4. Run

python ppt_agent.py

📁 Project Structure

AI-PPT-Generator/
├── ppt_agent.py          # Main entry point
├── config.py             # API keys & settings
├── slide_generator.py    # Groq AI → slide content (JSON)
├── pdf_reader.py         # Extract text from PDF notes
├── html_builder.py       # Reveal.js HTML generator
├── pptx_builder.py       # python-pptx .pptx builder
├── pdf_exporter.py       # HTML → PDF export
├── image_fetcher.py      # Unique Unsplash images per slide
├── themes.py             # 15 theme color configs
├── templates.py          # 12 template structures
├── typography.py         # 12 fonts, 8 styles, 3 size presets
├── email_notifier.py     # Gmail SMTP notification
├── requirements.txt
└── output/               # Generated files saved here
    ├── presentation.html
    ├── presentation.pptx
    └── presentation.pdf

🎨 Themes Preview

Theme Style
Dark Pro Black + cyan neon
Neon Cyber Purple + pink glow
Galaxy Space black + blue
Dracula Classic dev dark
Ocean Deep blue + teal
Matrix Black + green terminal
Rose Gold Dark + gold pink
Light Clean White minimal
...and 7 more

📊 Output Example

╔══════════════════════════════════════════════╗
║       🎓 AI PPT AGENT — by Pavan B C        ║
║   Dayananda Sagar Academy of Technology     ║
║       and Management, Bengaluru             ║
╚══════════════════════════════════════════════╝

📌 Topic: Machine Learning in Healthcare
🔢 Slides: 12
👥 Members: Pavan B C | 1DS23CS080
👨‍🏫 Guide: Prof. Name — Department
🎨 Theme: Neon Cyber | Transition: Zoom

✅ 12 slides generated
🖼️  Images ready: 12/12
🎨 HTML saved → output/presentation.html
📊 PPTX saved → output/presentation.pptx
📄 PDF saved  → output/presentation.pdf
📱 Email sent → pavan@gmail.com

🛠️ Tech Stack

Tool Purpose
Python 3.10+ Core language
Groq / Llama 3.3 70B AI content generation
Google Gemini AI fallback
Reveal.js Animated HTML presentations
python-pptx PowerPoint generation
PyMuPDF PDF notes extraction
Unsplash Slide images
Gmail SMTP Email notifications

📬 Get Free API Keys

  • Groq (primary AI): console.groq.com — Free tier: 100k tokens/day
  • Gemini (fallback): aistudio.google.com — Free
  • Gmail App Password: Google Account → Security → App Passwords

👨‍💻 Author

Pavan B C


📄 License

MIT License — free to use and modify.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages