Nodes/ComfyUI-MAINodes/H3 Timeline Analyze (alpha)
ComfyUI Node

H3 Timeline Analyze (alpha)

Turn two oracles' opinions into a retiming plan the graph obeys

By matlowai·Created 17 days ago·Updated about 18 hours ago· 112
H3 Timeline Analyze (alpha)
    • plan_path
    • preview
    • graph_path
    • report
    clip_path
    frames124
    plan_path
    autotrue
    jerk_profile
    indecision_profile
    ceiling4.0
    threshold0.75
    prompt
    width1152
    height640
    regen_strength0.45
    steps25
    seed20260817
    output_prefixvideo/timeline
    graph_path

    H3 Timeline Analyze is the front half of the MAINodes timeline surface, and its core idea is the kind of thing that sounds obvious until you see how it changes the workflow: a plan is a document, and a graph is only ever compiled from it. Instead of you hand-tuning a de-rope graph, you feed this node the oracle's read of your clip and it writes a per-clip JSON - a plan document - that says, in dilation ratios over time, how the shot should be retimed. That plan is the source of truth. Everything downstream is derived from it, which is what makes the plan editable, shareable, and priceable.

    The inputs that matter

    • clip_path and frames - where the source clip lives and its world length (on the 17k+5 grid; wire H3 Video Fit's length). The clip's file name is what the compiled graph's LoadVideo will use, so this isn't just bookkeeping.
    • jerk_profile and/or indecision_profile - the oracle outputs. Wiring both is the validated combination: the jerk oracle catches fast props, the indecision oracle catches detail the model is still arguing with itself about, they disagree in both directions, and the proposal takes the max of the two rank-normalized profiles. Wire one and you're only seeing half the story.
    • auto (default true) - the zero-click mode: accept the proposal and compile it straight into a minted graph. Set false to stop at the plan for editing.
    • ceiling (default 4) - the lane's top end in generated frames per world frame. The README is explicit: "4x is the measured sweet spot, not a wall." Raise it if you're cool spending the time; the price meter is what makes a high ceiling safe.
    • threshold (default 0.75) - rank-scale saliency below which the clip stays at real time.
    • The execution knobs - prompt, width/height, regen_strength (H3's inject, default 0.45), steps, seed, output_prefix, graph_path - get baked into the compiled graph so it can't drift from the plan.

    Outputs

    plan_path (where the JSON landed), preview (an image of the proposal), graph_path (where the compiled .api.json was minted), and report (the price). With auto on, one queue item gets you a plan and a ready-to-run graph.

    Install

    Ships with matlowai/ComfyUI-MAINodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/matlowai/ComfyUI-MAINodes
    

    Restart, under latent/minimax/timeline. No extra Python deps; you need MiniMax-H3 weights and ComfyUI's H3 support (check the licence's US/EU/UK/Korea carve-outs).

    The honest take: this whole timeline surface is alpha and young - it's the pack's bid to make de-roping a specification rather than a pile of widgets. If you're happy tuning dials, the classic pipeline nodes still work and are regression-tested; Timeline Analyze is for when you want the same decisions made systematically, repeatably, and priced before you commit. Start with auto on and both oracles wired - that's the path the author validated.

    Categorylatent/minimax/timeline

    Inputs (16)

    NameTypeDefaultDescription
    clip_pathSTRINGthe source clip this plan is about (its file name is what the compiled graph's LoadVideo will use)
    framesINT12439–3600world length of the clip, on the 17k+5 grid; wire H3 Video Fit's length
    plan_pathSTRINGwhere to write plan.json; empty = output/timeline/<clip>.plan.json
    autoBOOLEANtrueTrue: accept the proposal and compile it immediately (zero click). False: write the plan and stop
    jerk_profileoptSTRINGH3 Jerk Oracle's profile output
    indecision_profileoptSTRINGH3 Indecision Oracle's profile output
    ceilingoptFLOAT4.01–16the lane's top end in generated frames per world frame; the output is NOT slower or longer, it is generated denser. The price meter is what makes a high ceiling safe
    thresholdoptFLOAT0.750–0.99rank-scale saliency below which the clip stays at real time (the oracle's q, on a scale both signals share)
    promptoptSTRING
    widthoptINT115264–4096
    heightoptINT64064–4096
    regen_strengthoptFLOAT0.450–1how much of the denoise schedule the regeneration gets (H3's inject)
    stepsoptINT251–100
    seedoptINT202608170–18446744073709550000
    output_prefixoptSTRINGvideo/timeline
    graph_pathoptSTRINGwhere auto-compile mints the .api.json; empty = workflows/<plan name>.api.json

    Outputs (4)

    NameTypeDescription
    plan_pathSTRING
    previewIMAGE
    graph_pathSTRING
    reportSTRING