Nodes/ComfyUI-Apt_Preset/AD_LTX_load_model
ComfyUI Node

AD_LTX_load_model

The one-node entry point for LTX video in Apt_Preset

By cardenluo·Created 2 years ago·Updated 22 days ago· 309
AD_LTX_load_model
  • over_model
  • over_vae
  • over_clip
  • over_audio_vae
  • config
  • model
  • clip
  • img_latent
  • img_vae
  • audio_latent
  • audio_vae
ckpt_name
text_encoder
lora_name
strength_model1.00
width768
height512
frame_rate24
frames_number97

This is where every LTX_video workflow in Apt_Preset starts. It's a loader in the "Universal Loader" spirit the pack's README describes for its other model families: instead of wiring up a checkpoint loader, a text encoder loader, an empty-latent node, and a LoRA loader separately, AD_LTX_load_model bundles all of it into one node and hands you back a single config bus that the rest of the LTX_video nodes (AD_LTX_config, AD_LTX_sampler, AD_LTX_vae_combine) can plug into.

LTX Video, if you haven't used it, is Lightricks' speed-first video model - it trades some quality against Wan for generation that's an order of magnitude faster, and the current release (LTX-2.3) does synchronized audio and video in one model. That's why this loader has audio-latent outputs alongside image ones even though you haven't given it any audio yet - it's setting up empty audio conditioning to match, ready for a node like AD_LTX_audio_input to fill in if you want it.

The inputs and outputs that matter

  • ckpt_name, text_encoder, lora_name - your model, text encoder, and (optional-in-effect) LoRA, picked from dropdowns populated by what's actually in your ComfyUI model folders. If these show "None," you haven't put LTX weights where this node expects them yet.
  • strength_model (default 1, range -100 to 100) - LoRA strength, standard stuff.
  • width / height (defaults 768×512, step 32) - note the step size isn't arbitrary. LTX's current release requires width and height divisible by 32, so this node's slider is built to only ever land on valid values.
  • frame_rate (default 24) and frames_number (default 97, step 8) - same story: LTX's frame count has to be divisible by 8 (plus 1), and the step-8 increment keeps you on that grid without having to do the math yourself.
  • over_model, over_vae, over_clip, over_audio_vae (all optional) - the "override" pattern the pack uses everywhere. Wire something into over_model and the node's internal checkpoint loading for that piece gets bypassed entirely in favor of what you fed it. Handy if you're loading a GGUF-quantized LTX checkpoint through a separate loader and just want this node's canvas-and-config logic without its own model loading.

Outputs: config (the bundle you pass downstream), plus model, clip, img_latent, img_vae, audio_latent, audio_vae unpacked individually, in case you want to wire something straight off this node instead of going through AD_LTX_config.

How to install it

Via ComfyUI Manager: search "ComfyUI-Apt_Preset". Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git

Then install.bat (Windows, double-click) or pip install -r requirements.txt (Linux/Mac), then restart. If you want to load GGUF-quantized LTX weights through over_model, the pack's own README says to install ComfyUI-GGUF first - that's a hard prerequisite for GGUF, not optional. You'll also need actual LTX model files: an LTX checkpoint and its text encoder, downloaded separately and placed in ComfyUI's model folders - this loader doesn't ship any weights itself.

Common issues & troubleshooting

Dropdowns show "None." No LTX checkpoint/text-encoder files are where this node looks. Download them from Lightricks' official HuggingFace repos and place them in your ComfyUI model folders, then restart.

Width/height won't land on the number you typed. That's the step-32 constraint doing its job - off-grid resolutions fail on LTX rather than silently rounding, so the widget is built to keep you on a valid value instead of letting you hit that error at sample time.

Frame count feels oddly specific (97, not 96 or 100). That's the 8-plus-1 grid: 97 = 12×8 + 1. If you want a different length, move in steps of 8 from a valid base rather than typing an arbitrary number.

You've got a GGUF LTX checkpoint and this loader's ckpt_name doesn't see it. Right - this node's own dropdown is for regular checkpoint files. Load the GGUF file with ComfyUI-GGUF's own loader and feed the result into over_model instead.

CategoryApt_Preset/AD/LTX_video

Inputs (12)

NameTypeDefaultDescription
ckpt_nameCOMBO1 options: None
text_encoderCOMBO1 options: None
lora_nameCOMBO1 options: None
strength_modelFLOAT1.00-100–100
widthINT76864–4096
heightINT51264–4096
frame_rateINT241–120
frames_numberINT971–2000
over_modeloptMODEL
over_vaeoptVAE
over_clipoptCLIP
over_audio_vaeoptVAE

Outputs (7)

NameTypeDescription
configLTX_CONFIG
modelMODEL
clipCLIP
img_latentLATENT
img_vaeVAE
audio_latentLATENT
audio_vaeVAE