Installation
Installation & Preparation
Before you can generate videos, you need to set up the Python package and several external dependencies.
Prerequisite: Python 3
slidemovie requires Python 3.8 or later. Install Python 3 for your operating system before continuing, then confirm it is available:
python3 --version
Use python3 -m pip in the following commands when your system distinguishes Python 3 from an older Python installation.
If pip is not available yet, run the following commands before installing the package:
python3 -m ensurepip --upgrade
python3 -m pip install --upgrade pip
1. Install the Python Package
The easiest way to install slidemovie is via pip. On Windows, open PowerShell; on macOS or Linux, open a terminal. Then run:
python3 -m pip install slidemovie
This will automatically install the necessary Python dependencies, including multiai-tts and pptxtoimages.
Windows: add the slidemovie command to PATH
On Windows, run the following once in PowerShell to add Python’s Scripts folder to your user PATH. This is required to run the slidemovie command directly:
$scriptsDir = python3 -c "import sysconfig; print(sysconfig.get_path('scripts'))"
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
if ([string]::IsNullOrWhiteSpace($userPath)) {
[Environment]::SetEnvironmentVariable('Path', $scriptsDir, 'User')
} elseif (($userPath -split ';') -notcontains $scriptsDir) {
[Environment]::SetEnvironmentVariable('Path', "$userPath;$scriptsDir", 'User')
}
Close PowerShell, open a new window, and then verify it with:
slidemovie -h
2. Install External Tools
slidemovie acts as a conductor for several powerful command-line tools. You must install these on your system for the program to work.
Required Tools
- FFmpeg: Used for processing audio and combining images and audio into a video file.
- Pandoc: Used to convert your Markdown text file into a PowerPoint (
.pptx) file. - LibreOffice: Used in “headless mode” to convert PowerPoint slides into high-resolution images.
- Poppler (pdftoppm): A PDF rendering library used to extract images from the slides.
- ImageMagick (
convert/magick): Used to normalize slide images to the configuredscreen_size, preserving aspect ratio with even padding (letterbox/pillarbox).
Installation Commands
For macOS (using Homebrew)
If you do not have Homebrew installed, please visit brew.sh.
brew install ffmpeg pandoc poppler imagemagick
brew install --cask libreoffice
For Ubuntu / Debian
sudo apt update
sudo apt install ffmpeg pandoc libreoffice poppler-utils imagemagick
For Windows
On Windows, use Windows Package Manager (winget) to install the tools without downloading each archive or manually editing PATH. Open PowerShell, then run the following commands one at a time. Confirm that each command finishes before proceeding to the next.
If winget is unavailable, first update or install App Installer from the Microsoft Store.
winget install --id Gyan.FFmpeg --exact
winget install --id JohnMacFarlane.Pandoc --exact
winget install --id TheDocumentFoundation.LibreOffice --exact
winget install --id oschwartz10612.Poppler --exact
winget install --id ImageMagick.ImageMagick --exact
After all installations finish, close PowerShell and open a new window. This applies the PATH changes; then verify the commands:
ffmpeg -version
ffprobe -version
pandoc --version
Get-Command pdftoppm
magick -version
If a command is still unavailable after installing with winget, sign out of Windows and sign in again before checking once more.
3. Setup AI API Keys
slidemovie uses the multiai-tts library to generate narration audio. You need to configure the model selection and the API keys.
1. Select the TTS Model
First, create the user configuration file:
slidemovie --init-config
This command creates the default configuration file and exits. Its location is ~/.config/slidemovie/config.json on macOS and Linux, and C:\Users\<username>\.config\slidemovie\config.json on Windows.
Next, please refer to the Configuration page. Edit the tts_provider, tts_model, and tts_voice settings in this file to select the Text-to-Speech model you wish to use.
2. Configure API Credentials
slidemovie uses multiai-tts for text-to-speech. API credentials are managed using the same configuration mechanism as multiai.
Credentials can be stored in the multiai settings file. multiai reads settings from ~/.multiai and then from ./.multiai, with project-level settings taking precedence. On Windows, open the user settings file in Notepad from PowerShell. $HOME expands to the user home directory (for example, C:\Users\seki):
notepad "$HOME\.multiai"
On macOS, open it in TextEdit:
open -e ~/.multiai
For example:
[api_key]
openai = (Your OpenAI API key)
google = (Your Gemini API key)
azure_tts = (Your Azure Speech API key)
[azure_tts]
region = japaneast
You only need to configure the credentials for the TTS provider selected by tts_provider in the slidemovie configuration file.
For environment-variable setup and the complete multiai configuration format, see the official multiai documentation.
Note: Without valid credentials for the selected provider (
openai, orazure), audio generation will fail.
VOICEVOX: If you select the
voicevoxprovider, no API key is required. Instead, the VOICEVOX engine must be running locally (defaulthttp://127.0.0.1:50021) before you build. See Configuration fortts_voice(speaker style ID) andtts_voicevox_url.