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
First_Middle_Last_Frame_guider_custom_audio - 2nd stage middle frame
LTX-2.3_-_FML2V_First_Middle_Last_Frame_guider_custom_audio.json
Is there any reason you do not pass middle frame to guider in 2nd stage?
Good question. Been a few since i made that one, but i dont see why not.
Could perhaps be to let the model have a bit of freedom in the final stage, but the middle frame shouldn't be that tricky.
will test a bit here, and see if it was just an oversight or a reason for it
Thanks for fast response.
I built my own workflow, basically also FML frames with guider and custom audio with perfect loop acoustic music audio with 7.660s length to fit into 8 frames tick, with goal to create perfect video loop with middle frame driving movement and FL frames to make guide if you put video on repeat. So far I'm experimenting with guider strength values, I took example from your notes and started with 0.7/0.3/1.0. I tried 30 fps too, for faster movement.
But obvious problem is in short time subject does not have temporal freedom too much, and forced start and end do not help too.
Yes i set the middle frame strength low. It sort of depends on the input image, but since a video is only 5-10 seconds long (usually), the model often struggles to make a natural transition through all the frame inputs if they are set too strong, or it gives some artifacts when it reaches that exact frame. Might also be why i dropped it in the 2nd pass.
But will open it an try it out, maybe there is some sweet spot
And its only 8 steps. I bet that with the Dev model and more steps, you could try more extreme things, and stronger values, since it has more steps to complete a good render