CLI Reference
Command Line Interface Reference
The slidemovie command is the primary entry point for all operations.
Basic Syntax
slidemovie [PROJECT_NAME] [OPTIONS]
Positional Arguments
PROJECT_NAME(Required)- The identifier for your project.
- The tool looks for
{PROJECT_NAME}.mdin the source directory. - If using Subproject Mode (
--sub), this argument specifies the Parent directory name (used for output categorization).
Options
Mode Flags (At least one is required)
-p,--pptx- Action: Converts the source Markdown file into a PowerPoint (
.pptx) file. - Use Case: Initial draft creation or updating slide text.
- Note: This overwrites existing PPTX files in the source directory unless configured otherwise.
- Action: Converts the source Markdown file into a PowerPoint (
-v,--video- Action: Builds the complete video.
- Steps:
- Generates Audio (TTS) from Markdown notes.
- Exports Images from the PPTX file.
- Combines Audio and Images into slide clips.
- Concatenates clips into the final movie.
- Use Case: Final production.
Path & Structure
-s DIR,--source-dir DIR- Default:
.(Current directory) - Description: The directory containing your source Markdown and PPTX files.
- Example:
slidemovie myproject -s ./docs(Looks for./docs/myproject.md)
- Default:
--sub SUB_NAME- Description: Enables Hierarchical (Subproject) Mode.
- Behavior:
PROJECT_NAMEis used for the output parent folder.SUB_NAMEbecomes the Child folder (Subproject).- Input Source:
{Child}/{Child}.md - Output Video:
movie/{Parent}/{Child}/{Child}.mp4
- Example:
slidemovie Season1 --sub Episode1
-o DIR,--output-root DIR- Default:
./movie(relative to the source directory) - Description: Specifies a custom root directory for all generated video artifacts.
- Note: This can also be configured via
output_rootinconfig.json. If the specified directory does not exist, an error will occur ifoutput_rootis explicitly set. If it is not set, the default directory will be created automatically.
- Default:
-f NAME,--filename NAME- Default: Same as the project ID.
- Description: Specifies the filename of the final
.mp4video (without extension).
TTS Overrides (Temporary)
These options override settings defined in config.json for the current run only.
--tts-provider NAME: e.g.,google,openai.--tts-model NAME: e.g.,gpt-4o-mini-tts,gemini-2.5-flash-preview-tts.--tts-voice NAME: e.g.,cedar,charon.--prompt TEXT: Overrides the system prompt and enables prompt usage (tts_use_prompt=True).--no-prompt: Disables the use of a system prompt (tts_use_prompt=False).
Debugging
--debug- Enables detailed logging (INFO/DEBUG level).
- Shows skipped tasks and internal processing details.
- Sets FFmpeg log level to
info.
Examples
1. Basic draft generation:
slidemovie tutorial -p
2. Building a video in a specific folder:
slidemovie tutorial -s ./content -v
3. Building a subproject with OpenAI TTS:
slidemovie Course101 --sub Lesson01 -v --tts-provider openai --tts-model gpt-4o-mini-tts --no-prompt --tts-voice alloy