Skip to content

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

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

pip install slidegen

For development:

git clone https://github.com/nicolairobles/slidegen
cd slidegen
pip install -e ".[dev]"

License

MIT License

Contributing

We welcome contributions! See our Contributing Guide for details.

Support