Generate Professional Presentations in Seconds using AI.
AutoPPT combines the power of advanced LLMs (OpenAI, Anthropic, Google) with real-time web research to create structured, researched, and visually styled PowerPoint presentations automatically.
- 🧱 Hierarchical Sectioning: Structures content into logical sections and chapters.
- 🎨 8 Visual Themes: Technology, Nature, Creative, Minimalist, Corporate, Academic, Startup, Dark.
- 🤖 Research-Driven Content: DuckDuckGo + Wikipedia integration for accurate data.
- 📊 Chart Generation: Automatic bar, pie, line, and column charts.
- 🖼️ Smart Visuals: Integrated image search with intelligent layout.
- 🔌 Multi-Provider Support: OpenAI, Google Gemini, Anthropic Claude.
- 🌐 Web UI: Streamlit-based interface for easy generation.
- 🧪 Mock Provider: Test without API keys using
--provider mock. - 📈 Progress Indicators: Real-time progress bars during generation.
- ✅ Test Coverage: Comprehensive pytest test suite.
From PyPI:
pip install autopptFrom source:
git clone https://github.com/yeasy/autoppt.git
cd autoppt
pip install .cp .env.example .env
# Add your API keys (at least one for real generation)
# OPENAI_API_KEY=sk-...
# GOOGLE_API_KEY=AIza...
# ANTHROPIC_API_KEY=sk-ant-...# Generate with default settings
autoppt --topic "The Future of AI"
# Use Google Gemini with dark theme
autoppt --topic "Planets in Solar System" --provider google --style darkstreamlit run autoppt/app.pyThen open http://localhost:8501 in your browser.
AutoPPT includes a beautiful Streamlit-based web UI:
- Easy Configuration: Select provider, model, theme, and language
- Real-time Progress: See generation progress as it happens
- Direct Download: Download your PPTX immediately after generation
- No Coding Required: Perfect for non-technical users
| Flag | Description | Default |
|---|---|---|
--topic |
The presentation subject. | Required |
--provider |
AI backend: openai, google, anthropic, mock. |
openai |
--model |
Specific model name. | Provider default |
--slides |
Target number of slides. | 10 |
--language |
Output language. | English |
--style |
Visual theme (see below). | minimalist |
--output |
Custom output file path. | output/<topic>.pptx |
-v |
Enable debug logging. | false |
| Theme | Style |
|---|---|
minimalist |
Clean grayscale |
technology |
Dark blue with gradient |
nature |
Earthy greens |
creative |
Vibrant colors |
corporate |
Professional blue |
academic |
Traditional maroon |
startup |
Modern orange |
dark |
Cyan on dark with gradient |
luxury |
Gold on dark, elegant ✨ |
magazine |
Crimson accents, editorial style |
tech_gradient |
Indigo to purple gradient |
ocean |
Deep blue gradient |
sunset |
Warm orange to pink gradient |
# Run all tests
pytest
# Run with coverage report
pytest --cov=autoppt --cov-report=term-missing
# Run specific test file
pytest tests/test_renderer.py -v- AI & Technology (CN)
- Healthy Living (CN)
- Renaissance Art (CN)
- AI & Technology (EN)
- Healthy Living (EN)
- Renaissance Art (EN)
- Fork the repository
- Create your feature branch:
git checkout -b feature/awesome - Run tests & safety audit:
pytest && python3 scripts/check_sensitive.py - Commit changes:
git commit -m "feat: Add awesome feature" - Push:
git push origin feature/awesome - Open a Pull Request
Apache 2.0 - See LICENSE
See CHANGELOG.md