Skip to content

About

SlideForge AI is a lightweight, full-stack prototype that automatically generates presentation slide decks (PowerPoint, Google Slides, or PDF) from nothing more than an outline or topic description. It combines LLM-powered content expansion with automated visual generation to produce clean, presentation-ready slides - instantly.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Prompt2Deck ✨

Transform plain text into professional slide decks with AI

An AI-powered presentation generator that converts topics, outlines, or bullet points into polished PowerPoint presentations in seconds. Supports 6 themes, 8 starter templates, multiple export formats, and works with or without an API key.

License: MIT Python 3.10+ FastAPI Next.js GitHub stars GitHub forks


⭐ If you find this useful, please star the repo β€” it helps a lot!


🎯 Features

Core

  • πŸ€– Multi-LLM Support β€” OpenAI, Anthropic (Claude), Groq, and Ollama (local/free)
  • πŸ“ Multiple Input Formats β€” Simple topics, bullet lists, or nested outlines
  • 🎨 6 Professional Themes β€” Professional, Modern, Minimal, Dark, Nature, Corporate
  • πŸ—£οΈ Speaker Notes β€” Auto-generated presentation guidance for each slide
  • πŸ–ΌοΈ Image Support β€” Optional DALL-E 3 integration for slide visuals (OpenAI)
  • πŸ’° Cost-Effective β€” ~$0.01-0.05 per presentation, or free with Ollama
  • βš™οΈ UI Settings β€” Configure API keys and models from the web interface (no .env editing)

Export & Formats

  • πŸ“Š PowerPoint (PPTX) β€” Primary output with themed formatting
  • πŸ“„ PDF Export β€” Via LibreOffice headless conversion
  • πŸ“ Markdown Export β€” Plain text version of your slides
  • 🌐 HTML Export β€” Standalone web presentation with print support

Templates & History

  • πŸ“‹ 8 Starter Templates β€” Pitch Deck, Research Talk, Tutorial, QBR, and more
  • πŸ“ Deck History β€” Browse, download, and manage past generations
  • πŸ“Š Usage Statistics β€” Track decks generated, slides created, themes used

Developer Experience

  • πŸ–₯️ Full CLI β€” Generate decks from the terminal with python cli.py generate "topic"
  • 🌐 REST API β€” 10+ endpoints for programmatic access
  • 🐳 Docker Support β€” One-command deployment with docker-compose
  • πŸŒ™ Dark Mode β€” Full dark mode support in the web UI
  • πŸ”§ Mock Mode β€” Works without an API key using placeholder content
  • πŸ”„ Hot Reload β€” Change LLM provider/model from the UI, no restart needed

πŸ“Έ Demo

Input:                                    Output:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Introduction to ML      β”‚              β”‚ βœ… 6-slide PPTX deck    β”‚
β”‚ * What is ML?           β”‚    ──────►   β”‚ βœ… Speaker notes        β”‚
β”‚ * Types of Learning     β”‚              β”‚ βœ… Themed formatting    β”‚
β”‚ * Real-world Apps       β”‚              β”‚ βœ… Markdown + HTML      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Option 1: Automated Setup (Recommended)

git clone https://github.com/Abelo9996/Prompt2Deck.git
cd Prompt2Deck

# Run setup script
./setup.sh    # macOS/Linux
setup.bat     # Windows

# Optional: Add OpenAI key for AI content (works without it in mock mode)
cd backend
cp .env.example .env
# Edit .env: OPENAI_API_KEY=your_key_here

# Start backend
python main.py

Option 2: Docker

git clone https://github.com/Abelo9996/Prompt2Deck.git
cd Prompt2Deck

# Optional: set your key
echo "OPENAI_API_KEY=your_key_here" > .env

docker-compose up

Option 3: Manual Setup

# Backend
cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
python main.py

# Frontend (separate terminal)
cd frontend
npm install
npm run dev

πŸ–₯️ CLI Usage

cd backend

# Generate a deck
python cli.py generate "Introduction to AI" --theme modern

# Preview without generating
python cli.py preview "Machine Learning Basics"

# With all exports
python cli.py generate "Cloud Computing" -t dark --markdown --html

# List themes and templates
python cli.py themes
python cli.py templates

# View history and stats
python cli.py history
python cli.py stats

# Start the API server
python cli.py serve --port 8000

πŸ’» Web Interface

The web UI features three tabs:

Tab Description
✨ Generate Input text, preview slides, configure options, generate deck
πŸ“‹ Templates Browse 8 starter templates across Business, Education, Academic, Marketing
πŸ“ History View, download, and delete past generations
βš™οΈ Settings Configure LLM provider, API key, model β€” supports OpenAI, Anthropic, Groq, Ollama

Plus: dark mode toggle, stats bar, theme selector with 6 options, and multi-format export.

πŸ“‘ API Reference

Method Endpoint Description
GET / Health check + endpoint list
GET /themes List available themes
GET /templates List starter templates
GET /templates/{id} Get specific template
POST /preview Preview slide structure
POST /generate Generate deck (PPTX + optional exports)
GET /settings Get current AI config (keys masked)
POST /settings Update AI provider/key/model
POST /settings/test Test API connection
GET /download/{filename} Download generated file
GET /history List generation history
DELETE /history/{deck_id} Delete history item
GET /stats Usage statistics

πŸ“š See examples/api_examples.md for full examples.

πŸ“ Input Formats

Simple Topic

Explain Large Language Models

β†’ Auto-generates 5-slide presentation

Bullet List

Introduction to Cloud Computing
* Infrastructure as a Service
* Platform as a Service
* Software as a Service

β†’ Each bullet becomes a slide

Nested Outline

Machine Learning Basics
1. Introduction
   - What is ML?
   - Why it matters
2. Types of Learning
   - Supervised
   - Unsupervised

β†’ Full control over slide structure

πŸ“š See examples/sample_inputs.md for more examples

🎨 Themes

Theme Style Best For
Professional Navy & blue, corporate Business presentations
Modern Coral & green, bold Startups, pitches
Minimal Black & white, clean Academic, research
Dark Dark bg, red accents Tech talks, demos
Nature Green tones, organic Environmental, health
Corporate Navy & teal, formal Enterprise, finance

πŸ“‹ Templates

Template Category Slides
Startup Pitch Deck Business ~8
Project Status Update Business ~7
Academic Lecture Education ~8
Research Presentation Academic ~8
Product Launch Marketing ~8
Technical Tutorial Education ~9
Quarterly Business Review Business ~8
Workshop / Training Education ~8

πŸ› οΈ Tech Stack

Component Technology
Backend Python 3.10+, FastAPI, python-pptx
Frontend Next.js 14, React 18, TypeScript, Tailwind CSS
AI OpenAI, Anthropic (Claude), Groq, Ollama (local)
Images DALL-E 3 (optional, OpenAI only)
CLI Click + Rich
Export Markdown, HTML, PDF (via LibreOffice)
Deploy Docker, docker-compose

πŸ—οΈ Architecture

Prompt2Deck/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ main.py              # FastAPI server (10+ endpoints)
β”‚   β”œβ”€β”€ cli.py               # CLI tool (7 commands)
β”‚   β”œβ”€β”€ models.py            # Pydantic schemas
β”‚   └── pipeline/
β”‚       β”œβ”€β”€ outline_parser.py      # Input parsing
β”‚       β”œβ”€β”€ content_generator.py   # LLM content expansion
β”‚       β”œβ”€β”€ image_generator.py     # DALL-E / placeholder
β”‚       β”œβ”€β”€ slide_builder.py       # PPTX assembly (6 themes)
β”‚       └── exporter.py           # Markdown / HTML export
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ pages/index.tsx      # Main app (3 tabs)
β”‚   └── components/          # 6 React components
β”œβ”€β”€ examples/                # Sample inputs & API examples
β”œβ”€β”€ docs/                    # Architecture, contributing, dev guide
β”œβ”€β”€ Dockerfile
└── docker-compose.yml

πŸ“– See docs/ARCHITECTURE.md for detailed design

βš™οΈ Configuration

Backend (backend/.env)

# Optional β€” you can configure everything from the Settings tab in the UI instead
OPENAI_API_KEY=your_key_here    # Optional (mock mode without it)
OPENAI_MODEL=gpt-4o-mini        # Or any supported model
USE_DALLE=false                  # Enable DALL-E images
HOST=0.0.0.0
PORT=8000

πŸ’‘ Tip: Skip the .env file entirely β€” just go to the Settings tab in the web UI to configure your provider, API key, and model. Supports OpenAI, Anthropic, Groq, and Ollama.

Frontend (frontend/.env.local)

NEXT_PUBLIC_API_URL=http://localhost:8000

πŸ§ͺ Development

# Run tests
cd backend && pytest

# Format code
black .

# CLI help
python cli.py --help

πŸ“– See docs/DEVELOPMENT.md for adding themes, templates, and export formats.

πŸ—ΊοΈ Roadmap

  • Google Slides API integration
  • Batch processing for multiple decks
  • Custom template marketplace
  • Real-time collaboration
  • Notion/Docs integration
  • Ollama / local LLM support
  • Drag-and-drop slide reordering
  • Custom branding (logo, colors)

πŸ› Troubleshooting

Issue Solution
No API key Works in mock mode β€” no key needed. Or use Ollama for free local inference
Quota exceeded Add credits at platform.openai.com
Module not found Run pip install -r requirements.txt
PDF export fails Install LibreOffice: brew install libreoffice
Port in use Change PORT in .env or use --port flag

πŸ“š See docs/OPENAI_QUOTA_FIX.md for quota help.

🀝 Contributing

Contributions welcome! See docs/CONTRIBUTING.md.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

MIT License β€” see LICENSE.

🌟 Show Your Support

If this project helped you, please:

  • ⭐ Star this repository β€” it really helps!
  • 🍴 Fork it and build something cool
  • πŸ› Report bugs or suggest features
  • πŸ”€ Contribute code or docs
  • πŸ“’ Share with friends and colleagues

πŸ“¬ Contact

Questions? Open an issue.


Built with ❀️ using AI and modern web technologies
Made by @Abelo9996

About

SlideForge AI is a lightweight, full-stack prototype that automatically generates presentation slide decks (PowerPoint, Google Slides, or PDF) from nothing more than an outline or topic description. It combines LLM-powered content expansion with automated visual generation to produce clean, presentation-ready slides - instantly.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages