My LTX-2 I2V workflow inspired by nomadoor. I've tweaked a few things that work for me and it may not work in some cases.
The workflow generates two videos: a ~0.25 megapixels low resolution video ("small_XXX") after the first stage and a 2x upscaled ~1.0 megapixels final video ("big_XXX") after the second stage. After the first stage you could play the "small" video and if you don't like it you could cancel the second stage and restart the generation. Also a low-quality preview is generated on the fly (in v2.0+ via LTX2 Tiny VAE), so you could cancel even before the first stage is complete. Note that the 2x upscale stage for LTX-2 is by desigh and is not optional (unlike Wan for example), although tests show that you can do one-stage generation with high resolution and skip the upscale if your vid is relatively static.
Tips:
The default sampler in the workflow is "lcm", but "res_2s" is better, especially for vids with lots of action and smaller faces, if you don't mind waiting twice as long (res_2s is slow).
If you have enough VRAM + RAM (always set your virtual RAM to at least 150GB, even 250GB if you have enough disk space), you could set length to 241 for 25 fps (or 513 for 50 fps) or even more (at some point you'll get OOM error).
"megapixels 1.00" (or "1.50" or "1.70") in the "Resize Image/Mask" node is an arbitrary safe value, but any value between 2 and 4 is better for finer details in the upscaled final video - the bigger the better as long as you have enough memory. In theory you can go up to 8.3 megapixels (4K resolution).
You could bypass the "LTXVPreprocess" node, which slightly (33) compresses the input image to prevent static videos as the "camera-control-static" lora seems to solve the "static" problem (not sure if it's always the case).
You may want to change the "camera-control-static" lora with another "camera-control" lora if you need specific motion (up, down, left, right, zoom in/out).
The workflow defaults to random seeds, but itβs better to use fixed seeds (click 'new fixed random' for both stages before each run). This allows you to change only the second-stage seed and when you click 'Run' again, only the second stage will regenerate with slight variations in video and audio. If you encounter an OOM error while using fixed seeds, simply click 'Run' again β the second attempt sometimes succeeds.
Download:
checkpoints
ltx-2-19b-dev_Q8_0.gguf (v2.0+)
ltx-2-19b-dev-fp8.safetensors (v1.0, VAE included)
loras
latent_upscale_models
LTX2 Tiny VAE
taeltx_2.safetensors (v2.0+)
Video vae:
LTX2_video_vae_bf16.safetensors (v2.0+)
Audio vae
LTX2_audio_vae_bf16.safetensors (v2.0+)
πComfyUI/
βββ πmodels/
βββ πcheckpoints/
β βββ ltx-2-19b-dev_Q8_0.gguf (v2.0+)
β βββ ltx-2-19b-dev-fp8.safetensors (v1.0)
βββ πlatent_upscale_models/
β βββ ltx-2-spatial-upscaler-x2-1.0.safetensors
βββ πloras/
β βββ ltx-2-19b-distilled-lora-384.safetensors
β βββ ltx-2-19b-ic-lora-detailer.safetensors
β βββ ltx-2-19b-lora-camera-control-static.safetensors
βββ πtext_encoders/
β βββ gemma-3-12b-it-IQ4_XS.gguf
β βββ ltx-2-19b-embeddings_connector_dev_bf16.safetensors
βββ πvae/
β βββ LTX2_audio_vae_bf16.safetensors
β βββ LTX2_video_vae_bf16.safetensors
βββ πvae_approx
βββ taeltx_2.safetensors (v2.0+)Description
Bug fix: v2.1 uses "noise_seed" instead of "noise_seed_upscale" for the second stage - nothing critical, the WF just uses the same seed for both stages, but this way you have less control.
FAQ
Comments (7)
quick, quality outputs, good stuff
i really like your WF.. but i wish there was a version with custom audio
Awesome workflow. Works great on my end here from the quick tests. Going to play with it more tomorrow.
Great workflow. The faces stay close to the image pretty well.
brother how long to generate 1280x720 10sec video with 12gb vram?
CUDA error: invalid argument Search for cudaErrorInvalidValue' in https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__TYPES.html for more information. CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with TORCH_USE_CUDA_DSA` to enable device-side assertions.
i get this after running your workflow, do you know why this happen, after restart is ok
Got this to work but need a little tip. It seems that the output is changing persons looks when compared to the source image picture where the video is generated. What setting should I change in order to keep output as much as original as possible? Or do I need to fine tune my prompt?