Nodes/IAMCCS-nodes/MiniMax H3 → LTX · Resume Saved Native
ComfyUI Node

MiniMax H3 → LTX · Resume Saved Native

Upscale a finished H3 master in LTX without loading H3 at all

By IAMCCS·Created about a year ago·Updated 3 days ago· 118
MiniMax H3 → LTX · Resume Saved Native
    • native_frames
    • native_audio
    • cine_linx
    • master_ready
    • render_id
    • fps
    ◄native_file►
    ◄upscale_promptPreserve the source video's exact shot order, hard cuts, framing, faces, clothing, lighting, lip motion and performance. Recover fine detail without redesigning subjects or changing camera motion.►

    Here's a workflow shape that saves real time: H3 generates a sequence at its native resolution, you accept it, and then you want the polish pass - a refinement in LTX that sharpens detail without redesigning the shot. The obvious way to do that is to re-run the whole H3 graph to get the media back into a graph, which means loading a 33B model to read a file you already have.

    MiniMax H3 → LTX · Resume Saved Native skips that. It reads a saved native checkpoint plus its metadata sidecar, decodes the frames and audio, rebuilds the shotplan, and hands the whole thing to an LTX refinement branch. No H3 models are loaded.

    What it is

    Two inputs, both required:

    • native_file - the path to the saved native master. Must resolve inside ComfyUI/output.
    • upscale_prompt - the direction for the LTX pass. It ships with a good default you should probably keep: preserve shot order, hard cuts, framing, faces, clothing, lighting, lip motion and performance; recover fine detail without redesigning subjects or changing camera motion. That's the correct brief for a refinement pass. If you rewrite this to describe a new scene, you get a new scene, and you'll blame the node.

    Six outputs:

    • native_frames (IMAGE) and native_audio (AUDIO) - the decoded master, straight into your LTX graph
    • cine_linx - the rebuilt plan, with upscale mode switched on and your prompt attached
    • master_ready (BOOLEAN) - set true on a successful read; use it to gate anything downstream
    • render_id (STRING) - a fresh run id, suffixed onto the original generation's id, so this pass has its own identity
    • fps (INT) - read from the metadata, not guessed

    How it works

    The node is strict in a way that's worth understanding before it annoys you.

    It resolves native_file and refuses anything outside the ComfyUI output directory. Then it requires a sidecar: the same path with .iamccs.json appended. That sidecar holds the generation record - the shotplan, fps, frame count, and the list of segment files - and it's read with strict=True, so a missing sidecar is a hard file-not-found rather than a graceful degradation.

    Then it decodes the video into frames and checks the decoded frame count against the metadata's frame_count. If they differ, it raises: "checkpoint frame count differs from its metadata." That's a deliberate paranoid check, and it catches the real failure this workflow invites - someone trimmed or re-encoded the mp4 after it was written, and now the timing doesn't match the plan.

    Audio gets the same treatment. If the generation recorded segment files and each has its locked-audio sidecars, the node rebuilds the soundtrack from those segments rather than trusting the container, and verifies that the segment frame counts sum to the decoded frame count. That's how you keep the audio authoritative when you're re-processing a master that may have been through a mux.

    Finally it mutates the plan: upscale_mode to LTX 2.3, upscale_enabled true, and your upscale_prompt into the plan's upscale settings. So the downstream LTX nodes are being told, via the bus, what they're doing - you don't wire that by hand.

    Also worth knowing: IS_CHANGED watches the modification times of both the media and its sidecar, so regenerating the native clip invalidates the read instead of silently reusing a cached decode of the old one.

    Install

    Part of IAMCCS-nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/IAMCCS/IAMCCS-nodes.git
    

    Restart, hard-refresh, or install from ComfyUI Manager by searching IAMCCS Nodes. One copy only in custom_nodes.

    No requirements.txt for the pack. You do need a working LTX 2.x setup for the branch downstream of it - model, video VAE, audio VAE, and the LTXV nodes that ship with ComfyUI. The pack's SuperNodes requirements doc lists the specific LTXV nodes its wrappers expect (LTXVConcatAVLatent, LTXVSeparateAVLatent, LTXVAudioVAEEncode, LTXVLatentUpsampler and friends) and names VideoHelperSuite and MTB as external dependencies for the combine/audio paths. ComfyUI 3.0.0 or newer.

    Common issues

    "LTX resume source must be a native checkpoint under ComfyUI/output." Your path escaped the output directory, or it's relative and resolved somewhere unexpected. Use the path the generation actually reported.

    FileNotFoundError on the sidecar. You pointed it at an mp4 that came from somewhere else - a download, a colleague's export, an old workflow that didn't write sidecars. This node resumes IAMCCS native checkpoints, not arbitrary video. For arbitrary media, decode it normally and skip this node.

    Frame count mismatch. The file was trimmed or re-encoded after generation. The metadata is the truth here; regenerate or accept that this pass can't be trusted for timing.

    Audio drifts against picture after the refinement. Check whether the segment audio sidecars were present. If they weren't, the node fell back to the container audio - which is fine for a short single shot and risky for a stitched programme.

    LTX output ignores your prompt. If the plan's upscale settings are overridden further down the graph by another Settings node, your upscale_prompt loses. Keep one authority for that value.

    Where it fits

    Native H3 render → resume source → LTX refinement → back to delivery. Pair it with MiniMax H3 → LTX · Tiled AV Refinement for the sampling stage, because a full-resolution AV refinement on a consumer card is exactly the job that wants tiling rather than a bigger GPU.

    CategoryIAMCCS/MiniMax H3/Delivery

    Inputs (2)

    NameTypeDefaultDescription
    native_fileSTRING—
    upscale_promptSTRINGPreserve the source video's exact shot order, hard cuts, framing, faces, clothing, lighting, lip motion and performance. Recover fine detail without redesigning subjects or changing camera motion.—

    Outputs (6)

    NameTypeDescription
    native_framesIMAGE—
    native_audioAUDIO—
    cine_linxIAMCCS_SUPERNODE_LINX—
    master_readyBOOLEAN—
    render_idSTRING—
    fpsINT—