Nodes/ComfyUI-H3-Multishot/LTX Take Controls (Joy-LTX 2.5)
ComfyUI Node

LTX Take Controls (Joy-LTX 2.5)

The master panel that sizes an LTX-2.5 take to your card

By jlucasmcrell·Created 21 days ago·Updated 2 days ago· 31
LTX Take Controls (Joy-LTX 2.5)
    • pass1_width
    • pass1_height
    • frames
    • two_pass
    • use_x15
    • beats
    • beat_frames
    • summary
    width960
    height544
    take_seconds8.0
    beat_seconds8.0
    upscaleauto
    vram_gb0

    This node is the odd one out in the pack in the best way: it's not for MiniMax-H3 at all. It's the MASTER CONTROLS panel for the pack's other canvas, the LTX-2.5 single-generation one (the "Joy-LTX 2.5" workflow). Where H3 renders short blocks and chains them, LTX renders a whole take in ONE generation - and LTX has a cost model that punishes guessing. H3LTXTakeControls does for LTX what the H3 studio controls do for H3: it sizes the render to your card so you don't find out at step 200 that the take was never going to fit.

    How it works

    LTX's cost is tokens = (W/32)(H/32) × latent frames, and the upscale pass runs on the output grid. That's the lever this panel pulls: the upscale factor decides the real cost. x2 means 4x the pixels of pass 1, x1.5 means 2.25x, none means pass 1 only. So upscale defaults to auto - the largest output that fits your card - and as you push take_seconds up, auto steps the upscale down (x2 → x1.5 → none) and prints which, keeping you on the edge of what fits instead of over it. The measured comfort zone on a 24GB card is 8s at x2, ~14s at x1.5, at 960x544.

    The inputs that matter

    • width, height - render (pass-1) size; output = this × the upscale factor, so 960x544 x2 = 1920x1088. Multiples of 32.
    • take_seconds - 1 to 60, length of the whole take in one generation.
    • beat_seconds - how long each written sentence/beat should be; the writer gets take_seconds / beat_seconds beats to write. This is the pacing knob that keeps dialogue from cramming.
    • upscale - auto / x2 (the official LTX-2.5 spatial upscaler, 4x pixels in pass 2) / x1.5 (the LTX-2.3 x1.5 file, which works on 2.5 latents - verified - and is ~1.8x the seconds of x2) / none.
    • vram_gb - 0 = read the card. Set a number to plan for another card, useful when you're tuning a workflow you'll hand to someone with a 16GB card.

    Outputs: pass1_width, pass1_height, frames, two_pass (whether pass 2 runs), use_x15, beats, beat_frames, and a summary string. Wire these into the LTX sampler, the writer, and the upscaler.

    Where it fits

    The LTX ecosystem has always been the speed-first corner of local video - LTX's defining trait is fast, short generations. This workflow takes that and gives you a take: a single generation of 8-14 seconds with audio, sized to the card automatically, with the writer's beat count driven by the same panel so dialogue matches the actual length. If you're on the LTX-2.5 path and want "type a length, render a take" without doing token math yourself, this is the node. (It's also proof of how seriously this pack's author documents cost models - the tooltips here are little essays.)

    Install

    Ships in the H3 Multishot pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jlucasmcrell/ComfyUI-H3-Multishot
    

    or ComfyUI-Manager → H3 Multishot. Restart; ComfyUI v0.30.0+. The LTX workflow also needs the LTX-2.5 model files and ComfyUI's own LTX nodes, which ship with ComfyUI - check the workflow's requirements for the exact upscaler files (the x2 and x1.5 variants are separate downloads).

    The trap: vram_gb = 0 reads your card, but if you've got other things loaded, "reads your card" reads the total, not the free headroom. The panel's estimates assume a clean card. If your take OOMs on a busy machine, drop take_seconds or pin upscale to x1.5 - that's the knob auto won't turn for you mid-render.

    CategoryH3/episode

    Inputs (6)

    NameTypeDefaultDescription
    widthINT960256–1920RENDER (pass-1) width. Output = this x the upscale factor (960x544 x2 = 1920x1088, x1.5 = 1440x832). Multiples of 32.
    heightINT544256–1920Render (pass-1) height; output = this x the upscale factor.
    take_secondsFLOAT8.01–60Length of the take, rendered in ONE generation. Longer takes cost tokens; past what the card fits, auto steps the upscale down (x2 -> x1.5 -> none) and prints which. 8 s x2 / ~14 s x1.5 at 960x544 is the 24 GB comfort zone.
    beat_secondsFLOAT8.03–15How long each written sentence/beat should be; the writer gets take_seconds / beat_seconds beats to write.
    upscaleCOMBOautoauto = the largest output that fits your card. x2 = the official LTX-2.5 spatial upscaler (4x pixels in pass 2). x1.5 = the LTX-2.3 spatial x1.5 upscaler file - works on 2.5 latents (verified render), 2.25x pixels, so about 1.8x the seconds of x2 on the same card. none = pass 1 only at the render size.
    vram_gboptFLOAT00–2000 = read the card. Set a number to plan for another card.

    Outputs (8)

    NameTypeDescription
    pass1_widthINT
    pass1_heightINT
    framesINT
    two_passBOOLEAN
    use_x15BOOLEAN
    beatsINT
    beat_framesINT
    summarySTRING