Skip to content

SohailAwg/LTX-Desktop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LTX Desktop

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).

Start here: choose your setup

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

Option A: Private RunPod API setup

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.

  1. 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.

  2. Expose HTTP port 8000 on the Pod.

  3. Build and push the RunPod image from this repo:

    docker build -f runpod/Dockerfile -t ltx-desktop-runpod:latest .
  4. Set these Pod environment variables:

    RUNPOD_PRIVATE_API_TOKEN=change-this-long-random-token
    LTX_APP_DATA_DIR=/workspace/ltx-data
    LTX_PORT=8000
  5. Start the Pod with the image. The server listens on:

    https://<pod-id>-8000.proxy.runpod.net
    
  6. Open LTX Desktop, then go to Settings > General and choose Private RunPod API.

  7. Go to Settings > API Keys, paste the RunPod URL, and save the same token from RUNPOD_PRIVATE_API_TOKEN.

  8. 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.

Option B: Local GPU setup

  1. Use Windows or Linux with an NVIDIA CUDA GPU and 16 GB+ VRAM.
  2. Install the app or run from source.
  3. Complete first-run setup.
  4. Download the required local models when prompted.
  5. Optional: enable Local Text Encoder for fully local prompt encoding and prompt enhancement.

Option C: Official LTX API setup

  1. Create an LTX API key from the LTX Console.
  2. Open Settings > General and choose the official LTX API mode.
  3. Open Settings > API Keys and save the LTX API key.
  4. Generate normally. API-backed features send prompts and input media to the official LTX service.

Gen Space

Video Editor

Timeline gap fill

Features

  • Text-to-video generation
  • Image-to-video generation
  • Audio-to-video generation
  • Video edit generation (Retake)
  • Video Editor Interface
  • Video Editing Projects

Local vs API mode

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.

System requirements

Windows (local generation)

  • 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)

Linux (local generation)

  • 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

macOS (remote generation)

  • Apple Silicon (arm64)
  • macOS 13+ (Ventura)
  • Stable internet connection

Install

  1. Download the latest installer from GitHub Releases: Releases
  2. Install and launch LTX Desktop
  3. Complete first-run setup

First run & data locations

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.

API keys, cost, and privacy

LTX API key

The LTX API is used for:

  • Cloud text encoding and prompt enhancementFREE; 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.

Private RunPod API token

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.

fal API key (optional)

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.

Gemini API key (optional)

Used for AI prompt suggestions. When enabled, prompt context and frames may be sent to Google Gemini.

Architecture

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).
  • 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
Loading

Development (quickstart)

Prereqs:

  • Node.js
  • uv (Python package manager)
  • Python 3.12+
  • Git

Setup:

pnpm setup:dev

Run:

pnpm dev

Debug:

pnpm dev:debug

dev:debug starts Electron with inspector enabled and starts the Python backend with debugpy.

Typecheck:

pnpm typecheck

Backend tests:

pnpm backend:test

Building installers:

Telemetry

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.

Docs

Contributing

See CONTRIBUTING.md.

License

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.

About

An open-source desktop app for generating videos with LTX models, configured to run on Runpod too.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 71.1%
  • Python 26.8%
  • Shell 0.9%
  • PowerShell 0.8%
  • CSS 0.2%
  • JavaScript 0.1%
  • Other 0.1%