Back to Blog
Tutorials

ComfyUI Tutorial: How to Install and Run an Open-Source AI Video Model Locally

A step-by-step guide to installing an open-source AI video model in ComfyUI locally, covering setup, model downloads, prompting, and your first render.

LTX Team
Tutorials
Video Thumbnail Play
Key Takeaways
  • Covers installing custom nodes via Git, syncing locked dependencies, and activating the environment for a clean first run.
  • Explains where checkpoints, LoRAs, and text encoders need to go, and how to fix missing-model errors.
  • Breaks down prompt structure (subject, action, setting, camera, audio cues) for better first-try results.
  • Includes a troubleshooting section for the most common ComfyUI and dependency issues beginners hit.

This post is based on a two-part quick start walkthrough by VFX creator Doug Hogan, who covered installing and running LTX-2.3 locally in ComfyUI from scratch, including generating a first render. Watch the first video above, and read on for a written, step-by-step version of the guide (the second video is embedded further down, where that part of the tutorial picks up).

This guide is aimed at developers, ComfyUI users, and technical artists who are comfortable with basic Python, Git, and ComfyUI fundamentals. By the end, you'll have LTX-2.3 installed locally and have generated your first image-to-video render.

Before you start: hardware and prerequisites

LTX is a larger model, so generation has real hardware requirements. As a baseline, plan for at least 16GB of VRAM for smaller videos, with 32GB or more recommended for comfortable headroom. Check the LTX documentation to confirm your GPU and VRAM before starting setup, so you don't run into trouble partway through.

You'll also need ComfyUI installed. If you don't already have it, download the desktop app from comfy.org/download.

For anyone who'd rather skip custom node installation entirely, LTX also offers LTX Desktop, a standalone open-source application for generating video locally without needing to touch ComfyUI's custom node system.

Part 1: Installing LTX-2.3 in ComfyUI

There are two ways to install the LTX custom nodes: through the ComfyUI Manager (a more legacy approach), or directly via Git, which offers a bit more control. Here's the Git-based path:

  1. Navigate to your ComfyUI custom nodes directory in a terminal.
  2. Clone the repository:

  git clone [ComfyUI-LTX-Video repository URL]

  1. Change into the new directory:

  cd ComfyUI-LTX-Video

  1. Install locked dependency versions:

  uv sync --frozen

Using the frozen flag matters here: it installs the exact dependency versions the release was tested against, avoiding version-resolver conflicts that can otherwise break a first run.5. Activate the environment:

  source .venv/bin/activate

Because LTX is open source, more advanced users are free to modify the code directly, including with the help of a coding assistant like Claude. That's outside the scope of a quick start, but worth knowing if you want to go further later.

Downloading example workflows and models

Inside the cloned repository, you'll find example workflows organized by LTX version. For LTX-2.3, open the corresponding 2.3 folder to find the relevant JSON workflow files. You can copy these directly from GitHub (the "copy raw file" option works well) or download them locally.

For this quick start, the two-stage distilled workflow for text-to-video and image-to-video is a solid starting point. Once ComfyUI is running with no errors, paste the copied workflow directly onto the canvas.

You'll likely see warnings about missing models and nodes needing input, which is expected on a fresh install. All required checkpoints and LoRA files are available on the LTX's LTX-2.3 Hugging Face page, which serves as the single source for everything the workflow needs. The one external dependency is the Gemma 3 text encoder model, available from the LTX ComfyUI repository, which goes in your text encoders folder.

A useful tip for tracking down a specific missing model: copy its name from the workflow and search for it directly, it will typically point straight back to the correct Hugging Face repo.

Once downloaded, checkpoints go in your checkpoints folder and LoRA files go in your LoRA folder. In the workflow itself, update each model dropdown to point at the correct local file, including the base LTX-2.3 checkpoint, the 22-billion-parameter distilled LoRA, and the Gemma 3 text encoder.

With models loaded and paths updated, load a starting image into the image node (deleting any placeholder load-image node first), and the workflow is ready for a prompt, covered in Part 2 below.

Part 2: Writing the prompt and generating your first render

Before writing a prompt, it helps to understand how data flows through the workflow: left to right, starting with the loaded image, through a text encode step where the prompt is applied, through the sampling stage, and finally through a VAE decode node that produces the final output. Each node transforms the data and passes it to the next.

Structuring an LTX prompt

LTX prompts follow a fairly consistent structure: subject, action, setting, camera movement, and optionally audio cues for synced sound effects. You don't have to follow this order exactly, but including all of these elements tends to produce the best results. LTX maintains a full prompting guide worth reading before writing your first prompt. One efficient approach: paste that guide into the LLM of your choice along with a simple description of what you want, and let it expand that into a properly structured LTX prompt.

Key settings to configure

  • FPS: 24 frames per second for a standard cinematic look.
  • Frame count: total frames divided by FPS gives your clip length. For example, 121 frames at 24 FPS produces a roughly 5-second clip.
  • Resolution: set in the empty LTX latent video node, for example 960×544 for the initial generation stage.

This workflow uses a two-stage design: the first stage generates at a lower resolution to save time and VRAM, and a second stage upscales that result, producing a much higher-resolution final output (for example, 1920×1088) without paying the full generation cost at that resolution.

Once your prompt and starting image are set, running the workflow will produce your rendered clip, including any synced audio cues described in the prompt. Generation time depends heavily on your hardware; expect the first run in a session to take a little longer, since models need to load into memory before the first render begins. Subsequent runs in the same session will be noticeably faster.

Common issues and how to fix them

  • Nodes not loading after installing a new custom node: restart ComfyUI. This is required after installing any new node or model.
  • A newly installed model doesn't appear: press R to reload references inside ComfyUI.
  • Still not showing up, or generation is failing unexpectedly: check the console (available in the lower-left corner of ComfyUI). It logs warnings and node-loading issues for the session, and pasting that output into an LLM along with a description of what you were trying to do is often enough to diagnose the problem.
  • Slow first generation: this is expected, since model weights are loading into memory for the first time in the session. Subsequent generations will be much faster.
  • Dependency mismatch errors: revisit the uv sync --frozen step inside your activated environment.
  • Things break after updating ComfyUI: make sure the LTX video custom node is also updated to its latest version to avoid version mismatches.

Where to go next

LTX maintains detailed guides covering prompting, image-to-video workflows, and the LTX Trainer for custom LoRA training, all available through their documentation and GitHub pages. The LTX Discord community is also a good place to share results and get help, with a large and active membership working through the same tools covered in this guide.

With setup complete and a first render generated, you're ready to start iterating on prompts, workflows, and models.

Table of Contents: