Skip to main content

An AI-powered tool to automatically create video presentations from Markdown and PowerPoint files

Project description

Slide Stream

🎬 An AI-powered tool to automatically create video presentations from Markdown and PowerPoint files.

PyPI version Python 3.10+ License: MIT

Transform your Markdown documents and PowerPoint presentations into professional video presentations with AI-powered content enhancement, automatic image sourcing, and natural text-to-speech narration.

✨ Features

  • 📝 Markdown to Video: Convert Markdown files into professional video presentations
  • 📊 PowerPoint to Video: Import .pptx files with slide content and speaker notes
  • 🤖 AI Enhancement: Improve content using OpenAI, Gemini, Claude, Groq, or Ollama
  • 📋 Speaker Notes Support: Use PowerPoint speaker notes for enhanced AI narration
  • 🖼️ Smart Images: Automatic image sourcing from Unsplash or generate text-based slides
  • 🎙️ Text-to-Speech: Natural narration using Google Text-to-Speech
  • 🎨 Customizable: Professional video output with configurable settings
  • Modern CLI: Built with Typer and Rich for excellent user experience

🚀 Quick Start

Installation

pip install slide-stream

Basic Usage

Create a simple Markdown file:

# Welcome to My Presentation

- This is the first point
- Here's another important point
- And a final thought

# Second Slide

- More content here
- Additional information
- Conclusion

Generate your video:

slide-stream create -i presentation.md -o my-video.mp4

🔧 Installation Options

Core Installation

pip install slide-stream

With AI Providers

# For OpenAI GPT models
pip install slide-stream[openai]

# For Google Gemini
pip install slide-stream[gemini]

# For Anthropic Claude
pip install slide-stream[claude]

# For Groq (fast inference)
pip install slide-stream[groq]

# For all AI providers
pip install slide-stream[all-ai]

🎯 Usage Examples

Basic video creation

# From Markdown
slide-stream create -i slides.md -o presentation.mp4

# From PowerPoint
slide-stream create -i presentation.pptx -o video.mp4

With AI enhancement

# Set your API key
export OPENAI_API_KEY="your-api-key-here"

# Create enhanced video with default model
slide-stream create \
  -i slides.md \
  -o presentation.mp4 \
  --llm-provider openai \
  --image-source unsplash

# Specify a custom model
slide-stream create \
  -i slides.md \
  -o presentation.mp4 \
  --llm-provider openai \
  --llm-model gpt-4o \
  --image-source unsplash

PowerPoint with speaker notes enhancement

# PowerPoint files with speaker notes get enhanced AI narration
export OPENAI_API_KEY="your-api-key"
slide-stream create \
  -i presentation.pptx \
  -o enhanced-video.mp4 \
  --llm-provider openai \
  --image-source unsplash

Text-only slides (no internet required)

slide-stream create \
  -i slides.md \
  -o presentation.mp4 \
  --image-source text

🔑 Environment Variables

Set these environment variables for AI providers:

# OpenAI
export OPENAI_API_KEY="your-openai-key"
export OPENAI_MODEL="gpt-4o-mini"  # Optional: default model

# Google Gemini
export GEMINI_API_KEY="your-gemini-key"
export GEMINI_MODEL="gemini-1.5-flash"  # Optional: default model

# Anthropic Claude
export ANTHROPIC_API_KEY="your-claude-key"
export CLAUDE_MODEL="claude-3-5-sonnet-20241022"  # Optional: default model

# Groq
export GROQ_API_KEY="your-groq-key"
export GROQ_MODEL="llama-3.1-8b-instant"  # Optional: default model

# Ollama (local)
export OLLAMA_BASE_URL="http://localhost:11434"
export OLLAMA_MODEL="llama3.2"  # Optional: default model

📋 Requirements

  • Python 3.10+
  • FFmpeg (for video processing)
  • Internet connection (for Unsplash images and AI providers)

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Documentation

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with Typer for the CLI
  • Rich for beautiful terminal output
  • MoviePy for video processing
  • Pillow for image handling

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slide_stream-1.1.1.tar.gz (126.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slide_stream-1.1.1-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file slide_stream-1.1.1.tar.gz.

File metadata

  • Download URL: slide_stream-1.1.1.tar.gz
  • Upload date:
  • Size: 126.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for slide_stream-1.1.1.tar.gz
Algorithm Hash digest
SHA256 45dd4979cd35022d4ef170171934d4df8cf4141a019ee14326a9450739ab0059
MD5 542c5300d995e7527593c24ffbceea0c
BLAKE2b-256 ba47944cf1909a1c55fe69bb99b6a6f27f7cb1e1c042c7475e8536450849c9fd

See more details on using hashes here.

File details

Details for the file slide_stream-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: slide_stream-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for slide_stream-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 58408f5abd3ea70da1d07c6a862e2b714854a0ee0c2ac82bad0aeace9d716e53
MD5 395bab13e93b088fefeb8b54077e391e
BLAKE2b-256 dba18c270763d40e95ab651f667f1f6c2c35c596d545d104cbffb8ef5469f9e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page