LTX Desktop is an open-source desktop app for generating videos with LTX models — locally on supported Windows/Linux NVIDIA GPUs, with an API mode for unsupported hardware and macOS.
Status: Beta. Expect breaking changes. Frontend architecture is under active refactor; large UI PRs may be declined for now (see
CONTRIBUTING.md).
LTX Desktop can run generation in three ways. Pick one before setup:
| Mode | Best for | Where generation runs | Sends media to third parties? |
|---|---|---|---|
| Local GPU | A workstation with enough VRAM | Your own computer | No |
| Private RunPod API | A low-VRAM computer with a private cloud GPU | Your RunPod Pod | No, only your own Pod |
| Official LTX API | Quick managed cloud setup | LTX official servers | Yes |
Use this when your desktop computer does not have enough GPU memory, but you do not want prompts, images, audio, or videos sent to the official LTX API.
-
Create a RunPod Pod with a CUDA GPU. Recommended for LTX 2.3: A100 80 GB, 112 GB+ RAM, and 150 GB+ disk for ephemeral testing.
-
Expose HTTP port
8000on the Pod. -
Build and push the RunPod image from this repo:
docker build -f runpod/Dockerfile -t ltx-desktop-runpod:latest . -
Set these Pod environment variables:
RUNPOD_PRIVATE_API_TOKEN=change-this-long-random-token LTX_APP_DATA_DIR=/workspace/ltx-data LTX_PORT=8000
-
Start the Pod with the image. The server listens on:
https://<pod-id>-8000.proxy.runpod.net -
Open LTX Desktop, then go to Settings > General and choose Private RunPod API.
-
Go to Settings > API Keys, paste the RunPod URL, and save the same token from
RUNPOD_PRIVATE_API_TOKEN. -
Generate normally. The desktop app uploads inputs to your Pod, the Pod downloads any selected model variation if missing, runs generation, then returns the output video to your local outputs folder.
Full RunPod details: docs/runpod-private-api.md.
- Use Windows or Linux with an NVIDIA CUDA GPU and 16 GB+ VRAM.
- Install the app or run from source.
- Complete first-run setup.
- Download the required local models when prompted.
- Optional: enable Local Text Encoder for fully local prompt encoding and prompt enhancement.
- Create an LTX API key from the LTX Console.
- Open Settings > General and choose the official LTX API mode.
- Open Settings > API Keys and save the LTX API key.
- Generate normally. API-backed features send prompts and input media to the official LTX service.
- Text-to-video generation
- Image-to-video generation
- Audio-to-video generation
- Video edit generation (Retake)
- Video Editor Interface
- Video Editing Projects
| Platform / hardware | Generation mode | Notes |
|---|---|---|
| Windows + CUDA GPU with ≥16GB VRAM | Local generation | Downloads model weights locally |
| Windows (no CUDA, <16GB VRAM, or unknown VRAM) | Private RunPod API or official LTX API | RunPod keeps media on your own Pod; official LTX API requires an LTX API key |
| Linux + CUDA GPU with ≥16GB VRAM | Local generation | Downloads model weights locally |
| Linux (no CUDA, <16GB VRAM, or unknown VRAM) | Private RunPod API or official LTX API | RunPod keeps media on your own Pod; official LTX API requires an LTX API key |
| macOS (Apple Silicon builds) | Private RunPod API or official LTX API | RunPod keeps media on your own Pod; official LTX API requires an LTX API key |
In official API mode, available resolutions/durations may be limited to what the API supports. In Private RunPod API mode, available options follow the local LTX pipeline exposed by the Pod.
- Windows 10/11 (x64)
- NVIDIA GPU with CUDA support and ≥16GB VRAM (more is better)
- 16GB+ RAM (32GB recommended)
- 160GB+ free disk space (for model weights, Python environment, and outputs)
- Ubuntu 22.04+ or similar distro (x64 or arm64)
- NVIDIA GPU with CUDA support and ≥16GB VRAM (more is better)
- NVIDIA driver installed (PyTorch bundles the CUDA runtime)
- 16GB+ RAM (32GB recommended)
- Plenty of free disk space for model weights and outputs
- Apple Silicon (arm64)
- macOS 13+ (Ventura)
- Stable internet connection
- Download the latest installer from GitHub Releases: Releases
- Install and launch LTX Desktop
- Complete first-run setup
LTX Desktop stores app data (settings, models, logs) in:
- Windows:
%LOCALAPPDATA%\LTXDesktop\ - macOS:
~/Library/Application Support/LTXDesktop/ - Linux:
$XDG_DATA_HOME/LTXDesktop/(default:~/.local/share/LTXDesktop/)
Model weights are downloaded into the models/ subfolder (this can be large and may take time).
On first launch you may be prompted to review/accept model license terms (license text is fetched from Hugging Face; requires internet).
Text encoding: to generate videos you must configure text encoding:
- LTX API key (cloud text encoding) — text encoding via the API is completely FREE and highly recommended to speed up inference and save memory. Generate a free API key at the LTX Console. Read more.
- Local Text Encoder (extra download; enables fully-local operation on supported Windows hardware) — if you don't wish to generate an API key, you can encode text locally via the settings menu.
The LTX API is used for:
- Cloud text encoding and prompt enhancement — FREE; text encoding is highly recommended to speed up inference and save memory
- Official API-based video generations — paid
- Retake — paid
An LTX API key is required only when using the official LTX API mode. It is not required for Private RunPod API mode.
Generate a FREE API key at the LTX Console. Text encoding is free; video generation API usage is paid. Read more.
When you use API-backed features, prompts and media inputs are sent to the API service. Your API key is stored locally in your app data folder — treat it like a secret.
Used when Settings > General > Video Generation Provider is set to Private RunPod API.
The desktop app sends prompts and media only to the RunPod URL you configure. The Pod runs the same local backend pipeline, downloads selected model variations when missing, and returns generated video bytes to your desktop app. Store the RunPod bearer token securely; anyone with the URL and token can use your Pod.
Used for Z Image Turbo text-to-image generation in API mode. When enabled, image generation requests are sent to fal.ai.
Create an API key in the fal dashboard.
Used for AI prompt suggestions. When enabled, prompt context and frames may be sent to Google Gemini.
LTX Desktop is split into three main layers:
- Renderer (
frontend/): TypeScript + React UI.- Calls the local backend over HTTP at
http://localhost:8000. - Talks to Electron via the preload bridge (
window.electronAPI).
- Calls the local backend over HTTP at
- Electron (
electron/): TypeScript main process + preload.- Owns app lifecycle and OS integration (file dialogs, native export via ffmpeg, starting/managing the Python backend).
- Security: renderer is sandboxed (
contextIsolation: true,nodeIntegration: false).
- Backend (
backend/): Python + FastAPI local server.- Orchestrates generation, model downloads, and GPU execution.
- Calls external APIs only when API-backed features are used.
graph TD
UI["Renderer (React + TS)"] -->|HTTP: localhost:8000| BE["Backend (FastAPI + Python)"]
UI -->|IPC via preload: window.electronAPI| EL["Electron main (TS)"]
EL --> OS["OS integration (files, dialogs, ffmpeg, process mgmt)"]
BE --> GPU["Local models + GPU (when supported)"]
BE --> EXT["External APIs (only for API-backed features)"]
EL --> DATA["App data folder (settings/models/logs)"]
BE --> DATA
Prereqs:
- Node.js
uv(Python package manager)- Python 3.12+
- Git
Setup:
pnpm setup:devRun:
pnpm devDebug:
pnpm dev:debugdev:debug starts Electron with inspector enabled and starts the Python backend with debugpy.
Typecheck:
pnpm typecheckBackend tests:
pnpm backend:testBuilding installers:
- See
INSTALLER.md
LTX Desktop collects minimal, anonymous usage analytics (app version, platform, and a random installation ID) to help prioritize development. No personal information or generated content is collected. Analytics is enabled by default and can be disabled in Settings > General > Anonymous Analytics. See TELEMETRY.md for details.
runpod-private-api.md— private RunPod setupINSTALLER.md— building installersTELEMETRY.md— telemetry and privacybackend/architecture.md— backend architecture
See CONTRIBUTING.md.
Apache-2.0 — see LICENSE.txt.
Third-party notices (including model licenses/terms): NOTICES.md.
Model weights are downloaded separately and may be governed by additional licenses/terms.


