Nodes/comfyui-daz-tools/Workflow Config LTX2.5
ComfyUI Node

Workflow Config LTX2.5

Stop rewiring your LTX workflow every time you switch takes

By denyazzolin·Created 3 months ago·Updated 4 days ago· 3
Workflow Config LTX2.5
    • transformer_only
    • video_vae
    • audio_vae
    • clip
    • image
    • audio
    • width
    • height
    • steps
    • seed
    • master_prmt
    • pos_prompt
    • neg_prompt
    • is_relay_prompt
    • cfg
    • total_frames
    • fps
    • distillation_lora
    • lora_2
    • lora_3
    • lora_4
    • lora_5
    • lora_6
    • filename
    • transformer_stack
    • is_t2v
    • flag_1
    • flag_2
    • flag_3
    • custom_1
    • custom_2
    • lora_7
    • lora_8
    • latent_upscaler
    movie
    scene
    take

    LTX is the speed tier of local video: where Wan burns minutes per clip, LTX burns seconds, and the whole community workflow built around that is iteration - generate ten takes, keep one. But every iteration means swapping models, VAEs, prompts, LoRAs, resolutions, seeds. Individually each swap is thirty seconds of clicking; collectively it's why you dread changing anything. Workflow Config LTX2.5 stores named "scenes" - a full snapshot of the video pipeline - in a JSON file, and reloads everything the moment you pick one from a dropdown.

    It's built for the LTX 2.5 generation of the model, and the config reflects what that family needs. LTX-2 and later made synchronized audio and video their whole bet, so there are two VAEs: video_vae and audio_vae. The text encoder is the single Gemma-based file LTX 2.5 ships (gemma-12b-with-proj-…), which is why this node - unlike the pack's LTX2.3 variant - has one CLIP slot and no checkpoint loader. One CFG, 8 LoRA slots, and an optional latent upscaler round it out. The first LoRA slot is even named distillation_lora: LTX's distilled checkpoints run at 8 steps, CFG 1, so that slot is your speed knob by design.

    The mechanics are the pack's shared scene system. Scenes live as dx_*.json "movie" files in ComfyUI/user/default/workflows/.dx_mgr/. Each movie holds multiple scenes; each scene holds numbered takes - versions of the same setup with different prompts, LoRAs, reference image, whatever. At runtime you only touch three inputs: movie, scene, take, all dropdowns. Everything else comes out of the outputs, so you wire the graph once and switching takes is just changing dropdowns.

    Outputs worth knowing:

    • transformer_stack (MODEL) - the transformer with all enabled LoRAs applied. This is what you wire into the sampler; it's the whole point.
    • transformer_only (MODEL) - the bare model, if you'd rather load LoRAs yourself.
    • video_vae / audio_vae (VAE), clip (CLIP) - the decode and text-encode stack.
    • image (IMAGE) and audio (AUDIO) - reference inputs for I2V and sound conditioning.
    • width, height, steps, seed, cfg, total_frames, fps - straight into the sampler and latent setup.
    • pos_prompt, neg_prompt, master_prmt, is_relay_prompt - the prompts, with the relay flag on when a Smart (segmented) prompt is active.
    • latent_upscaler (LATENT_UPSCALE_MODEL) - optional, loaded from models/latent_upscale_models; empty if you leave it on none.
    • flag_1/2/3, custom_1/2, filename - routing and output-path helpers.

    Editing happens in a full-screen panel (double-click the node, or hit Edit Take): a visual prompt segment editor, a sizing dialog that checks divisibility by 32, and duration quick-buttons that compute frames as duration × fps + 1. Save or "+ Take" writes back to disk.

    Installation:

    cd ComfyUI/custom_nodes
    git clone https://github.com/denyazzolin/comfyui-daz-tools
    

    Restart, or use ComfyUI Manager and search comfyui-daz-tools. No pip requirements. If you plan to run GGUF-quantized transformers - the dropdown lists .gguf files alongside regular ones and loads them through ComfyUI-GGUF automatically - you need ComfyUI-GGUF installed, or GGUF entries won't even show up.

    Real-world notes. The LTX-2 family's Gemma text encoder is huge - roughly 23GB of system RAM on top of the model - and the launch era was full of OOMs on 24GB cards without --reserve-vram. Budget memory before you blame the node. Your scenes are only as safe as the .dx_mgr folder; back it up or you're rebuilding everything. And if a take has Randomize seed on, the node rewrites the seed into the file on every run, which is why it constantly shows as "changed" - expected, not a bug. Finally, Smart prompts are relay payloads here; if you don't run a relay node downstream, keep prompts on Simple.

    Categoryutils

    Inputs (3)

    NameTypeDefaultDescription
    movieCOMBO1 options: (default)
    sceneCOMBO1 options: (no configs)
    takeCOMBO1 options: 1

    Outputs (34)

    NameTypeDescription
    transformer_onlyMODEL
    video_vaeVAE
    audio_vaeVAE
    clipCLIP
    imageIMAGE
    audioAUDIO
    widthINT
    heightINT
    stepsINT
    seedINT
    master_prmtSTRING
    pos_promptSTRING
    neg_promptSTRING
    is_relay_promptBOOLEAN
    cfgFLOAT
    total_framesINT
    fpsFLOAT
    distillation_loraLORA
    lora_2LORA
    lora_3LORA
    lora_4LORA
    lora_5LORA
    lora_6LORA
    filenameSTRING
    transformer_stackMODEL
    is_t2vBOOLEAN
    flag_1BOOLEAN
    flag_2BOOLEAN
    flag_3BOOLEAN
    custom_1STRING
    custom_2STRING
    lora_7LORA
    lora_8LORA
    latent_upscalerLATENT_UPSCALE_MODEL