Modell / Datensatz
sligter/LandPPT avatar
sligter/LandPPT

LandPPT: LLM-gestützte Präsentationen zwischen HTML-Rendering und kommerzieller PPTX-Lizenz

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

3.596 Sterne480 ForksPythonNOASSERTION

Auf einen Blick

Was ist das?
LandPPT wandelt Themenbeschreibungen oder Dokumente über einen vierstufigen Workflow in HTML-Folien um und exportiert sie unter anderem als PDF, PPTX oder Video. Der interessanteste Punkt ist zugleich der unpraktischste: editierbares PPTX verlangt einen kommerziellen Apryse-Schlüssel.
Für wen ist es gedacht?
Wer Präsentationen aus vorhandenen Dokumenten automatisiert und den Export als Bild-PPTX oder PDF akzeptiert, kann LandPPT mit einem einzigen Provider-Key und uv run python run.py lokal ausprobieren. Wer auf nachbearbeitbares PPTX angewiesen ist, muss vorher klären, ob ein APRYSE_LICENSE_KEY beschafft werden kann, denn ohne ihn bleibt nur der bildbasierte Export.
Darf ich es kommerziell nutzen?
Erst prüfen. Die Lizenz dieses Repositorys ordnen wir nicht automatisch ein; lesen Sie vor jeder kommerziellen Nutzung die LICENSE-Datei.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 2 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Welches Problem LandPPT adressiert und für wen es gedacht ist

Der Ausgangspunkt ist ein wiederkehrender Ablauf: aus einem Thema, einem Bericht oder einem Foliensatz soll eine Präsentation entstehen, und dazwischen liegen Recherche, Gliederung, Layout, Bebilderung und ein Sprechtext. LandPPT bündelt diese Schritte in einer Weboberfläche. Als Eingabe nennt das README eine Themenbeschreibung oder Dokumente in PDF, Word, Markdown, Excel und PowerPoint. Die Zielgruppe sind damit weniger Designabteilungen als Einzelpersonen und kleine Teams, die regelmäßig Präsentationen aus vorhandenem Material erzeugen und dabei mehrere Sprachmodelle austauschbar einsetzen wollen.

Bemerkenswert ist die Adressierung von Kosten. Das README beschreibt eine Routing-Option, bei der unterschiedliche Rollen (Gliederung, Folien, Bearbeitung, Vorlage, Sprechtext) auf verschiedene Modelle zeigen. Wer eine günstige Variante für die Gliederung und ein stärkeres Modell nur für die Folien nutzt, kann das ohne Codeänderung über die Konfiguration abbilden. Das ist ein Betriebsdetail, kein Marketingversprechen, und es ist der Punkt, an dem sich LandPPT von Werkzeugen unterscheidet, die einen einzigen festen Anbieter voraussetzen.

Der Vier-Phasen-Workflow und was tatsächlich gerendert wird

Laut README läuft die Erzeugung in vier Phasen: Anforderungsklärung, Gliederung, Aufgabenverfolgung, PPT-Erzeugung. Die Gliederung ist bearbeitbar und visuell dargestellt, einzelne Phasen lassen sich erneut ausführen oder fortsetzen. Das Zwischenprodukt sind HTML-Folien, die parallel erzeugt werden. Das ist eine bewusste Architekturentscheidung: Das Layout wird nicht in ein Office-Format geschrieben, sondern im Browser gerendert, und die Bearbeitung per KI-Seitenleiste, Bildwechsel und visuelle Referenzen setzen auf dieser HTML-Darstellung auf.

Für die Bildbeschaffung nennt das README drei Quellen: eine lokale Bibliothek, Netzwerkgalerien (Pixabay, Unsplash) und generierte Bilder über mehrere Anbieter. Die Bilddienste sind standardmäßig deaktiviert und werden über ENABLE_IMAGE_SERVICE eingeschaltet. Für die Recherche kommen Tavily und SearXNG zum Einsatz; das ist optional und nur relevant, wenn aktuelle Informationen in die Gliederung einfließen sollen. Die Dokumentenanalyse stützt sich auf MinerU und MarkItDown. Auffällig ist, dass alle diese Zusatzfähigkeiten eigene Schlüssel oder Dienste benötigen. Ein reiner Test der Kernfunktion ist möglich, ein Test des vollständigen Funktionsumfangs nicht, ohne mehrere Konten und Schlüssel zu hinterlegen.

Inbetriebnahme: drei Wege mit sehr unterschiedlichem Aufwand

Der lokale Weg führt über uv. Nach git clone und cd LandPPT folgen uv sync --extra dev, das Kopieren von .env.example nach .env und das Eintragen mindestens eines AI-API-Schlüssels. Gestartet wird mit uv run python run.py, der Dienst lauscht standardmäßig auf Port 8000 und nutzt SQLite mit In-Memory-Cache. Alternativ beschreibt das README eine Installation über pip in einer virtuellen Umgebung mit pip install -e . und demselben Startbefehl.

Für den Containerbetrieb gibt es ein Einzelcontainer-Image bradleylzh/landppt:latest mit gemounteten Volumes für Daten, Uploads, Berichte, Cache und Bibliothek sowie einer eingebundenen .env-Datei. Der Produktionsweg nutzt docker compose up -d und startet laut README fünf Komponenten: Web, Worker, PostgreSQL, Valkey und MinIO, wobei minio-init den Bucket anlegt. Die Oberfläche bleibt auf Port 8000, das MinIO-Konsolendisplay auf 9001. Für Entwicklung existiert docker-compose-dev.yaml mit Quellcode-Mount und Hot Reload.

Zwei Konfigurationsdetails verdienen Aufmerksamkeit. Erstens die Migrationen: Standardmäßig prüft der Start auf ausstehende Migrationen und führt sie aus, abschaltbar über LANDPPT_AUTO_MIGRATE_ON_STARTUP=false. Das README empfiehlt, bei mehreren Knoten auf derselben Datenbank die automatische Migration zu deaktivieren und stattdessen einen separaten Migrationslauf zu starten. Zweitens die Admin-Initialisierung: In Produktionsumgebungen ist sie standardmäßig aus und wird über LANDPPT_BOOTSTRAP_ADMIN_ENABLED gezielt für die erste Bereitstellung aktiviert. Die Entwicklungsvariante legt dagegen admin mit dem Passwort admin123 an.

Die PPTX-Frage: wo die offene Lizenz an eine kommerzielle Komponente stößt

Der wichtigste Abschnitt des README ist die Tabelle zu Abhängigkeiten und Fähigkeitsgrenzen, und sie sollte vor jeder Evaluierung gelesen werden. Standardmäßig editierbares PPTX setzt einen APRYSE_LICENSE_KEY voraus, also eine kommerzielle Lizenz. Ohne diesen Schlüssel bleibt der bildbasierte PPTX-Export: hohe visuelle Treue, aber die Elemente auf der Seite sind in der Regel nicht mehr nachbearbeitbar. Das ist keine Nebenbemerkung, sondern bestimmt, ob LandPPT in einen bestehenden Foliensatz-Workflow passt.

Die Lizenzangabe des Repositories ist NOASSERTION. Die README-Abzeichen zeigen Apache 2.0, aber die Metadaten des Repositorys bestätigen das nicht. Wer LandPPT produktiv einsetzen will, muss den LICENSE-Text selbst lesen und zusätzlich klären, wie sich eine eingebundene kommerzielle PPTX-Komponente auf die Weitergabe oder den Betrieb als gehosteter Dienst auswirkt. Das ist keine Rechtsberatung, sondern ein Hinweis darauf, dass die beiden Angaben im Material auseinanderfallen. Wer die Lizenzfrage mit dem Badge abhakt, übersieht möglicherweise etwas.

Betriebsgrenzen: Hintergrundaufgaben, Sicherheit und der Videoexport

PDF-, PPTX- und Videoexporte laufen laut README asynchron als Hintergrundaufgaben. In der Einzelcontainer-Variante gibt es keinen separaten Worker; die Compose-Variante trennt Web und Worker. Wer den Einzelcontainer für mehr als eine Person betreibt, sollte damit rechnen, dass Exporte die Weboberfläche belasten. Das README empfiehlt Compose ausdrücklich für Mehrbenutzerbetrieb und Hintergrundaufgaben, was als Hinweis auf genau diese Grenze gelesen werden kann.

Der Videoexport benötigt ffmpeg, die Sprachausgabe läuft über Edge-TTS mit optionaler ComfyUI-Anbindung. Das ist eine weitere externe Abhängigkeit, die in der lokalen Standardinstallation nicht vorhanden ist. Sicherheitsrelevante Voreinstellungen sind im README explizit benannt: SECRET_KEY und Admin-Passwort ändern, LANDPPT_API_KEY beziehungsweise LANDPPT_API_KEYS auf starke Zufallswerte setzen, keine echten Schlüssel ins Repository schreiben. Dass diese Punkte überhaupt so deutlich im README stehen, deutet darauf hin, dass die Standardwerte für einen öffentlich erreichbaren Betrieb nicht gedacht sind.

Für Mehrbenutzerbetrieb nennt das README lokale Konten, GitHub- und Linux-Do-OAuth, E-Mail-Verifikation und Registrierungsdrosselung, optional ein Punktesystem sowie SMTP, Resend und Cloudflare Turnstile. All das ist konfigurationsabhängig, und das Material beschreibt nicht, welche Kombinationen getestet sind. Wer diese Funktionen braucht, muss sie selbst durchspielen.

Wo LandPPT das falsche Werkzeug ist

LandPPT ist kein Werkzeug für Teams, die ein vorhandenes Corporate-Design mit exakten Masterfolien, Schriftgrößen und Platzhaltern reproduzieren müssen. Die Kette führt über HTML-Folien, und der Weg zurück in ein vollständig editierbares Office-Format hängt an der kommerziellen Lizenz. Wer Folien anschließend in PowerPoint weiterbearbeitet, plant entweder die Lizenzkosten ein oder akzeptiert, dass der Export ein Bild ist.

Ein zweiter Ausschlussgrund ist Offline-Betrieb ohne lokale Modelle. Zwar unterstützt LandPPT Ollama, sodass Inferenz lokal möglich ist, aber die Bildsuche über Pixabay und Unsplash, die Recherche über Tavily und SearXNG sowie der Videoexport über Edge-TTS greifen auf externe Dienste oder zusätzliche Binärdateien zu. Eine vollständig abgeschottete Installation deckt nur einen Teil der beworbenen Fähigkeiten ab.

Drittens: Wer nur gelegentlich eine einzelne Präsentation braucht, trägt hier einen erheblichen Konfigurationsaufwand. Mehrere Schlüssel, ein Datenbank- und Objektspeicher-Stack für den Produktivbetrieb, Migrationen und Admin-Initialisierung sind für einen einmaligen Foliensatz überdimensioniert.

Alternative: python-pptx direkt oder ein reiner HTML-Ansatz

Der naheliegende Vergleich ist ein Skript, das ein Sprachmodell aufruft und die Antwort mit python-pptx in eine Präsentationsdatei schreibt. Der Unterschied liegt nicht in der Ausgabequalität, sondern im Kontrollpunkt: Bei python-pptx entsteht die Datei direkt im Office-Format, jede Folie ist ein Objekt mit Platzhaltern, und es gibt keine Zwischenstufe aus HTML und keinen kommerziellen Konverter. Dafür muss man Layout, Textumbruch und Bildplatzierung selbst regeln. LandPPT nimmt einem genau diese Layoutarbeit ab, bezahlt sie aber mit der Abhängigkeit von einem Rendering-Schritt und einem Exportpfad, der ohne Lizenz nur Bilder liefert.

Eine zweite Alternative ist der Verzicht auf Office-Formate zugunsten von HTML-Präsentationen im Browser, etwa über eine JavaScript-Präsentationsbibliothek. LandPPT verfolgt intern genau diesen Ansatz, koppelt ihn aber an eine Serveranwendung mit Datenbank, Worker und Benutzerverwaltung. Wer nur HTML-Folien braucht, kann auf den Serverteil verzichten. Der Unterschied ist also nicht Funktion gegen Nichtfunktion, sondern Integrationstiefe: LandPPT liefert den vollständigen Ablauf inklusive Recherche, Bildbeschaffung, Sprechtext und Freigabelink, während ein eigenes Skript nur den Teil abdeckt, den man selbst schreibt.

Wartung, Upgrades und was vor dem Einsatz zu klären ist

Zwischen April und Juli 2026 erschienen drei Releases in kurzer Folge: v0.3.0, v0.3.1 und v0.3.2, letzteres am 9. Juli 2026. Der letzte Push ins Repository datiert auf den 9. September 2026. Das deutet auf aktive Entwicklung hin, sagt aber nichts über die Stabilität der Schnittstellen zwischen den Versionen. Wer die REST-API oder den OpenAI-kompatiblen Endpunkt produktiv nutzt, sollte vor einem Upgrade die Release Notes prüfen, weil das Material keine Kompatibilitätszusagen enthält.

Die Wartungskosten liegen weniger im Code als in den externen Abhängigkeiten: mehrere Modell-Provider-Schlüssel, optional Tavily oder SearXNG, optional Bilddienste, ffmpeg für Video und im Produktivbetrieb PostgreSQL, Valkey und MinIO. Jede dieser Komponenten hat einen eigenen Upgrade-Zyklus. Hinzu kommt die Apryse-Lizenz, falls editierbares PPTX benötigt wird; sie ist ein laufender Kostenfaktor, kein einmaliger Schalter.

Die Lizenzlage bleibt der unsicherste Punkt. Apache 2.0 laut Badge, NOASSERTION laut Repository-Metadaten. Klären Sie das anhand der LICENSE-Datei, bevor LandPPT in einem gehosteten oder weitergegebenen Kontext landet. Und prüfen Sie, ob die automatische Migration im Zielbetrieb aktiv bleiben soll: Bei mehreren Knoten auf derselben Datenbank ist LANDPPT_AUTO_MIGRATE_ON_STARTUP=false der im README genannte Weg.

Redaktionelles Fazit

Wer Präsentationen aus vorhandenen Dokumenten automatisiert und den Export als Bild-PPTX oder PDF akzeptiert, kann LandPPT mit einem einzigen Provider-Key und uv run python run.py lokal ausprobieren. Wer auf nachbearbeitbares PPTX angewiesen ist, muss vorher klären, ob ein APRYSE_LICENSE_KEY beschafft werden kann, denn ohne ihn bleibt nur der bildbasierte Export. Vor dem Produktivbetrieb sind drei Dinge zu prüfen: der tatsächliche Lizenztext, die Migrationseinstellung LANDPPT_AUTO_MIGRATE_ON_STARTUP bei mehreren Knoten und ein eigener SECRET_KEY statt des Beispielwerts.

Offizielle Quellen

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. sligter/LandPPT on GitHub
Community-Notizen

Community-Notizen