Adding auto-generated video to your slides


question Questions
  • How can we add auto-generated video?

  • How does it work?

  • What do I need to do to make it optimal for viewers?

objectives Objectives
  • Adding a video to a set of slides

time Time estimation: 20 minutes

Supporting Materials

last_modification Last modification: Dec 1, 2020

Video Lectures

Based on the work by Delphine Larivière and James Taylor with their COVID-19 Lectures we have implemented a similar feature in the Galaxy Training Network.


In this tutorial, we will:

  1. How it Works
  2. Enabling Video
    1. Writing Good Captions
    2. Enable the Video

How it Works

We wrote a short script which does the following:

  • Extracts a ‘script’ from the slides. We extract every presenter comment in the slidedeck, and turn this into a text file.
  • Every line of this text file is then narrated by Amazon Polly

    • NB: this currently means it is non-free, and requires AWS credentials in order to build the videos locally, which is not an option for everyone. We do not have plans for integrating an open source voice engine but we would welcome it!
  • The slide deck is converted to a PDF, and then each slide is extracted as a PNG.
  • Captions are extracted from the audio components.
  • The narration is stitched together into an mp3
  • The images are stitched together into an mp4 file
  • The video, audio, and captions are muxed together into a final mp4 file
  • This is uploaded to an S3 bucket

Enabling Video

We have attempted to simplify this process as much as possible, but making good slides which work well is up to you.

Writing Good Captions

Every slide must have some narration in the presenter notes. It does not make sense for students to see a slide without commentary. For each slide, you’ll need to write presenter notes in full, but short sentences.

Sentence Structure

Use short and uncomplex sentences whenever possible. Break up ideas into easy to digest bits. Students will be listening to this spoken and possibly reading the captions.

The captioning process is completely automated, but it means that for very long sentences, we do not currently break them up into multiple captions. So please keep your sentences under ~80 characters where possible.


  • Configuration management manages the configuration of machines.
  • It specifies what software should be installed, and how it should be configured.

Bad Configuration management manages the configuration of machines; it specifies what software should be installed, and how it should be configured


Every sentence must end with punctuation like . or ? or even ! if you’re feeling excited. We merge all lines of the presenter notes before having them spoken by Polly. If you forget the punctuation it will be one long run-on sentence.

Abbreviations and “Weird” Names

In the captions you will want to spell out abbreviations

Good This role deploys C V M F S.

Bad This role deploys CVMFS.

For many terms we read them differently than they’re written, e.g. ‘src’ vs ‘source’. Most of us would pronounce it like the latter, even though it isn’t spelt that way. Our speaking robot doesn’t know what we mean, so we need to spell it out properly.

Good Copy copies a file from src on localhost…

Bad Copy copies a file from source on localhost…

Enable the Video

Lastly, we need to tell the GTN framework we would like videos to be generated.

hands_on Hands-on: Enable video

  1. Edit the slides.html for your tutorial
  2. Add video: true to the top

That’s it! With this, videos can be automatically generated.


keypoints Key points

  • Thanks to the GTN, videos are easy to add

  • Be mindful of your captions. Short sentences are good!


Did you use this material as an instructor? Feel free to give us feedback on how it went.

Click here to load Google feedback frame

Citing this Tutorial

  1. Helena Rasche, 2020 Adding auto-generated video to your slides (Galaxy Training Materials). /archive/2020-12-01/topics/contributing/tutorials/slides-with-video/tutorial.html Online; accessed TODAY
  2. Batut et al., 2018 Community-Driven Data Analysis Training for Biology Cell Systems 10.1016/j.cels.2018.05.012

details BibTeX

    author = "Helena Rasche",
    title = "Adding auto-generated video to your slides (Galaxy Training Materials)",
    year = "2020",
    month = "12",
    day = "01"
    url = "\url{/archive/2020-12-01/topics/contributing/tutorials/slides-with-video/tutorial.html}",
    note = "[Online; accessed TODAY]"
        doi = {10.1016/j.cels.2018.05.012},
        url = {},
        year = 2018,
        month = {jun},
        publisher = {Elsevier {BV}},
        volume = {6},
        number = {6},
        pages = {752--758.e1},
        author = {B{\'{e}}r{\'{e}}nice Batut and Saskia Hiltemann and Andrea Bagnacani and Dannon Baker and Vivek Bhardwaj and Clemens Blank and Anthony Bretaudeau and Loraine Brillet-Gu{\'{e}}guen and Martin {\v{C}}ech and John Chilton and Dave Clements and Olivia Doppelt-Azeroual and Anika Erxleben and Mallory Ann Freeberg and Simon Gladman and Youri Hoogstrate and Hans-Rudolf Hotz and Torsten Houwaart and Pratik Jagtap and Delphine Larivi{\`{e}}re and Gildas Le Corguill{\'{e}} and Thomas Manke and Fabien Mareuil and Fidel Ram{\'{\i}}rez and Devon Ryan and Florian Christoph Sigloch and Nicola Soranzo and Joachim Wolff and Pavankumar Videm and Markus Wolfien and Aisanjiang Wubuli and Dilmurat Yusuf and James Taylor and Rolf Backofen and Anton Nekrutenko and Björn Grüning},
        title = {Community-Driven Data Analysis Training for Biology},
        journal = {Cell Systems}

congratulations Congratulations on successfully completing this tutorial!

Developing GTN training material

This tutorial is part of a series to develop GTN training material, feel free to also look at:
  1. Overview of the Galaxy Training Material
  2. Adding auto-generated video to your slides
  3. Contributing with GitHub via command-line
  4. Contributing with GitHub via its interface
  5. Creating a new tutorial
  6. Creating a new tutorial - Creating Interactive Galaxy Tours
  7. Creating a new tutorial - Defining the technical infrastructure
  8. Creating a new tutorial - Slides
  9. Creating a new tutorial - Writing content in Markdown
  10. Generating PDF artefacts of the website
  11. Including a new topic
  12. Running the Galaxy Training material website locally