Nodes/comfyui-AGSoft/🎬🖼️AGSoft MiniMaxH3 Stitch Images
ComfyUI Node

🎬🖼️AGSoft MiniMaxH3 Stitch Images

Splice MiniMax H3 clips together in milliseconds and keep the audio in sync

By Art-xmaster·Created about a year ago·Updated 2 days ago· 25
🎬🖼️AGSoft MiniMaxH3 Stitch Images
    • images
    • stitched_latent
    inputs_count2
    trim_first_frames1

    So you've generated scene after scene of a MiniMax H3 video, each one continuing the last via first_frame chaining, and now you've got a pile of decoded clips that need to become one movie. This is the node that does the joining - and it's the pixel-space version, which means it's instant.

    AGSoft MiniMaxH3 Stitch Images concatenates 2–50 already-decoded IMAGE segments in CPU memory with no VAE in the loop, which is why it's milliseconds even on weak GPUs. Set inputs_count (2–50, default 2) and the node's JS grows images_N sockets - plug your decoded frames in order 1..N, because socket order is stitch order. Connect them out of order and you'll get a beautifully seamless cut of the wrong movie.

    Two outputs, and they map onto the AGSoft video-saving idiom directly: images feeds AGSoft Video Save.images, and stitched_latent is meant to go to VAE Decode AudioVideo Save.audio.

    The genuinely clever bit is the audio. When you chain scenes with first_frame, every scene after the first starts from a frame that's identical to the previous scene's last frame - an anchor-frame duplicate. Left alone, each join would stutter by one repeated frame. trim_first_frames (0–8, default 1) drops that duplicate from segments 2+. But if you trim pixels without trimming audio, H3's audio drifts out of sync - so the node also accepts the same segments' latents via latent_N sockets, pairs them with the images by index, and trims their audio proportionally to the pixel trim. Audio lands back in sync. Connect no latents and stitched_latent is a silent placeholder - fine if you're muxing audio later anyway.

    There's a "why would this exist" angle worth spelling out. The alternative - stitching H3 latents then decoding once - looks cheaper but isn't: a concatenated latent decodes into flickering junk because H3's temporal VAE context and chunk phase change at the join (the sibling Stitch Latent node is very insistent about this). The reliable path is decode per segment, stitch pixels, stitch audio. If your workflow already decoded each scene for preview or saving, this node is that path with zero extra decodes.

    Where people get burned: it errors loudly if you connect fewer segments than inputs_count claims, and if you're mixing segments of different resolutions - H3 is resolution-locked per project anyway, so keep that straight.

    Install: ComfyUI Manager → search comfyui-AGSoft, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Art-xmaster/comfyui-AGSoft
    

    Restart ComfyUI. No models ship with the pack - it's a utility collection for workflows where H3 (and its VAE) are already running. Just note the H3 local weights carry a community licence that excludes the US, EU, UK and Korea. The pack itself is one author's ~150-node grab bag with Russian-first docs, and there's little English discussion of it yet - so when something's unclear, the source and its bilingual tooltips are actually your best reference.

    CategoryAGSoft/MiniMaxH3

    Inputs (2)

    NameTypeDefaultDescription
    inputs_countCOMBO2Number of segments to stitch (2-50). JS adds images_N (and latent_N) sockets; connect decoded frames in order 1..N — order defines stitch order. --- Количество отрезков для склейки (2-50). JS добавляет сокеты images_N (и latent_N); подключайте декодированные кадры по порядку 1..N — порядок определяет порядок склейки.
    trim_first_framesINT10–8How many first frames to drop from segments 2+ (the anchor-frame duplicate produced by first_frame chaining). Audio latents are trimmed proportionally — A/V sync is preserved. 0 = keep all frames. --- Сколько первых кадров отрезать у отрезков 2+ (дубль кадра-якоря из цепочки first_frame). Аудио-латенты режутся пропорционально — A/V синхрон сохраняется. 0 = не резать.

    Outputs (2)

    NameTypeDescription
    imagesIMAGE
    stitched_latentLATENT