docs: Revamp README

This commit is contained in:
shiva raj badu 2026-03-21 20:26:52 +05:45
parent d98827abc3
commit d2fcc90a94
No known key found for this signature in database
33 changed files with 105 additions and 36310 deletions

206
README.md
View file

@ -15,59 +15,19 @@
<a href="https://presenton.ai/"><img src="https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey?style=flat" alt="Platform" /></a>
</p>
<!--
[![website-shield]][website-url]
[![download-shield]][download-url]
[![docs-shield]][docs-url]
[![youtube-shield]][youtube-url]
[![discord-shield]][discord-url]
<br>
[![docker-shield]][docker-url]
[![stars-shield]][stars-url]
[![license-shield]][license-url]
[![platform-shield]][platform-url]
[website-shield]: https://img.shields.io/badge/Website-presenton.ai-111827?style=flat&logo=google-chrome&logoColor=white
[website-url]: https://presenton.ai/
[download-shield]: https://img.shields.io/badge/Download-Latest%20Release-6C47FF?style=flat&logo=download&logoColor=white
[download-url]: https://presenton.ai/download
[docs-shield]: https://img.shields.io/badge/Docs-docs.presenton.ai-0ea5e9?style=flat&logo=readthedocs&logoColor=white
[docs-url]: https://docs.presenton.ai/
[youtube-shield]: https://img.shields.io/badge/YouTube-PresentonAI-FF0000?style=flat&logo=youtube&logoColor=white
[youtube-url]: https://www.youtube.com/@presentonai
[discord-shield]: https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=flat&logo=discord&logoColor=white
[discord-url]: https://discord.gg/9ZsKKxudNE
[docker-shield]: https://img.shields.io/badge/Docker-ghcr.io/presenton/presenton-2496ED?style=flat&logo=docker&logoColor=white
[docker-url]: https://ghcr.io/presenton/presenton
[stars-shield]: https://img.shields.io/github/stars/presenton/presenton?style=flat
[stars-url]: https://github.com/presenton/presenton
[license-shield]: https://img.shields.io/badge/License-Apache%202.0-blue?style=flat
[license-url]: https://github.com/presenton/presenton/blob/main/LICENSE
[platform-shield]: https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey?style=flat
[platform-url]: https://presenton.ai/ -->
# Open-Source AI Presentation Generator and API (Gamma, Beautiful AI, Decktopus Alternative)
### ✨ Why Presenton
No SaaS lock-in · No forced subscriptions · Full control over models and data
What makes Presenton different?
- Use your **existing PPTX files as templates**
- Fully **self-hosted**
- Works with OpenAI, Gemini, Anthropic, Ollama, or custom models
- API deployable
- Fully open-source (Apache 2.0)
- Use your **existing PPTX files as templates** _(coming soon)_
<p align="center">
<img src="./readme_assets/images/banner_bg.gif" alt="Presenton" />
@ -75,23 +35,56 @@ What makes Presenton different?
#
### 🎛 UI Features
### 🎛 Features
<p align="center">
<img src="./readme_assets/images/UI-elements/features.png" alt="Presenton" />
<img src="./readme_assets/images/features-1.png" alt="Presenton Features" />
</p>
#
### 📌 Download Presenton
### 💻 Presenton Desktop
Create AI-powered presentations using your own model provider (BYOK) or run everything locally on your own machine for full control and data privacy.
<p align="center">
<a href="https://presenton.ai/download">
<img src="./readme_assets/images/banner-4.jpg" alt="Cloud deployment" />
<img src="./readme_assets/images/banner.png" alt="Cloud deployment" />
</a>
</p>
**Available Platforms:** [macOS](https://presenton.ai/download), [Linux](https://presenton.ai/download), [Windows](https://presenton.ai/download)
**Available Platforms**
<table>
<tr>
<th align="left">Platform</th>
<th align="left">Architecture</th>
<th align="left">Package</th>
<th align="left">Download</th>
</tr>
<tr>
<td><b>macOS</b></td>
<td>Apple Silicon / Intel</td>
<td><code>.dmg</code></td>
<td><a href="https://presenton.ai/download">Download ↗</a></td>
</tr>
<tr>
<td><b>Windows</b></td>
<td>x64</td>
<td><code>.exe</code></td>
<td><a href="https://presenton.ai/download">Download ↗</a></td>
</tr>
<tr>
<td><b>Linux</b></td>
<td>x64</td>
<td> <code>.deb</code></td>
<td><a href="https://presenton.ai/download">Download ↗</a></td>
</tr>
</table>
Presenton gives you complete control over your AI presentation workflow. Choose your models, customize your experience, and keep your data private.
@ -115,6 +108,18 @@ Presenton gives you complete control over your AI presentation workflow. Choose
#
### ☁️ Presenton Cloud
Run Presenton directly in your browser — no installation, no setup required. Start creating presentations instantly from anywhere.
<p align="center">
<a href="https://presenton.ai">
<img src="./readme_assets/images/cloud-banner.png" alt="Presenton Cloud" />
</a>
</p>
#
### ⚡ Running Presenton
<p>
@ -124,7 +129,7 @@ Presenton gives you complete control over your AI presentation workflow. Choose
experience (ideal for development or offline use).
</p>
**Option 1: Electron (Desktop App)**
**Option 1: Electron (Desktop App)**
<p>
Run Presenton as a native desktop application. LLM and image provider
@ -139,53 +144,53 @@ Presenton gives you complete control over your AI presentation workflow. Choose
<code>electron/servers/fastapi</code>).
</p>
- Setup (First Time)
<pre><code class="language-bash">cd electron
npm run setup:env</code></pre>
This installs Node dependencies, runs <code>uv sync</code> in the FastAPI
server, and installs Next.js dependencies.
- Setup (First Time)
<pre><code class="language-bash">cd electron
npm run setup:env</code></pre>
- Run in Development
<pre><code class="language-bash">npm run dev</code></pre>
<p>
This compiles TypeScript and starts Electron. The backend and UI run locally
inside the desktop window.
</p>
This installs Node dependencies, runs <code>uv sync</code> in the FastAPI
server, and installs Next.js dependencies.
- Build Distributable (Optional)
To create installers for Windows, macOS, or Linux:
<pre><code class="language-bash">npm run build:all
npm run dist</code></pre>
<p>
Output files are written to <code>electron/dist</code>
(or as configured in your <code>electron-builder</code> settings).
</p>
- Run in Development
<pre><code class="language-bash">npm run dev</code></pre>
<p>
This compiles TypeScript and starts Electron. The backend and UI run locally
inside the desktop window.
</p>
**Option 2: Docker**
- Build Distributable (Optional)
To create installers for Windows, macOS, or Linux:
<pre><code class="language-bash">npm run build:all
npm run dist</code></pre>
<p>
Output files are written to <code>electron/dist</code>
(or as configured in your <code>electron-builder</code> settings).
</p>
- Start Presenton
Linux/MacOS (Bash/Zsh Shell):
<pre><code class="language-bash">docker run -it --name presenton -p 5000:80 -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
Windows (PowerShell):
<pre><code class="language-bash">docker run -it --name presenton -p 5000:80 -v "${PWD}\app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
**Option 2: Docker**
- Open Presenton
<p>
Open <a href="http://localhost:5000">http://localhost:5000</a> in the browser
of your choice to use Presenton.
</p>
<blockquote>
<p>
<strong>Note:</strong> You can replace <code>5000</code> with any other port
number of your choice to run Presenton on a different port number.
</p>
</blockquote>
- Start Presenton
Linux/MacOS (Bash/Zsh Shell):
<pre><code class="language-bash">docker run -it --name presenton -p 5000:80 -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
Windows (PowerShell):
<pre><code class="language-bash">docker run -it --name presenton -p 5000:80 -v "${PWD}\app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
- Open Presenton
<p>
Open <a href="http://localhost:5000">http://localhost:5000</a> in the browser
of your choice to use Presenton.
</p>
<blockquote>
<p>
<strong>Note:</strong> You can replace <code>5000</code> with any other port
number of your choice to run Presenton on a different port number.
</p>
</blockquote>
#
### ⚙️ Deployment Configurations
These settings apply to both Docker and the Electron app's backend. You may want to directly provide your API KEYS as environment variables and keep them hidden. You can set these environment variables to achieve it.
@ -230,6 +235,7 @@ You can disable anonymous telemetry using the following environment variable:
<br>
**Docker Run Examples by Provider**
- Using OpenAI
<pre><code class="language-bash">docker run -it --name presenton -p 5000:80 -e LLM="openai" -e OPENAI_API_KEY="******" -e IMAGE_PROVIDER="dall-e-3" -e CAN_CHANGE_KEYS="false" -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
@ -246,18 +252,14 @@ You can disable anonymous telemetry using the following environment variable:
<pre><code class="language-bash">docker run -it -p 5000:80 -e CAN_CHANGE_KEYS="false" -e LLM="custom" -e CUSTOM_LLM_URL="http://*****" -e CUSTOM_LLM_API_KEY="*****" -e CUSTOM_MODEL="llama3.2:3b" -e IMAGE_PROVIDER="pexels" -e PEXELS_API_KEY="********" -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
- Running Presenton with GPU Support
To use GPU acceleration with Ollama models, you need to install and configure the NVIDIA Container Toolkit. This allows Docker containers to access your NVIDIA GPU.
Once the NVIDIA Container Toolkit is installed and configured, you can run Presenton with GPU support by adding the `--gpus=all` flag:
To use GPU acceleration with Ollama models, you need to install and configure the NVIDIA Container Toolkit. This allows Docker containers to access your NVIDIA GPU.
Once the NVIDIA Container Toolkit is installed and configured, you can run Presenton with GPU support by adding the `--gpus=all` flag:
<pre><code class="language-bash">docker run -it --name presenton --gpus=all -p 5000:80 -e LLM="ollama" -e OLLAMA_MODEL="llama3.2:3b" -e IMAGE_PROVIDER="pexels" -e PEXELS_API_KEY="*******" -e CAN_CHANGE_KEYS="false" -v "./app_data:/app_data" ghcr.io/presenton/presenton:latest</code></pre>
#
### ✨ Generate Presentation via API
**Generate Presentation**
<p>
@ -266,8 +268,6 @@ You can disable anonymous telemetry using the following environment variable:
<strong>Content-Type:</strong> <code>application/json</code>
</p>
**Request Body**
<table>
@ -388,8 +388,6 @@ Options: <code>pptx</code>, <code>pdf</code>
</tbody>
</table>
**Response**
<pre><code class="language-json">{
@ -398,8 +396,6 @@ Options: <code>pptx</code>, <code>pdf</code>
"edit_path": "string"
}</code></pre>
**Example Request**
<pre><code class="language-bash">curl -X POST http://localhost:5000/api/v1/ppt/presentation/generate \
@ -412,8 +408,6 @@ Options: <code>pptx</code>, <code>pdf</code>
"export_as": "pptx"
}'</code></pre>
**Example Response**
<pre><code class="language-json">{
@ -457,6 +451,16 @@ Prepend your servers root URL to <code>path</code> and
### 🚀 Roadmap
- [x] Support for custom HTML templates by developers
- [x] Support for accessing custom templates over API
- [x] Implement MCP server
- [ ] Ability for users to change system prompt
- [x] Support external SQL database
#
### 🚀 Roadmap
Track the public roadmap on GitHub Projects: [https://github.com/orgs/presenton/projects/2](https://github.com/orgs/presenton/projects/2)
#

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 771 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,006 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 861 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB