Skip to content

A Multi-Agent AI Tool that creates beautiful presentations with voice-overs ๐ŸŽฆ๐Ÿ”ฅ

Notifications You must be signed in to change notification settings

rsrohan99/presenter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Presenter ๐ŸŽฆ

Introducing Presenter: A Multi-Agent AI Tool that can:

  • Create beautiful presentations for any given topic ๐Ÿ”ฅ
  • Render intuitive & visually appealing diagrams ๐Ÿ–ผ๏ธ for slides when needed (using Mermaid)
  • Write scripts for every slide ๐Ÿ“œ
  • Render & View interactive presentations in HTML ๐Ÿ’ป (using markdown-slides & reveal.js)
  • Intuitive speaker view with scripts (reveal.js)
  • Export presentations to PDF ๐Ÿ–จ๏ธ (using DeckTape)
  • Generate audio narrations from scripts ๐ŸŽ™๏ธ (using ElevenLabs)
  • Render full video presentations ๐ŸŽฅ with all the slides and voiceover (using FFmpeg)

Video Demo with overview of the multi-agent setup

Presenter

Tools Used

  • LlamaIndex Workflows to orchestrate the entire multi-agent setup
  • markdown-slides and reveal.js for rendering & viewing the presentation
  • Mermaid to render the diagrams
  • DeckTape to export the presentation to PDF
  • ElevenLabs API to create audio narration for the slides
  • FFmpeg to render the full presentation with voiceover

How to use

  • First install the necessary tools
python -m pip install git+https://gitlab.com/da_doomer/markdown-slides.git
npm install -g @mermaid-js/mermaid-cli
npm install -g decktape
npm install -g puppeteer
puppeteer browsers install chrome
  • Install FFmpeg for your operating system from here

  • Clone the repo

git clone https://github.com/rsrohan99/presenter.git
cd presenter
  • Install dependencies
pip install -r requirements.txt
  • Create .env file and add OPENAI_API_KEY and ELEVENLABS_API_KEY
cp .env.example .env
  • Run the workflow with the topic to create the presentation on
python run.py "observer design pattern"
  • Add --export-video argument to generate a full video of the presentation with voiceover.
python run.py "observer design pattern" --export-video
  • After running the workflow, it'll put all the files (slides, video, pdf etc.) inside the presentations folder
  • There be a folder for each presentation generated
  • The interactive HTML for the presentation will be at presentations/<presentation_folder>/output/index.html
  • The extracted PDF of the presentation will be at presentations/<presentation_folder>/presentation.pdf
  • The rendered video with voiceover of the presentation will be at presentations/<presentation_folder>/presentation.mp4

About

A Multi-Agent AI Tool that creates beautiful presentations with voice-overs ๐ŸŽฆ๐Ÿ”ฅ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages