DARASK LTX 2.3 Generator (All-in-One)
The whole LTX 2.3 image-to-video pipeline, collapsed into one node
- image
- VIDEO
- frames
- audio
- info
A real LTX 2.3 image-to-video workflow is a sprawl: models, an I2V image preprocessor, a settings cluster, prompt encoding, a low-res pass, a 2x upscale pass, a 4x upscale pass, a tiled decode. The reference templates split these across seven subgraphs, which is why so many LTX newcomers bounce off the setup. The DARASK LTX 2.3 Generator (All-in-One) is that entire pipeline in a single node - models loaded, LoRAs stacked, latent built, sampled, upscaled, decoded, audio generated, video assembled. You feed it one image and maybe a prompt; it gives you a finished clip. The pack's other LTX workflow, ltx23_video_to_video.json, is the flat-graph version for when you want every step editable; this is the "just generate" version.
What it does internally
The model section loads from checkpoints/ or diffusion_models/, supports .gguf (via ComfyUI-GGUF, which must be installed separately) and checkpoint bundles like the 10Eros family - pick it and set audio_vae_source, video_vae_source and clip_source to (from model) to pull the audio VAE, video VAE and CLIP-V all out of the same file. Below that: a dynamic + Add LoRA stack (same row UI as the pack's Lora Loader), video size with a live badge (1024×576 (16:9) · 97f @ 24fps = 4.04s), positive/negative prompts, image preprocessing (image_max_dim, i2v_strength, or bypass_i2v for text-to-video), base sampling (seed, cfg_scale, base_sampler, manual base_sigmas), optional 2x and 4x upscale passes, and tiled VAE decode settings.
Inputs and outputs
The only input socket is image (optional - leave it unconnected and flip bypass_i2v for text-to-video). Everything else is widgets. Outputs: VIDEO (wire to a SaveVideo), frames (the decoded frame IMAGE), audio (the generated track), and an info string summarizing the whole generation for logging.
Install and requirements
The pack installs via Manager (search DARASK), but this node is not self-contained: it drives ComfyUI-LTXVideo internally, so that pack must be installed too. GGUF model support additionally requires ComfyUI-GGUF. LTX 2.3 itself wants serious VRAM - the official floor is 32GB, though the community runs it on less with GGUF quantizations (see the LTX Video ecosystem guide). And keep the 2.3 constraints in mind: width/height divisible by 32, frame count divisible by 8 plus 1.
The one trap the README warns about
If your LTX output comes out as static/mosaic ("sandstorm"), you've hit the flow-sampling multiplier problem. LTX (like Anima/Wan) uses a native multiplier of 1.0, but early versions of the pack carried the SD3 value of 1000 in saved workflows - and 1000 compresses sigma to near-zero, producing exactly that noise. This node auto-detects from the model by default, so the fix is to load a fresh copy of the node and re-queue rather than carry an old saved value forward. If you're also running the DARASK Anima Sampling Tuner elsewhere in the graph, its shift_multiplier is the widget to check - it defaults to 0 (auto-detect) and should stay there.
Inputs (37)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 1 options: (no models found — place in checkpoints/ or diffusion_models/) | |
| weight_dtype | COMBO | default | 4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2 |
| audio_vae_source | COMBO | (from model) | 1 options: (from model) |
| video_vae_source | COMBO | (from model) | 1 options: (from model) |
| text_encoder | COMBO | 1 options: (no text encoders found) | |
| clip_source | COMBO | (from model) | 1 options: (from model) |
| upscale_model | COMBO | 1 options: (no upscale models found) | |
| width | INT | 102464–4096 | — |
| height | INT | 57664–4096 | — |
| length | INT | 971–4096 | — |
| fps | FLOAT | 24.01–240 | — |
| positive_prompt | STRING | — | |
| negative_prompt | STRING | — | |
| image_max_dim | INT | 1536128–4096 | — |
| image_resize_method | COMBO | scale longer dimension | 3 options: scale longer dimension, scale shorter dimension, stretch |
| img_compression | INT | 180–100 | — |
| bypass_i2v | BOOLEAN | false | — |
| i2v_strength | FLOAT | 0.700–1 | — |
| seed | INT | 00–18446744073709550000 | — |
| cfg_scale | FLOAT | 1.00–30 | — |
| base_sampler | COMBO | euler_ancestral_cfg_pp | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| base_sigmas | STRING | 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0 | — |
| enable_2x_upscale | BOOLEAN | false | — |
| upscale_2x_sampler | COMBO | euler_cfg_pp | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| upscale_2x_sigmas | STRING | 0.85, 0.725, 0.4219, 0.0 | — |
| upscale_2x_strength | FLOAT | 1.000–1 | — |
| upscale_2x_bypass_i2v | BOOLEAN | false | — |
| enable_4x_upscale | BOOLEAN | false | — |
| upscale_4x_sampler | COMBO | euler_cfg_pp | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| upscale_4x_sigmas | STRING | 0.85, 0.725, 0.4219, 0.0 | — |
| upscale_4x_strength | FLOAT | 1.000–1 | — |
| upscale_4x_bypass_i2v | BOOLEAN | false | — |
| vae_tile_size | INT | 51264–4096 | — |
| vae_overlap | INT | 640–4096 | — |
| vae_temporal_size | INT | 5128–4096 | — |
| vae_temporal_overlap | INT | 41–4096 | — |
| imageopt | IMAGE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |
| frames | IMAGE | — |
| audio | AUDIO | — |
| info | STRING | — |