This repository provides the source code featured in the blog post LLM-Powered Slide Decks: A Comparison of Formats, which explores how large language models can streamline and enhance the process of creating slide presentations in various formats. The companion website is available at LLM Slide Decks.
Starting from a real‑world presentation — the EDF Producer Booklet (FET17CR) — I asked Google Gemini 2.5 Pro to reproduce the first pages in several formats:
- Google Slides (Google Slides API)
- PowerPoint (python-pptx)
- HTML/CSS
- Quarto/Reveal.js
To install the requirements, use uv:
uv syncThe repository is organized as follows:
google/: Google Slides APIpowerpoint/: PowerPoint (python-pptx)raw/: HTML/CSSquarto/: Quarto/Reveal.jsimages/: Images used in the slidesindex.qmd: The main page of the website_quarto.yml: The configuration file for the websiteREADME.md: This file
In order to use the Google Slides API, you need to set up a project in the Google Cloud Console and enable the Google Slides API. Follow these steps:
- Go to the Google Cloud Console.
- Create a new project or select an existing project.
- Enable the Google Slides API and the Google Drive API for your project.
- Create credentials (OAuth 2.0 client IDs) for your application.
- Download the credentials JSON file and save it as
credentials.jsonin the google directorygoogle/.
Then, execute the following command to create the slide deck on Google Slides:
uv run python google/create_slides.pyTo create the slide deck on Powerpoint, execute the following command:
uv run python powerpoint/create_powerpoint_slides.py