window.LTXOriginalUI=(()=>{ const e=v=>String(v??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); async function api(path='',data){const r=await fetch('/api/v1/ltx-original-runtime'+path,data?{method:'POST',headers:{'Content-Type':'application/json','X-Athena-Deck':'1'},body:JSON.stringify(data)}:{});const s=await r.json();if(!r.ok)throw Error(s.error||'Anfrage fehlgeschlagen');return s;} function render(){const view=document.querySelector('#view');if(view.querySelector('#ltx-original-page'))return; view.innerHTML='

LTX Original

Originales Lightricks-Backend für die LTX-Desktop-API. LTX DeskWEB bleibt die separate Oberfläche unter Weitere Dienste.

Installation

Eigene Installationsausgabe

Verwendung

Im Bereich Video die Laufzeit LTX Original wählen und das heruntergeladene LTX-Modell aktivieren. Danach in der Übersicht auf Video wechseln. Die originale API liegt am gemeinsamen API-Port; LTX DeskWEB spricht sie direkt an. Gewichte laden erst bei Generierung. Der Wechsel auf LLM beendet das Backend und gibt seinen GPU-Speicher frei.

5080: Transformer und VAE. 3060: Textencoder. Große BF16-Gewichte werden gestreamt; sie liegen nicht vollständig im VRAM. Zusätzliche Funktionen können weitere Komponenten benötigen.

Videomodell und Laufzeit wählen →
'; const root=view.firstChild; async function poll(){if(!root.isConnected)return;try{const s=await api();if(!root.isConnected)return;const running=s.job?.state==='running';root.querySelector('#ltx-install').disabled=s.installed||running;root.querySelector('#ltx-cancel').disabled=!running;root.querySelector('#ltx-install-state').innerHTML=`

${s.installed?'Installiert · bereit':'Noch nicht installiert'}

Original-Backend: ${e(s.desktop_revision)}
LTX-Inferenz: ${e(s.ltx_revision)}

${s.shared_cuda?'Vorhandene CUDA-/PyTorch-Pakete werden lesend wiederverwendet.':'Eigene CUDA-/PyTorch-Pakete erforderlich.'} Benötigter freier Speicher: ${e(s.required_disk_gib)} GiB. Installation lädt keine Gewichte und startet kein Modell.

${s.job?`

${e(s.job.state)} · ${e(s.job.phase)}

${running?'':''}`:''}`;if(s.job){const log=await api('/log');if(root.isConnected)root.querySelector('#ltx-install-log').textContent=log.text;}}catch(x){root.querySelector('#ltx-install-message').textContent=x.message;}if(root.isConnected)setTimeout(poll,3000);} for(const [id,path] of [['ltx-install','/install'],['ltx-cancel','/cancel']])root.querySelector('#'+id).onclick=async()=>{try{await api(path,{});root.querySelector('#ltx-install-message').textContent='Aktion angenommen.';poll();}catch(x){root.querySelector('#ltx-install-message').textContent=x.message;}}; poll();} return {render}; })();