SlideGen¶
AI-powered slide generation library for PowerPoint
SlideGen is an open-source Python library that converts declarative YAML/JSON schemas into professional PowerPoint presentations. It's designed to be AI-friendly, making it easy for LLMs to generate valid slide schemas from natural language.
Key Features¶
- 🎨 10 Layout Types: Title, bullet lists, charts, tables, images, and more
- 🤖 AI-Friendly Schema: LLMs can reliably generate valid schemas
- ✅ Validation: Built-in schema validation with helpful error messages
- 🎯 Smart Positioning: Automatic layout and positioning - no manual tweaking
- 🎨 Theming: Support for custom themes and PowerPoint templates
- 📊 Data Binding: Connect charts and tables to CSV/JSON data sources
- 🛠️ CLI Tool: Command-line interface for quick slide generation
Quick Start¶
# Install SlideGen
pip install slidegen
# Create your first presentation
slidegen init my-presentation
# Validate your schema
slidegen validate my-presentation/deck.yaml
# Generate PowerPoint
slidegen build my-presentation/deck.yaml -o output.pptx
Example Schema¶
presentation:
title: "My Presentation"
slides:
- layout: title
title: "Welcome"
subtitle: "Introduction to SlideGen"
- layout: bullet_list
title: "Key Points"
bullets:
- "Easy to use"
- "AI-friendly format"
- "Professional output"
Documentation¶
- Getting Started - 5-minute quickstart guide
- Schema Reference - Complete schema documentation
- Layout Guide - All available layouts with examples
- API Reference - Python API documentation
- Examples - Real-world presentation examples
Why SlideGen?¶
For Developers¶
- Version Control: Store slide definitions in Git
- Programmatic Generation: Build presentations from code
- CI/CD Integration: Generate slides as part of automated workflows
- Reproducible: Same schema always produces the same output
For AI/LLM Integration¶
- High Accuracy: 90%+ validation pass rate with GPT-4o-mini
- Structured Output: JSON Schema ensures valid schemas
- Few-Shot Learning: Built-in examples for LLM prompt engineering
- Conversational: Multi-turn conversation support
For Teams¶
- Collaboration: Review slide content in YAML (not PowerPoint)
- Consistency: Enforce design standards through themes
- Automation: Generate reports and updates automatically
- Portability: Works across platforms and tools
Installation¶
For development:
License¶
MIT License
Contributing¶
We welcome contributions! See our Contributing Guide for details.
Support¶
- Documentation: docs.slidegen.io
- GitHub Issues: github.com/nicolairobles/slidegen/issues
- Discussions: github.com/nicolairobles/slidegen/discussions