LandPPT is a presentation platform built on large language models (LLMs). By processing existing documents, it generates professional slide decks automatically. The platform allows you to choose your preferred AI provider and templates, while the system handles the heavy lifting of layout and formatting.
LandPPT integrates with several backends. You can use OpenAI's frontier models like GPT-4.5 or GPT-5, switch to Anthropic's Claude-3, or run Google's Gemini-2.5. For enterprise-grade security, you can route traffic through Azure OpenAI. If you prefer to keep your data local, the platform also supports Ollama.
The platform accepts PDFs, Word documents, Markdown files, and plain text. Using libraries like mineru and markitdown, LandPPT extracts both structure and meaning from your files. For projects requiring deeper data, the "DEEP research mode" utilizes the Tavily API to gather and incorporate current information into your slides.
Every presentation starts with a global master template that applies consistent HTML styling across all slides. While the AI suggests various layout options, you are not limited to the defaults. You can import custom designs, build new master templates from scratch, or prompt the AI to generate a unique style. All templates are saved for future use.
The creation process is divided into three logical stages. First, you define the project scope: topic, target audience, and page count. Second, you review and modify the AI-generated outline. Third, the system generates the full HTML presentation. A visual editor allows you to rearrange sections before finalizing, with a 16:9 preview that updates in real time.
The UI is designed for clarity. A dedicated AI chat panel sits in the left sidebar; simply select a slide and ask the assistant to rewrite bullet points, simplify descriptions, or regenerate specific content without affecting the rest of the deck. Exporting is straightforward, with options for PDF, HTML, or PPTX, along with a one-click shareable link feature.
uvClone the repository and navigate to the directory:
git clone https://github.com/sligter/LandPPT.git
cd LandPPT
Install the uv tool. On Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
On macOS or Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Sync the environment and install the Apryse SDK:
uv sync
uv pip install apryse-sdk --extra-index-url=https://pypi.apryse.com
Create your environment file from the template and add your API keys:
cp .env.example .env
Start the application:
uv run python run.py
Pull the latest image:
docker pull bradleylzh/landppt:latest
Run the container. Ensure you mount your .env file and define volumes for persistent storage:
docker run -d \
--name landppt \
-p 8000:8000 \
-v $(pwd)/.env:/app/.env \
-v landppt_data:/app/data \
-v landppt_reports:/app/research_reports \
-v landppt_cache:/app/temp \
bradleylzh/landppt:latest
Monitor the logs:
docker logs -f landppt
Note: You must configure the .env file before launching the container, as valid API keys are required for the AI features to function.
Once the service is active, access the interface at http://localhost:8000. The default credentials are admin (username) and admin123 (password). You should update these settings immediately upon your first login.
API documentation is available at http://localhost:8000/docs, and you can monitor system status via the /health endpoint.
In the settings menu, you can input your API keys for OpenAI, Anthropic, and Google. If you are running Ollama locally, provide the local address to connect the service.
Use the AI chat sidebar to polish the content—adjust the tone, shorten text, or replace placeholders with specific data. When finished, export the project as a PDF, HTML, or PPTX file. LandPPT also includes version control, allowing you to revert to previous drafts if necessary.
Important settings found in .env:
AI Providers
DEFAULT_AI_PROVIDER=openai
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
GOOGLE_API_KEY=your_google_api_key_here
Server Settings
HOST=0.0.0.0
PORT=8000
SECRET_KEY=your-secure-secret-key
Feature Toggles
TAVILY_API_KEY=your_tavily_api_key_here # Enables web search functionality
APRYSE_LICENSE_KEY=your_apryse_key_here # Required for native PPTX exports
Backend
AI and Integration
Processing and Export
LandPPT automates the tedious aspects of slide creation. By focusing on the content rather than the layout, you can produce clean, effective presentations without manually managing master slides or element alignment.
Sunshine Streaming Host Specs: What Hardware You Actually Need
Fuck-U-Code: A Brutally Honest Code Quality Analyzer
Shendeng VPN Review: High-Speed Gaming, Video Streaming, and Unlimited Data
ShareGPT-4o-Image & Janus-4o: Open-Source Models Reaching GPT-4o Output Quality
Grok CLI: AI-Powered Terminal Assistant for Files and Bash Commands
NPS Proxy: A Powerful Self-Hosted Tunnel to Expose Local Servers
Fay: Build and Deploy Your Own Talking Digital Human for Free
II-Agent Review: An Open-Source LLM Assistant Built for Autonomous Tasks
AutoGenLib: Generate Python Code on the Fly With OpenAI API
Deep Search Lighting: Lightweight Web Search for LLMs
GraphGen: Build Knowledge Graphs to Generate Smarter Training Data
LiveTerm: A Next.js Terminal-Style Website Template