Nodes/comfui-helto-ltx/LTX 2.3 Image Guide Manager
ComfyUI Node

LTX 2.3 Image Guide Manager

The LTX 2.3 guide manager

By helto4real·Created 4 months ago·Updated 2 months ago· 0
LTX 2.3 Image Guide Manager
    • image_guides
    fps24.00
    num_frames97
    timing_modeframe
    resize_modecontain
    duplicate_policyerror
    pad_color0,0,0
    img_compression35
    global_strength1.00
    lock_start_framesfalse
    lock_end_framefalse
    start_images_strength0.85
    width768
    height512
    guides_json{"version":1,"guides":[]}

    Every serious LTX 2.3 workflow ends up being two passes: a low-resolution first pass to find the composition, then a high-resolution second pass on the winner. Both passes want the same reference images pinned to the same frames - and if you hand-place those guides twice, you get to debug the moment your low-res and high-res stages disagree. LTX 2.3 Image Guide Manager exists to make that impossible. It owns the image list and the shared timing/strength settings once, and hands a single reusable IMAGE_GUIDES payload to as many Apply nodes as you have stages.

    What it does (and doesn't do)

    The name is doing honest work: this is a manager, not an encoder. It takes your guide images and the shared settings, bundles them into a payload, and stops there. No VAE, no latent, no conditioning - those happen downstream in the Apply nodes, which is exactly the point. The Manager is where you make decisions once:

    • fps (default 24), num_frames (default 97), and timing_mode (frame or seconds) - how guide positions translate to frames. Same 8*n + 1 rule as the rest of the LTX world: 97, 105, 113, and so on.
    • resize_mode (default contain), pad_color (0,0,0), img_compression (default 35) - how guide images are prepared before encoding.
    • duplicate_policy - what happens if two enabled guides land on the same frame. error is the default and the safest; offset_next shoves the later one to the next free frame.
    • global_strength - master multiplier for every guide, plus start_images_strength (default 0.85) for start sequences. The effective per-guide strength is global_strength * per-image strength.
    • lock_start_frames / lock_end_frame - the stronger latent-initialization toggles.

    One subtlety that trips people: the Manager's width and height (default 768×512) are only used for preview and aspect-ratio warnings. The actual guide encoding resolution comes from the Apply node you feed the payload into. So you can manage one list and have the low-res Apply stage encode at 384×256 while the high-res stage encodes at 768×512 - which is the whole point of the split.

    The output and what it feeds

    One output: image_guides (type IMAGE_GUIDES). Wire it into the image_guides input of one or more LTX 2.3 Apply Image Guides nodes. The payload carries the guide list plus every shared setting, so each Apply inherits timing, strength, resize, and lock behavior without you re-entering them.

    The editor and its config

    The guide UI lives on the node body: add images, position them by frame or seconds, set per-image strength, reorder, enable/disable. Guide sets can be saved and reloaded from the UI, and they're stored under the pack's config/guide_sets/ directory. Configured image folders live in config/folders.json with friendly aliases, so the workflow JSON never embeds an absolute path - good for portability, but it means an alias that doesn't exist on a new machine fails cleanly rather than silently.

    Install

    Same pack, same trivial install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/helto4real/comfui-helto-ltx.git
    

    Then restart ComfyUI. Or use ComfyUI Manager and search "comfui-helto-ltx". No extra Python dependencies - it runs on ComfyUI's native LTXV support (comfy_extras.nodes_lt) and nothing else. You still need the LTX 2.3 checkpoint and its VAE yourself.

    Gotchas

    • The Apply node shows old sockets. ComfyUI can hold stale node-interface data after a schema change; refresh the browser or recreate the node. The Apply node tolerates legacy inputs at runtime so old workflows don't crash while you migrate.
    • Thumbnails or image lists look stale. Hit the refresh button in the toolbar, or restart ComfyUI to clear server-side state.
    • Loading a saved guide set complains about missing images. Re-add the folder alias - workflows store aliases, not paths, so the alias has to exist in config/folders.json on this machine.

    Reach for the Manager + two Apply nodes the moment you're doing low-res-then-high-res or any multi-stage LTX 2.3 work. For a single throwaway pass, the all-in-one node is fewer clicks - but the moment you're iterating on a two-stage upscale, this is the piece that keeps both stages honest.

    CategoryLTX 2.3

    Inputs (14)

    NameTypeDefaultDescription
    fpsFLOAT24.001–240Frames per second used when timing_mode is seconds.
    num_framesINT971–16384Pixel frame count used for timing, negative frame positions, and internally-created empty latents. Native LTXV lengths must be 8*n + 1, for example 97, 105, 113.
    timing_modeCOMBOframeInterpret manual guide positions as frame indexes or seconds.
    resize_modeCOMBOcontainHow guide images are resized before VAE encoding. contain/pad preserves aspect ratio with padding.
    duplicate_policyCOMBOerrorHow to handle manual guide images that resolve to the same frame.
    pad_colorSTRING0,0,0RGB padding color for contain/pad resize mode. Accepts r,g,b or #rrggbb.
    img_compressionINT350–100Native LTXV image compression applied before guide encoding. Set 0 to disable.
    global_strengthFLOAT1.000–1Multiplier applied to every manual guide strength and start sequence strength.
    lock_start_framesBOOLEANfalseWhen enabled, frame 0 guides and start_images are written into the beginning video latent instead of only appended as guide references. VAE-level lock, not pixel-perfect copy.
    lock_end_frameBOOLEANfalseWhen enabled, a manual guide resolving to the final frame is written into the final video latent instead of only appended as a guide reference. VAE-level lock, not pixel-perfect copy.
    start_images_strengthFLOAT0.850–1Strength for the optional start image sequence before global_strength is applied.
    widthINT76864–16384Preview target width used for aspect-ratio warnings.
    heightINT51264–16384Preview target height used for aspect-ratio warnings.
    guides_jsonSTRING{"version":1,"guides":[]}Hidden serialized guide data used by the custom UI and saved in workflows.

    Outputs (1)

    NameTypeDescription
    image_guidesIMAGE_GUIDES