Narrate Β· Illustrate Β· Present

Turn your slides into a video that speaks in your voice.

SlideStream turns a Markdown or PowerPoint deck into a narrated video presentation β€” written as real spoken narration (not read-aloud bullets), voiced by a clone of your own voice, illustrated with AI images, and optionally fronted by a talking-head avatar of you.

Open source. Self-host it, run it on your laptop, or bring your own AI keys β€” your decks and your voice stay yours.

From deck to video in one step

1

Bring a deck

A Markdown file or a PowerPoint .pptx β€” speaker notes become the narration source when present.

2

Add your voice & face

A 20-second voice sample and a photo (both optional). Used once per render, never stored.

3

Get a video

Presenter-style narration, AI or stock images per slide, and an optional talking head β€” rendered to MP4.

Everything is swappable β€” and yours

πŸ—£οΈ Your own voice

Self-hosted Chatterbox voice cloning from a short sample, offline Kokoro, or bring your own ElevenLabs / OpenAI key. Never reads the slides aloud β€” it writes real narration.

πŸ–ΌοΈ Images that fit

Local folder, self-hosted SwarmUI/FLUX, Google Imagen, DALLΒ·E, or free Pexels/Unsplash stock β€” matched to each slide.

🎭 Talking-head avatar

A lip-synced head of you in the corner β€” self-hosted SadTalker, or hosted D-ID. Optional, off by default.

πŸ“ Narration you control

Presenter-style from notes or content, a length target per slide, verbatim speaker notes, or your own exact script.

πŸ”’ Privacy-first

Runs on your machine or your server. Voice samples and photos are used per-render and deleted β€” no biometric data at rest.

🧩 Two outputs, one deck

enrich a deck with images (Markdown or PPTX), or create the full narrated video.

Get it

Free and open source. Install locally for full control over the LLM, image, and video generation β€” or try the hosted app first.

Install with pip
# everything, including the web UI
pip install "slide-stream[all-ai,serve]"

# make a video
slide-stream create deck.md out.mp4

# or open the web UI in your browser
slide-stream serve

Python 3.10+ and FFmpeg required. Provider keys are optional and read from your environment.