Skip to main content

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

Project description

Slide Stream

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

PyPI version Python 3.10+ License: MIT

Transform your Markdown documents 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
  • 🤖 AI Enhancement: Improve content using OpenAI, Gemini, Claude, Groq, or Ollama
  • 🖼️ 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

slide-stream create -i slides.md -o presentation.mp4

With AI enhancement

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

# Create enhanced video
slide-stream create \
  -i slides.md \
  -o presentation.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"

# Google Gemini
export GEMINI_API_KEY="your-gemini-key"

# Anthropic Claude
export ANTHROPIC_API_KEY="your-claude-key"

# Groq
export GROQ_API_KEY="your-groq-key"

# Ollama (local)
export OLLAMA_BASE_URL="http://localhost:11434"

📋 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.

📄 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.0.0.tar.gz (146.8 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.0.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slide_stream-1.0.0.tar.gz
  • Upload date:
  • Size: 146.8 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.0.0.tar.gz
Algorithm Hash digest
SHA256 5e036c46b83839ecb55c473b3687e5bac07129de2cb1907f7d9ee98294d8f4ea
MD5 4976fe3b5192578082afeeda1e80a625
BLAKE2b-256 73d509c80b6f14fabf6be312f236744b31b4cd2aeb5727874b5727d0dc2fd276

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slide_stream-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbcc769aebd05fc165bb050564941361716d1f2b663c95db0383c300276040d2
MD5 02d1a26dca73c46bd012afec501415a9
BLAKE2b-256 acd51f9d05b6e20f9fb8164aa96bbb1720e91c75ac298249016ba0f86a2eb787

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