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.6.tar.gz (127.9 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.6-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slide_stream-1.1.6.tar.gz
  • Upload date:
  • Size: 127.9 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.6.tar.gz
Algorithm Hash digest
SHA256 0a73a47cb5a56c10cbef2050777619bfef83ce4522eff9de4f988d532dd77172
MD5 f808d002b1117557b6c0fa471bbb4f74
BLAKE2b-256 b8873e7c0db61f94686a9798eb7025881854060132197779848477404386c233

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slide_stream-1.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 940ff5abfda1848383af2ba21b311f449b7540501d9a8122602537cfdca2daae
MD5 3f297b26242a8fe2e2e558fb65b6594d
BLAKE2b-256 546a7c85eaeece03e2e543e4e655b58f8ff0701bed5ecf0bd5f35e1cd92c7c13

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