FeiHou Easy H3 接续合并
The node that deletes the seam between two H3 shots
- latent
- images
- audio
- production_shot
- images
- audio
- tail_latent
- fps
MiniMax H3 gives you four to fifteen seconds. It won't give you a minute, and no prompt fixes that, so everyone chains clips: generate one, grab its last frame, feed that in as the start of the next. It works - standard trick since the Wan days - but it leaves a visible seam, and on H3 it also wrecks the audio, because H3 generates sound jointly with the picture and chaining drops that context at every join.
FeiHou Easy H3 接续合并 (FeiHouEasyH3ContinueOut) is half of this pack's fix for both. It generates nothing: it trims the regenerated overlap off the front of a shot, keeps the real tail, and hands that tail to FeiHou's Video Combine V2 so the next shot starts where the last one stopped.
What the "seam" actually is
In the pack's production-pack path, the Production Pack Loader (continuation on) lengthens each shot by an overlap - 22 or 39 frames, per your context-frames setting - and attaches the previous shot's last frames and soundtrack at its start, anchored at frame 0 in H3's own keyframe guide format. The sampler regenerates those frames inside the new shot's context, so the model writes through the join instead of butting two takes together.
So the shot you just sampled opens with a rerun of the previous ending, and that is what this node removes. It drops those leading frames, slices the audio by the same offset, and outputs the genuinely new seconds. Then it builds a tail record - enough latent, or pixels, plus at least a second of audio - and stashes it in process memory so the next queue run chains without touching disk.
continue_from decides the shape of that tail. latent (the default) takes the last 12 latent steps off the 2nd-pass sampler - on the H3 grid, exactly the last 39 frames - so there's no VAE round trip and no face-refine artifacts in the guide, and no face-refine detail either. image re-encodes the finished frames instead, putting the refined look into the join, color shifts included.
Inputs and outputs
continue_from is the only required input; the rest is optional and changes what the node can do.
latent- the 2nd-pass sampler output. Required inlatentmode, where it's also whatimagesandaudiodecode from if you don't wire them. Anything that isn't H3's two-tensor audio/video latent falls back to pixels, with a warning.images- the final frames, e.g. after face refine. Required inimagemode, optional inlatentmode.audio- wire it for a specific soundtrack; unplugged, the generated one is decoded from the latent.production_shot- the sameFEIHOU_H3_PRODUCTION_SHOTthe loader gives Setup. Without it, the node is a pass-through:imagesandaudiountouched,tail_latentempty. Right for a one-off, silent about why nothing saved.
All four outputs - images, audio, tail_latent, fps - go to Video Combine V2, with tail_latent on its latent input. V2 writes a same-named .latent beside the shot video, records the shot in a per-pack manifest under output/feihou_h3_continuation/, and joins the segments once the last shot runs. fps is what Setup used (else the shot's own, else 24). Set the loader to 硬切 and the record says save: False - trimmed and passed through, but no .latent written.
Install
ComfyUI Manager, search ComfyUI-FeiHou-Easy-H3, or:
cd ComfyUI/custom_nodes
git clone https://github.com/FX-FeiHou/ComfyUI-FeiHou-Easy-H3
Restart and the nodes show up under FeiHou Easy H3. You need a ComfyUI new enough to ship the official MiniMax H3 nodes - this code imports comfy_extras.nodes_minimax_h3 and comfy.ldm.minimax.model directly, so an older install fails at import. You also want FX-FeiHou/ComfyUI-FeiHou-Toolbox: no Video Combine V2, no place to feed tail_latent, nothing saved. The pack's face-refine and local-LLM requirement files are for other features; this node needs neither. It coexists with the upstream ComfyUI-MiniMaxH3-Easy it adapts - every class is FeiHouEasyH3*-prefixed.
Where people get burned
The errors are plain, so read them. 「接续合并选的是 latent…」 means latent mode with nothing - or the wrong thing - on latent. 「audio 没有连接…」 usually means production_shot came unplugged, so the node can't reach a VAE to decode anything.
The real trap is state. The previous shot's tail lives in process memory, and when it's gone the loader looks for the .latent sibling next to that shot's video. Rename, move or delete that video and the chain breaks quietly - a log line reports the shot is neither in memory nor saved as .latent, then it starts fresh, no continuation and no dialog. Re-queueing mid-pack after a restart is how you find this. The loader's 接续视频 field (previous video, same-named .latent preferred) repairs it.
Also, H3 only takes 5 + 17N frames, so the loader rounds your duration up - keep the duration-crop node ahead of the save. And the node is uncacheable, so a re-queue re-runs it; that's tail bookkeeping, not a resample. Finally, the author's own docs admit this path hasn't had full GPU acceptance testing and only reached the Standard edition at v1.4.20. Hand-chaining last frames through an overlap trim is the alternative - the old 81-frame problem all over again - so automating it is a real win. Just know you're on the experimental tier.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| continue_from | COMBO | latent | latent:下一段二采直接用二采 latent 结尾(不经解码、不含修脸,推荐),只需连 latent;image:用 images 画面重新编码(会带上修脸效果),只需连 images。 |
| latentopt | LATENT | 接二采采样器的 output(LATENT)。latent 模式必接;images 没连时由它解码出画面。 | |
| imagesopt | IMAGE | 最终画面(例如修脸后)。image 模式必接;latent 模式可不接。 | |
| audioopt | AUDIO | 要保存的声音(生成音频或原声)。连了就用它;不连时从 latent 解码生成的声音。 | |
| production_shotopt | FEIHOU_H3_PRODUCTION_SHOT | 接制作包读取节点的 production_shot(与 Setup 同一个)。 |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| audio | AUDIO | — |
| tail_latent | LATENT | — |
| fps | FLOAT | — |