MiniMaxH3 • Transition Render
Transition Render Keeps Only the Middle of What You Just Paid For
- latent
- vae
- audio_vae
- transition
- filename
The transition window you just sampled is longer than the bridge you get to keep. With the defaults, Transition Guide builds a 73-frame window: 22 frames of hidden context, 29 frames of actual bridge, 22 more of hidden context. MiniMaxH3 • Transition Render decodes all of it, verifies it, then writes only those middle 29 frames out as an MP4 you can drop into a join. The context frames existed so the model had somewhere to come from and somewhere to go; keeping them would double up with the clips you already have.
This is the second half of the pair. Guide builds the conditioning, your own sampler renders it, Render harvests the result. It's an output node, so it does the encoding itself and its single filename output tells you where the bridge landed.
What it does
Inputs are latent (your sampler's output for that window), vae and audio_vae (the native H3 pair), and transition - the plan from the Guide. No settings, no sliders. Everything it needs is in the plan, which is the right design: there's nothing here you could usefully dial wrong.
First it validates the window: the latent's frame count must equal the plan's window_frames, or you get "Sampled latent is not the window prepared by this Transition Guide." That error almost always means the sampler didn't run the full window - a mismatched length setting, a different sampler node, or a reroll with an edited graph.
Then it decodes the video latent, discards the first context_frames, and inverse-covers back to the source clip canvas - the exact inverse of the centre crop the Guide applied on the way in, so the bridge comes back at your footage's framing instead of the 32-pixel-rounded generation framing. Audio gets the same treatment: decode, cut at context_frames converted to 32 kHz samples, keep transition_frames worth, with a 267-sample tolerance for the 40 Hz latent grid between the video boundary and the audio boundary. Beyond that tolerance it raises rather than drifting out of sync.
Output is H.264 at the clip's colour properties, yuv420p, 24 fps, CRF 18, plus AAC stereo at 48 kHz and 192k, in an MP4 with fast-start. It writes to input/h3_transitions/ under ComfyUI's input directory with a UUID in the name, verifies the file by reading it back, and publishes atomically. filename comes back as a relative path - h3_transitions/<name>.mp4 - which is exactly what a Join Clips media row wants.
Wiring and install
Guide's positive to your guider, Guide's latent to the sampler's latent input, sampler output into latent here, transition from the Guide into transition here, both VAEs connected. Then use the filename as a row in a join.
cd ComfyUI/custom_nodes
git clone https://github.com/darksidewalker/ComfyUI-DaSiWa-Nodes
cd ComfyUI-DaSiWa-Nodes
pip install -r requirements.txt
Or search DaSiWa-Nodes in ComfyUI Manager. This node is where the av>=18 requirement genuinely bites: encoding and verification go through PyAV, so a broken av install means no bridges even though sampling worked fine. And as with the rest of this pack, nvidia-vfx and llama-cpp-python come along in the requirements whether or not you'll ever touch the RTX or LLM nodes. H3's community licence also excludes the US, EU, UK and Korea - worth knowing before you build a pipeline around it.
Where people get burned
Bridges survive a failed join. They sit in input/h3_transitions/ even if the assembly blew up, which is genuinely useful - you can retry the join, or add one as an ordinary media row. Just don't mistake "the file is there" for "the join succeeded."
It writes into the input folder, not output. That's deliberate so Join Clips can reference it, but it means bridge files accumulate and nothing prunes them.
Frame count, not duration, is the contract. Anything that changes the window - a different context or transition length in transition_data, or a latent from another run - gets rejected. Re-run the Guide after editing the numbers.
The seam is the model's fault, not the node's. You get one honest attempt per cut. If clip A ends in a medium shot and clip B begins in a close-up of someone else, the bridge will render something, and it will look like exactly what it is.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | Sampler output for the Transition Guide window. | |
| vae | VAE | Native MiniMax H3 video VAE. | |
| audio_vae | VAE | Native MiniMax H3 32 kHz audio VAE. | |
| transition | DF_H3_TRANSITION | Transition Guide plan for this window. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| filename | STRING | — |