AI-powered presentation generation from topics or PDFs. Beautiful slides in minutes, not hours.
- 🎨 Dual Output Modes - HTML slides or PNG images with Gemini AI
- 📄 Flexible Input - Generate from topics or PDF documents
- 🎯 Smart Figure Matching - Auto-extracts and matches figures to slides (Image mode + PDF)
- 📊 Quality Evaluation - AI-powered assessment and improvement
- 🚀 REST API - Full programmatic access
git clone https://github.com/genmini-ai/OpenCanvas.git
cd OpenCanvas
pip install -e .cp .env.example .env
# Add your ANTHROPIC_API_KEY (required for both modes)
# Add your GEMINI_API_KEY (required for Image mode)Get API keys:
- Anthropic: console.anthropic.com
- Gemini: aistudio.google.com
🔥 Image Mode (PNG slides with AI-generated visuals)
# From a topic
opencanvas generate "quantum computing" \
--output-format image \
--theme minimalist
# From a PDF (with automatic figure extraction & matching)
opencanvas generate "https://arxiv.org/pdf/2412.06769" \
--output-format image \
--theme minimalistAvailable themes:
minimalist(tested),academic,corporate,creative,tech,cartoonExample presentations: Minimalist theme | Cartoon theme PDF
Image mode: AI-generated slide with automatically extracted and matched figures from research paper
HTML Mode (Default)
# From a topic
opencanvas generate "AI in healthcare" --purpose "conference talk"
# From a PDF
opencanvas generate "https://arxiv.org/pdf/2412.06769" --purpose "conference talk"
HTML mode: Clean, professional slides with embedded styles
- Output: Individual PNG slides + compiled PDF
- Best for: High-quality visuals, research presentations with figures
- Features: AI-generated designs, automatic figure extraction from PDFs, intelligent figure-to-slide matching
- Time: ~3 minutes for 10-12 slides
- Requires:
GEMINI_API_KEY
- Output: Single HTML file with embedded styles
- Best for: Quick presentations, web sharing, easy editing
- Features: Clean layouts, multiple themes, fast generation
- Convert to PDF:
opencanvas convert slides.html
HTML Mode:
output/topic_20241213_225914/
├── slides/
│ └── slides.html # Single HTML file
└── sources/
└── source_content.txt
Image Mode:
output/topic_20241213_225914/
├── slides/
│ ├── slide_001.png
│ ├── slide_002.png
│ └── ...
├── extracted_images/ # (PDF input only)
│ ├── figure_1.png
│ └── figure_captions.json
├── sources/
│ ├── blog_content.txt
│ └── slide_blueprints.json
└── presentation.pdf # Auto-compiled
- Installation Guide - Detailed setup
- CLI Reference - All commands
- Image Mode Guide - Figure matching & PNG slides
- API Guide - REST API
- Evolution System - Auto-improvement
# HTML: Quick presentation from topic
opencanvas generate "machine learning basics" --purpose "lecture"
# HTML: Research paper to slides
opencanvas generate "paper.pdf" --purpose "seminar"
# Image: High-quality presentation with figures
opencanvas generate "paper.pdf" \
--output-format image \
--purpose "conference talk"
# Complete pipeline with evaluation
opencanvas pipeline "research topic" --purpose "conference" --evaluateWe welcome contributions! See CONTRIBUTING.md for guidelines.
# Development setup
git clone https://github.com/genmini-ai/OpenCanvas.git
cd OpenCanvas
pip install -r requirements-all.txt
python run_tests.pyMIT License - see LICENSE file for details.
- Anthropic Claude - AI generation
- Google Gemini - Image generation
- Docling - Figure extraction
- FastAPI - REST API
⭐ Star this repo if you find it useful!
📚 Full Documentation | 🐛 Report Issues | 💬 Discussions