Nodes/ComfyUI-LTX-Attention-Toolkit/LTX Attn — Timestep Evolution
ComfyUI Node

LTX Attn — Timestep Evolution

Watch a head change its job mid-denoise

By g-raw·Created 3 months ago·Updated 2 months ago· 2
LTX Attn — Timestep Evolution
    • evolution_plot
    • stats_text
    store_handle
    attn_typesa
    block_idx0
    metricentropy
    head_indices0,4,8,16,24,31
    img_width512
    img_height256
    colormapturbo

    The heatmaps and grid views are snapshots - this node is a timeline. Timestep Evolution plots one metric's value against the denoising step for a set of heads, one colored curve per head, so you can watch whether a head holds a consistent role through the whole generation or switches jobs partway through. It's the diagnostic that answers "is head 24-8 always a temporal head, or does it only become one near the end?"

    That question matters more than it sounds, because LTX-2.3 is a flow-matching model where the early steps sketch gross structure and later steps pin down detail - the same head can legitimately behave completely differently at step 2 than at step 12. The pack's own framing lists the curve shapes worth looking for:

    • Flat curves - structurally fixed role; the head does the same thing at every step.
    • Monotone decreasing - specializes progressively; starts diffuse, gets focused.
    • Crossing curves - heads swap roles mid-denoising. This is the one that can surprise you when you're planning an intervention.
    • Late rise - semantic tracking that only activates once signal emerges.

    How it works

    It reads the chosen metric from the capture store for one block across all captured steps, one series per head in head_indices, and renders them on a line chart sized by img_width/img_height. step_idx semantics don't apply the usual way here - the whole point is the full step range - so the store just needs to have captured multiple steps (capture_steps set to more than a single step in Setup Capture).

    The inputs that matter

    • block_idx - the block whose heads you're plotting.
    • metric - same 12-option list as Metrics Heatmap (entropy, temporal, spatial, sink, the distance metrics and their _norm variants). entropy is the usual first look.
    • head_indices - default "0,4,8,16,24,31" gives you a spread of six heads; widen or narrow as you like.
    • attn_type - sa or ca.
    • store_handle - blank = current active store.
    • img_width / img_height / colormap - output size and colors; defaults are fine.

    Outputs are evolution_plot (IMAGE) plus stats_text (STRING) with the underlying numbers - grab the text if you want the data, not just the picture.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/g-raw/ComfyUI-LTX-Attention-Toolkit.git
    

    Restart ComfyUI. No extra dependencies or model downloads; the pack is work-in-progress so stores may break across updates.

    Common issues

    Unlike the map viewers, this node only needs metrics, which every capture mode computes - so no full-map requirement. The failure modes are scheduling: it must run as a later queue pass after the capture generation, or the store is empty. And remember the metric-scale caveat from the heatmap: if you're comparing evolution curves across two runs with different frame counts or resolutions, use the _norm variants, or the raw values aren't apples-to-apples. If all curves render flat as a line, check that capture_steps in your setup actually captured more than one step - a single-step store has nothing to evolve.

    Categoryg_raw/LTX/Profiler

    Inputs (8)

    NameTypeDefaultDescription
    store_handleSTRING
    attn_typeCOMBOsa2 options: sa, ca
    block_idxINT00–47
    metricCOMBOentropy12 options: entropy, temporal, spatial, sink, frame_dist_mean, frame_dist_std, +6
    head_indicesSTRING0,4,8,16,24,31
    img_widthINT512128–2048
    img_heightINT25664–1024
    colormapCOMBOturbo3 options: turbo, viridis, plasma

    Outputs (2)

    NameTypeDescription
    evolution_plotIMAGE
    stats_textSTRING