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

Uploaded Python 3

File details

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

File metadata

  • Download URL: slide_stream-1.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 ffb6aabb93e62e69677c5c9eddb0ffb240d52ae4451dd692fcbc836e7f1f92b7
MD5 d11a3ef696582dc96b4126195ec75b21
BLAKE2b-256 68ffc0f74ffaa560248d177ff1d88bfc62b25b55ae3987b70fcd0f0ed09d8848

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slide_stream-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 13.5 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 81ccca69edc518492799fd0a2f0759f3a1f09eefcbdebd3c10ab15f4b3d37fc0
MD5 f7181558a123bd9578eaba562e34d71d
BLAKE2b-256 c9505f9a1e6fccd21b94a74548fcfbba95f31fd69f08a9c0dbc3cae21199aa6d

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