Nodes/comfyui-AGSoft/🎬🧊AGSoft MiniMaxH3 Stitch Latent
ComfyUI Node

🎬🧊AGSoft MiniMaxH3 Stitch Latent

Stitch N MiniMax H3 scenes into one latent — just never decode the video from it

By Art-xmaster·Created about a year ago·Updated 2 days ago· 25
🎬🧊AGSoft MiniMaxH3 Stitch Latent
  • vae
  • stitched_latent
  • images
inputs_count2
trim_first_frames1

MiniMax H3 is a 15-seconds-at-a-time model, so any longer film is scenes chained together - and eventually those scenes have to become one thing you can render and export. AGSoft MiniMaxH3 Stitch Latent is the final-assembly node for the latent side of that job. It takes 2–50 finished H3 latents and welds them into one. But it ships with a warning, and you should read the warning before you use the output.

Set inputs_count (2–50, default 2) and JS grows the latent_N sockets; connect your scene latents in order 1..N because order defines the final sequence. Behind the scenes each H3 latent is a NestedTensor - a video part and an audio part bundled together - and the node handles that by concatenating the video parts along the frame axis and the audio parts along the time axis. Same resolution across segments is required, and it will refuse to run if you feed it a latent with no 5D video part at all.

That's where the warning comes in. The stitched_latent output exists to carry audio. Concatenating latents means each segment boundary lands mid-VAE-chunk with shifted temporal context, so decoding the video out of the whole thing produces flicker and jitter at every join - a classic beginner trap because it's the obvious move. The author's rule is blunt: decode audio from it, never video. That's why the optional vae input exists - connect the MiniMax H3 video VAE (minimax_h3_video_vae_fp16) and the node decodes each segment individually first (VRAM-friendly, one at a time), trims the anchor-frame duplicate from segments 2+ via trim_first_frames (0–8, default 1), then stitches the pixels into a single images IMAGE. Video gets assembled in pixel space where joins are clean; latent space is only for the soundtrack. Leave vae disconnected and you get a pure latent concat that's effectively instant, with a dummy 8×8 placeholder where images would be.

The shape of the workflow this belongs to should look familiar if you've met the family: generate scene A, slice its tail into first_frame + context for scene B (that's the AGSoft Slice nodes), generate B anchored to A, repeat - then land the whole run here. Output wiring mirrors the pixel-space sibling: stitched_latentVAE Decode Audio, and either images (if you decoded per segment) or your separately-stitched pixels → AGSoft Video Save.

Errors are the loud, bilingual kind: fewer connected segments than inputs_count claims, or a resolution mismatch, and it tells you exactly that. Nothing else is fussy.

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

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

Restart ComfyUI. This is a pure utility node - no models bundled, and it presumes H3 is already running under ComfyUI (which has had native support since the weights dropped). Two reminders from the wider picture: the H3 local weights are gated by a community licence excluding the US, EU, UK and Korea, and comfyui-AGSoft is a single-author, Russian-first pack with almost no English reddit footprint - the bilingual tooltips in the nodes themselves are more reliable than most "help" threads you'll find.

CategoryAGSoft/MiniMaxH3

Inputs (3)

NameTypeDefaultDescription
inputs_countCOMBO2Number of segments to stitch (2-50). JS adds latent_N sockets; connect scene latents in order 1..N — order defines stitch order. --- Количество отрезков для склейки (2-50). JS добавляет сокеты latent_N; подключайте латенты сцен по порядку 1..N — порядок определяет порядок склейки.
vaeoptVAEMiniMax H3 video VAE (minimax_h3_video_vae_fp16). Connected = per-segment decode into a single IMAGE. Not connected = latent-only concat (instant), IMAGE is a dummy placeholder. --- Video VAE MiniMax H3 (minimax_h3_video_vae_fp16). Подключен = посегментный декод в один IMAGE. Не подключен = только склейка латентов (мгновенно), IMAGE — заглушка.
trim_first_framesoptINT10–8How many first PIXEL frames to drop from segments 2+ (the anchor-frame duplicate produced by first_frame chaining). Applies to the IMAGE output only. 0 = keep all frames. --- Сколько первых ПИКСЕЛЬНЫХ кадров отрезать у отрезков 2+ (дубль кадра-якоря из цепочки first_frame). Действует только на выход IMAGE. 0 = не резать.

Outputs (2)

NameTypeDescription
stitched_latentLATENT
imagesIMAGE