View_bridge_tentor
Decode and merge an entire staged video run in one node
- bridge_latent
- image
- video
- audio
- mask
- text
View_bridge_tentor is the decoder-and-assembler at the far end of ComfyUI-Apt_Preset's staged MiniMax H3 workflow. Everything upstream - flow_stage_begin, the per-stage samplers, flow_stage_end - works hard to park each stage's latent on disk and free the GPU between stages. This node is where you finally get to see what all that produced: it takes one bridge latent or an ordered list of them, decodes each with the right VAE, and hands you back a finished image, video, audio, mask and text bundle, with multi-stage segments merged into one continuous clip.
The inputs
One input does all the work: bridge_latent. You can feed it a single plain LATENT - which keeps the node useful even outside the staged system, as a plain video decode - or, much more interesting, wire in the list outputs of flow_stage_bridge_decode_range (bridge_latent_data1 or data2). The node is list-aware, so it figures out whether it got one payload or fifty and decodes/merges accordingly. That's the canonical wiring:
flow_stage_bridge_decode_range → bridge_latent_data1/2 → View_bridge_tentor.bridge_latent
The other three inputs are the decode settings. vae and audio_vae are dropdowns built from whatever checkpoints you have in models/vae, and each lists None as an option; the code even tries to pre-select files whose names contain minimax_h3_video_vae / minimax_h3_audio_vae so it defaults to the right H3 VAEs when you have them. Picking None on a stream simply skips decoding it. Practical trap: if you only ever see None in both dropdowns, it's not a bug - it means you haven't dropped the H3 video and audio VAE checkpoints into models/vae yet, and without them there's nothing to decode with. fps (default 24) sets the frame rate of the resulting video.
How the merge works
The merge logic is where the author's attention went, and it's thoughtful:
- Multiple video stages merge in input order, matching the first clip's resolution, frame rate and bit depth; clips at other frame rates get resampled and other resolutions get upscaled to match. Audio follows the first clip that has any, durations get aligned, and stages with no audio get silent fill - so the timeline doesn't drift or collapse.
- Already-saved payloads - if a stage stored an image, audio, mask or text directly rather than a latent - pass through as-is without a pointless VAE round-trip. Multi-stage text gets joined with newlines.
- Missing channels come out as blockers, ComfyUI's way of saying "no data here," so you can wire all five outputs downstream and only the populated ones fire. The outputs are
image,video,audio,mask,text. When every input is video,imagereuses the merged frames andaudiouses the aligned track.
What it won't do
Honest limitations, because the design doc says them outright: decoding and merging still holds every frame in RAM, and there's no streaming decode. A fifteen-stage run of long clips will use memory proportional to the total frame count when you assemble it. This node is a review and export tool, not a magic way to dodge the memory bill - the VRAM savings come from staging the sampling, and they're already banked by the time you get here.
Installing it
Install is the pack install:
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
into custom_nodes, run install.bat, restart. No per-node models required beyond the H3 video/audio VAEs mentioned above. The name "tentor" doesn't mean anything special - it reads like internal shorthand for the node that tents over all the outputs and holds them together - but the five-way output is the real story: one decode point that terminates a whole staged run in a single place you can actually read.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| bridge_latent | LATENT | — | |
| vae | COMBO | None | 1 options: None |
| audio_vae | COMBO | None | 1 options: None |
| fps | FLOAT | 24.001–240 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| video | VIDEO | — |
| audio | AUDIO | — |
| mask | MASK | — |
| text | STRING | — |