Instructions to use RuneXX/LTX-2.3-Workflows with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LTX-2
How to use RuneXX/LTX-2.3-Workflows with LTX-2:
# Install the LTX-2 pipelines git clone https://github.com/Lightricks/LTX-2.git cd LTX-2 uv sync --extra natten
# Download weights from this repo # Substitute filenames from this repo's "Files and versions" if they differ hf download RuneXX/LTX-2.3-Workflows \ diffusion_models/<distilled-transformer>.safetensors \ text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \ vae/<video-vae>.safetensors \ vae/<audio-vae>.safetensors \ latent_upscale_models/<spatial-upsampler>.safetensors \ latent_upscale_models/<temporal-upsampler>.safetensors \ --local-dir models/LTX-2.3-Workflows # DFR requires the detailing IC-LoRA (separate repo; strength is fixed at 0.5) hf download Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler --local-dir models/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler# Distilled LTX-2.5 pipeline (fast) uv run python -m ltx_pipelines.distilled \ --transformer-path models/LTX-2.3-Workflows/diffusion_models/<distilled-transformer>.safetensors \ --text-encoder-path models/LTX-2.3-Workflows/text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \ --video-vae-path models/LTX-2.3-Workflows/vae/<video-vae>.safetensors \ --audio-vae-path models/LTX-2.3-Workflows/vae/<audio-vae>.safetensors \ --spatial-upsampler-path models/LTX-2.3-Workflows/latent_upscale_models/<spatial-upsampler>.safetensors \ --num-frames 121 \ --prompt "A beautiful sunset over the ocean" \ --output-path output.mp4 # For image-to-video, add: --image path/to/image.jpg 0 0.8# DFR pipeline (higher detail fidelity; optional temporal 2x/4x) uv run python -m ltx_pipelines.dfr_pipeline \ --transformer-path models/LTX-2.3-Workflows/diffusion_models/<distilled-transformer>.safetensors \ --text-encoder-path models/LTX-2.3-Workflows/text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \ --video-vae-path models/LTX-2.3-Workflows/vae/<video-vae>.safetensors \ --audio-vae-path models/LTX-2.3-Workflows/vae/<audio-vae>.safetensors \ --spatial-upsampler-path models/LTX-2.3-Workflows/latent_upscale_models/<spatial-upsampler>.safetensors \ --temporal-upsampler-path models/LTX-2.3-Workflows/latent_upscale_models/<temporal-upsampler>.safetensors \ --detailing-lora models/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler/ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0.safetensors \ --spatial-upscalings 1 \ --temporal-upscalings 1 \ --height 1088 \ --width 1920 \ --num-frames 121 \ --prompt "A beautiful sunset over the ocean" \ --output-path output.mp4 # For 4K: --spatial-upscalings 2 --width 3840 --height 2176 # For image-to-video, add: --image path/to/image.jpg 0 0.8 - Notebooks
- Google Colab
- Kaggle
Lip-Sync Tips
I learned this from Civitai: If lip‑sync is not working, convert your audio to stereo and ensure that it doesn't start immediately but with a short pause of 0.2–0.5 seconds at the beginning (both f.ex. using ffmpeg). After following these two hints, lip‑sync worked perfectly with your great workflows. Thanks!
Oh nice tip ;-) Will try that next time I run into one that "refuse" to talk.
Stereo actually makes sense, thinking about it. People talking is wide stereo kind of sound usually, fills the room. And mono/"center-placed" audio being more typical for voice over narrator.
Might be a good trick ;-)
To add to this if you are not using custom audio and are writing dialogue in the prompt and put the video time too short it is like the person(s) in your video thinks "I don't have time to say all that" and instead let a narrator say it.
So try increasing the length if you get a narrator on your prompt.
yes I seen that too, also with actions. If the video length is just to short to be able to do all you put in your prompt, it just wont happen ;-)