sligter/LandPPT

一个基于LLM的演示文稿生成平台,能够自动将文档内容转换为专业的PPT演示文稿。平台支持多种AI模型,提供丰富的模板和样式选择,让用户能够创建高质量的演示文稿。

LandPPT – AI‑powered presentation creator

One‑sentence summary – LandPPT is a web platform that turns a topic or an uploaded document into a fully editable, professional‑looking PowerPoint (or HTML) deck, complete with outline, images, speaker notes, TTS narration and multi‑format export, all driven by large language models.


What it does (core capabilities)

Capability What you get
One‑click generation Provide a theme, a PDF/Word/Markdown/Excel/PPT file, and the system produces a structured outline and a complete HTML‑based slide deck in parallel.
Fast mode + template packs Pre‑defined template packs (cover, TOC, content, summary, etc.) are automatically matched to AI‑generated text and filled with SVG components, dramatically speeding up slide creation.
Smart image sourcing Images are pulled from three sources – a local library, public image APIs (Pixabay, Unsplash), and AI generators (DALL·E, SiliconFlow, etc.) – with automatic sizing and format handling.
Deep research Optional web‑search via Tavily or a self‑hosted SearXNG instance fetches up‑to‑date information and summarises it for the outline.
Speaker notes & video Generates a script for each slide, then uses Edge‑TTS (or optional ComfyUI TTS) to produce per‑slide narration and assembles a 1080p video with optional subtitles.
Multi‑format export PDF, HTML, PPTX (editable via Apryse license), image‑only PPTX, DOCX, Markdown, and shareable links.
Automation & API OpenAI‑compatible REST endpoints, API‑key authentication, and role‑based model routing (outline, slide, template, script) to control cost.
Deployable stack Single‑container Docker image for quick trials; Docker‑Compose/Helm for production with PostgreSQL, Valkey, MinIO, and a separate PPTX renderer.

Who might use it

  • Business teams that need quick, polished decks for pitches or reports.
  • Educators & students looking for auto‑generated lecture slides with speaker notes.
  • Content creators who want to turn blog posts or research papers into video‑ready presentations.
  • Developers / SaaS platforms that can call the API to embed PPT generation into their own workflows.

Tech stack (as described in the README)

  • Backend: Python 3.11+, FastAPI, SQLite (default) or PostgreSQL, Valkey for caching, ffmpeg for video rendering.
  • Frontend: Ant Design UI built with Vite, compiled into static assets served by FastAPI.
  • AI providers: OpenAI GPT, Anthropic Claude, Google Gemini, Azure OpenAI, plus any OpenAI‑compatible service (DeepSeek, Moonshot, Qwen, etc.) and local Ollama models.
  • Image services: Pixabay, Unsplash, DALL·E, SiliconFlow, Pollinations, etc.
  • Search / research: Tavily API or self‑hosted SearXNG.
  • Containerisation: Docker (single‑container image) and Docker‑Compose for multi‑service production deployment; Helm/Argo CD support mentioned.

Getting started (quick‑start steps)

  1. Clone & install – git clone https://github.com/sligter/LandPPT.git.
  2. Build the frontend – npm ci --prefix frontend && npm run build --prefix frontend.
  3. Install Python deps – either with uv sync --extra dev (recommended) or a classic pip install -e . inside a virtualenv.
  4. Create a .env – copy .env.example and add at least one AI API key (e.g., OPENAI_API_KEY).
  5. Run – uv run python run.py (or python run.py). The service will be reachable at http://localhost:8000.
  6. Optional Docker – pull bradleylzh/landppt:latest and start with the provided docker run command, or use the supplied docker-compose.yml for a full production‑like stack.

Limitations & gotchas (from the README)

  • AI key required for any generation; without it the platform cannot produce slides.
  • Editable PPTX needs a commercial Apryse license (APRYSE_LICENSE_KEY). Without it you can still export an image‑only PPTX.
  • Image service is disabled by default – enable it via ENABLE_IMAGE_SERVICE=true and provide the relevant API keys.
  • Deep research and AI image generation also need their own external keys (Tavily, Pixabay, etc.).
  • Production security – change default SECRET_KEY, admin credentials, and API keys; do not commit them to the repo.
  • Database migrations – major upgrades (e.g., template‑package feature) require running the migration command python -m landppt.cli migrate before starting the new version.

License

Apache License 2.0 (see LICENSE). Note that exporting standard editable PPTX pulls in third‑party components (Apryse) that have their own licensing terms.


Bottom line – LandPPT is a full‑stack, open‑source AI presentation platform that can be run locally or deployed in containers, supporting a wide range of AI models, image sources, and export formats, making it suitable for anyone who wants to automate slide creation from text or documents.

Related

  • Project
  • Project
  • Project
  • Project
  • Project