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.4.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.4-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slide_stream-1.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 17042aa29e24a0a847c54eb061c8320892b4d8ab0968c76970f4835c78738456
MD5 ceb7e9ae29c21ae2a9e398a4407feb9a
BLAKE2b-256 33917fa0afc69d9de452498ce7beb4532d53db4adab5d1bc69432a9169bd624b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slide_stream-1.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 057dc814ecf5ee98e94e397bc8c4a1eb136a57fb2d417cf8b6fd23794be31f18
MD5 1c27c0ab5ab50844e037d8e17e13d70b
BLAKE2b-256 ae59e56dd681ff39742e1d990015899ee96f48ab779b48cf62dcf751cada4fe4

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