LandPPT: Create AI-Powered Presentations from Any Document

7月13日 Published inPowerPoint Tools

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.

Key Features

Multiple AI Engines

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.

Robust File Processing

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.

Customizable Templates

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.

Three-Step Workflow

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.

Modern Interface

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.

Quick Start

System Requirements

  • Python 3.11 or newer
  • SQLite 3
  • Docker (optional, but recommended for deployment)

Local Installation via uv

Clone 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

Docker Deployment

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.

Operating LandPPT

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.

Configuring AI Access

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.

Building a Deck

  1. Scope: Enter your topic, define the audience, and set the slide count.
  2. Outline: Review the AI’s suggested structure. You can add, delete, or reorder points here.
  3. Generate: Click the generate button to create the full HTML deck.

Refinement and Export

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.

Configuration Variables

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

Technical Architecture

Backend

  • FastAPI: Manages the web and API layers.
  • SQLAlchemy: Handles database interactions.
  • Pydantic: Manages data validation.
  • Uvicorn: Serves as the ASGI server.

AI and Integration

  • LLMs: Utilizes OpenAI, Anthropic, and Google AI.
  • LangChain: Orchestrates model interactions.

Processing and Export

  • mineru: Used for intelligent PDF parsing.
  • markitdown: Converts various file formats into structured text.
  • Pyppeteer: Renders HTML slides into PDFs.
  • Apryse SDK: Generates native PPTX files.

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.