Making Slideshows with AI
How much time do you spend creating PowerPoint slideshows at work? If you’re like me, it usually takes far too long. Luckily, AI can help by saving tons of time in this process. In this article, I provide a custom prompt that I use to create slideshows for my lessons as an English language teacher, using AI chat tools like ChatGPT, Claude, or Gemini. While this prompt is geared toward teachers, with a little adjustment, anyone could use it to generate a slideshow based on the content of some document. This method can cut your slideshow creation time by half or even more, so keep reading to learn this valuable skill.
The process
The process consists of two main steps. The first step involves generating a text-based markdown format slideshow based on a lesson plan. The second step involves converting that text-based format to Microsoft’s PowerPoint format using a powerful tool called Pandoc, which is the “Swiss army knife” of document conversion. This program is such a powerful tool that I use it every day at work.
In this article, I’ll be using an AI-generated task-based lesson plan for intermediate ESL students. The topic is product reviews, and the task asks students to write their own product review after interacting with a few samples. The lesson itself is not the focus—it would need a teacher’s attention and care before being used with a class. It’s more than good enough demonstrate how you’d create a slideshow for your lessons, though. Let’s get started!
The GPT prompt
The prompt works like this: give the AI a lesson plan, then ask for a slideshow as a visual aid for the lesson plan. The following prompt does this, giving specific instructions to ensure compatible output in the conversion step.
Create a Pandoc-compatible markdown slideshow to accompany the provided ESL lesson plan. The slideshow should serve as a visual aid, supporting each stage of the lesson and enhancing student engagement. Structure the slideshow as follows:
1. Begin with a YAML metadata block
2. Use # for top-level slide titles, ## for subheadings
3. Use --- for slides without headings
4. Include placeholder images: 
5. Provide relevant examples, key vocabulary, and task instructions as needed
6. Use fenced div syntax for speaker notes:
::: notes
Speaker notes here
:::
Cover all main stages of the lesson plan, which may include:
- Warm-up
- Main activities
- Practice exercises
- Language focus
- Wrap-up
Ensure proper formatting with blank lines before/after lists and headers. Align content with the structure and objectives of the provided lesson plan.
Below is the result, guiding students through a lesson on writing a product review. Almost any AI-generated content will need at least minor adjustments to be usable in class. In particular, images will need to be added or replaced. AI-generated or not, always revise and proofread your materials before bringing them to class.
---
title: "Writing Product Reviews"
subtitle: "An ESL Intermediate Task-Based Writing Lesson"
date: October 19, 2024
---
# Writing Product Reviews
## Lesson Objectives
- Learn structure and key elements of product reviews
- Practice analyzing and writing reviews
- Improve ability to express opinions and use descriptive language
::: notes
Welcome students and introduce the topic of product reviews. Explain the importance of being able to write clear, informative reviews in English.
:::
---

# Warm-up: What Did You Buy Recently?
- Think about the last product you purchased
- Discuss with a partner:
- What did you buy?
- Why did you choose it?
- Are you satisfied with it? Why or why not?
::: notes
Encourage students to use descriptive language and express their opinions. Monitor conversations and note down interesting vocabulary or phrases to share with the class.
:::
---
<!-- ... -->
Converting the text to PowerPoint
There are several ways to actually create the slideshow presentation. My preferred method is with Pandoc, but you can also use VBA script, as described in this video. VBA is Microsoft’s programming language for Microsoft Office products. I’ve heard it’s pretty easy to learn, but I’ve never had occasion to use it, so I won’t cover much about how to do that here. Regular power users of Office products may have more reason to learn it, though. Feel free to experiment.
To convert the text into a PPTX file, we’ll use the program Pandoc. You can install Pandoc from its website. To do the conversion, save the markdown text to a file, and run the following command: pandoc $input_file -o writingLesson.pptx
, where $input_file
is the file you just created. Pandoc will create the PPTX file which you can then open and edit as necessary. See the getting started guide on Pandoc’s website for a gentle introduction to how to use the program.
Another method, if you can’t install Pandoc for some reason, would be to give it a try online. Just select the format you want from the “to” drop-down menu. This way doesn’t require you to install anything but requires an internet connection. It’s useful for you to see how it works.
Making the slideshow look better
You’ve got several options to make the slideshows more visually appealing. First, you can automatically animate bullet points by adding Pandoc’s -i
/--incremental
option to your command line. This makes each point show up one at a time. Second, you can switch between themes in the Design tab in PowerPoint. But if you want to use a custom template that you designed yourself, you can also provide that template to Pandoc with the --reference-doc
command-line option. These options go a long way to making things look good.
There are two other things that you’ll need to do to get the resulting slideshow in shape. The first thing is that you’ll have to replace the placeholder images if there are any. You can use AI to help with that by asking for a list of Google image searches for each image in the file, cutting down your search time a little. I’ve also had some success doing so DALL-E through ChatGPT or Imagen via Google’s Gemini. The other thing you might consider doing is adjusting how Pandoc handles slide headings in the PowerPoint. If you only have first and second level headings, then usually, no adjustment is necessary. Otherwise, you might want to add the option --slide-level=2
to your command line. Headings below the specified level won’t create a new slide.
pandoc -o out.pptx -i --reference-doc "My Template.pptx" --slide-level=2 in.md
# Or, for convenience, save this as an alias in your shell's
# startup file, e.g. ~/.bashrc
alias md2pptx='pandoc -t pptx -i --reference-doc "My Template.pptx" --slide-level=2'
md2pptx in.md -o out.pptx
As shown above, if you have a set of options that you use a lot, you can consider creating an alias. The way I show above to create an alias works on Linux or in WSL on Windows, but I don’t know how to do it for Windows command prompt. If you’re on Windows, you may have to do some investigating.
Conclusion
In this article, I showed how to create a slideshow presentation from the output of generative AI services like ChatGPT, Claude, or Gemini, based on the content of some document like a lesson plan. The method I describe here has already saved me hours of time writing and designing slideshows as visual aids for my lessons, but with some adjustment to the prompt, the same technique could be used in a wide variety of situations. Give it a try! For me, it’s one more tool in the toolbox for making my busy life as a teacher a little bit less crazy.