Add selectable native LTX Original runtime and DeskWEB API integration

This commit is contained in:
Mikei386
2026-09-30 15:32:19 +02:00
parent e7a1deaab0
commit a6b7ab93ab
20 changed files with 507 additions and 25 deletions
+102
View File
@@ -0,0 +1,102 @@
# LTX Original
LTX Original ist eine zusätzliche native Python-Laufzeit für die originale
LTX-Desktop-API. LTX DeskWEB bleibt eine separate Docker-Oberfläche. ComfyUI
bleibt verfügbar, wird nicht ersetzt und übernimmt weiterhin Bildgenerierung.
## Installation und Verwendung
1. **Einstellungen → Laufzeiten → LTX Original** öffnen und installieren.
Installation und Abbruch sind echte serverseitige Aktionen. Die eigene
Installationsausgabe, Phase und festgelegten Versionen werden angezeigt.
2. Im Bereich **Video → Laufzeit / Aktives Modell** `LTX Original` wählen.
Die Laufzeitauswahl ist nur im LLM-Modus möglich. Das heruntergeladene
LTX-2.5-Distilled-Modell aktivieren; fehlende Komponenten dort nachladen.
3. In der Übersicht auf **Video** wechseln. Deck beendet nur eigene GPU-Worker,
prüft freie GPUs, startet das Backend und wartet auf dessen Health-Endpunkt.
Gewichte laden bei Generierung, nicht beim API-Start.
4. LTX DeskWEB öffnen. Es leitet die originale API über den gemeinsamen
Deck-API-Port weiter. Auflösung, Dauer, Bilder und Audio gehören in DeskWEB.
5. Auf **LLM** wechseln: der komplette Backend-Prozess endet, einschließlich
seiner GPU-Allokationen. Ein Deck-Neustart beendet ebenfalls seinen Worker.
Laufzeitinstallation benötigt Debian/Linux, Git, Python >=3.12 und venv.
Die bestehende CUDA-/PyTorch-Umgebung der Bildlaufzeit wird über einen lesenden
Python-Suchpfad wiederverwendet; LTX-spezifische Pakete liegen in einem neuen
Overlay. ComfyUI-Pakete werden nicht geändert. Ohne vorhandene Umgebung werden
CUDA-Pakete separat installiert. Freier Platz: mindestens 5 bzw. 25 GiB.
Die Installation lädt keine Modellgewichte und startet keine Inferenz.
Quellen und unveränderliche Revisionen:
- [LTX Desktop](https://github.com/Lightricks/LTX-Desktop),
`68cd86c15e5fd25f56229ea63c0dbcb0338f7812` (passend zum DeskWEB-Import).
- [LTX-2](https://github.com/Lightricks/LTX-2),
`d151147788a9284cca791edc6ce898007e727fe6` / v1.2.0.
- Originale Lizenz/Notices bleiben im heruntergeladenen Checkout. Die
Modell-Lizenz ist davon unabhängig. Keine automatische Umstellung auf HEAD.
## Prozess und Speicher
`state/ltx-original-runtime/<id>` enthält Quellcode und Python-Umgebung;
`state/video/original-work` enthält Backend-Einstellungen, Ein-/Ausgaben und
Symlinks zur Deck-Bibliothek. Gewichte werden nicht kopiert.
Die logischen Geräte werden über GPU-UUIDs geordnet: CUDA0 ist RTX 5080,
CUDA1 ist RTX 3060. Transformer und VAE laufen auf CUDA0. Eine kleine
Deployment-Erweiterung des originalen PromptEncoder führt die Textkodierung auf
CUDA1 aus und überträgt ausschließlich das Conditioning zurück auf CUDA0.
API-Schemas und Generierungspipelines werden nicht in eine generische API übersetzt.
BF16-Transformer und BF16-Textencoder passen nicht vollständig in den VRAM.
Das originale `OffloadMode.DISK` streamt Gewichte über begrenzte CPU-Puffer.
Das ist absichtlich keine Zusage vollständiger GPU-Residenz oder der besten
Geschwindigkeit. Es vermeidet das vollständige Pinnen der riesigen BF16-Gewichte
im auf 32 GiB begrenzten Deck-Testcontainer. Die Auswirkungen auf Geschwindigkeit
müssen anhand echter Generierungen geprüft werden.
Der Backend-Port ist dynamisch und nur auf Loopback erreichbar. Der gemeinsame
Deck-Port leitet im Video-Modus die originale HTTP-API weiter und schützt sie
mit dem vorhandenen API-Token. ComfyUI verwendet weiterhin seine eigene API.
Die Web-Oberfläche selbst erhält keinen Docker-Socket oder GPU-Zugriff.
## DeskWEB anbinden
Backend-URL bleibt `http://127.0.0.1:8120` bei der aktuellen Athena-Installation.
Der Token bleibt serverseitig. Wichtig: UI und Backend müssen dieselben Medien
sehen. Für die native Laufzeit sind die neuen Mounts:
- Host `.../state/video/original-work/remote-inputs/deskweb` → Web `/data/inputs`.
- Host `.../state/video/original-work/outputs` → Web `/data/outputs:ro`.
- `BACKEND_INPUT_DIR=/var/lib/deck/video/original-work/remote-inputs/deskweb`
- `BACKEND_OUTPUT_DIR=/var/lib/deck/video/original-work/outputs`
Die Backend-Pfade beziehen sich auf die derzeitige Deck-Testcontaineransicht.
Beim nativen systemd-Produkt müssen die tatsächlichen absoluten Hostpfade gesetzt
werden. Schreibende Eingaben benötigen eine gemeinsame Gruppe; nur dieses neue
Medienverzeichnis provisionieren, keine rekursive Änderung alter LTX-Daten.
Vorhandene Projekte mit alten Medienpfaden migrieren nicht automatisch.
## Grenzen und API
Die fünf vorhandenen LTX-2.5-Dateien decken das Basisrezept ab. Zusätzliche
LoRAs, Control-Modelle, AutoDuration und lokale Prompt-Aufwertung können weitere
Gewichte benötigen. Die originale API meldet diese Voraussetzungen; das
Basisrezept behauptet nicht, alle optionalen Desktop-Funktionen freizuschalten.
Bisherige lokale Desktop-Erweiterungen sind nicht automatisch im Original-Backend.
- GET `/api/v1/ltx-original-runtime` / `/log`
- POST `/api/v1/ltx-original-runtime/install` / `/cancel` mit `{}`
- POST `/api/v1/video/runtime` mit `{"runtime":"original"}` oder `comfy`
- Bestehende `/api/v1/video/service` und `/mode` bleiben erhalten.
Alle Verwaltungsaktionen benötigen die Deck-Administratorsitzung und den
bestehenden POST-/Origin-Schutz. Backup exportiert Auswahl, Einstellungen und
festgelegtes Runtime-Rezept; Gewichte und Python-Pakete werden nachgeladen.
## Integrationsstand am 30.09.2026
Lokale Verwaltungs-, Auswahl-, Backup-, Gerätepolicy- und Transporttests sind
geprüft. Die erste Installation auf Athena, DeskWEB-Mountumstellung und echte
CUDA-Generierung stehen noch aus: die LAN-/SSH-Verbindung fiel während der
Integration aus. Die vorhandenen Remote-Dienste wurden bisher nicht geändert.