ComyfUI timeline and clip extension nodes for Minimax H3
Python
120
52 commits
updated Sep 29, 2026
A MiniMax H3 ComfyUI workflow and nodes that allow generating, extending, prepending, bridging and editing videos in an easy to use UI.
The timeline node is like a mini video editor.
And it also supports creating seamless looping videos.
If these nodes and workflows save you time, consider supporting their development on Patreon. Supporters get early access to new features and workflows.
h3_obvpm_timeline_r2v_v0.1.1-006.json. It runs on this pack's 0.1.1, with the same requirements as 005.minimax_h3_latent_upscaler_3d_conv_v1_fp16.safetensors (the previous file is no longer published). Download it from Hugging Face into ComfyUI/models/latent_upscale_models/.shift_video did not change the noise schedule (the scheduler always used the model's built-in shift of 12, and the preset value only affected the audio). The shift is now applied once, in H3 Model Optimization, so it shapes the schedule and the sparse attention window too. The included presets all use 12, so their results are unchanged.h3_obvpm_timeline_r2v_v0.1.1-005.json. It runs on this pack's 0.1.1.lightx2v generation preset had its turbo loader set to off, so its LoRA was never loaded.Full history in workflows/README.md
.mctx.safetensors was right beside them, when the browser could not read the sidecar itself. The server now answers for it, and a clip without a usable sidecar says why in its tooltip: no sidecar, a sidecar that no longer matches the video, or one that could not be read.base_folder typed with backslashes (projects\my_project) now works like projects/my_project. The Timeline's clip menu used to find nothing in it.TypeError: list indices must be integers or slices, not NoneType. Longer timelines were not affected..comfyignore).Full change history in CHANGELOG.md
The best way to learn how to use the Timeline and workflow is by watching the YouTube tutorial video:
Watch on YouTube: https://youtu.be/kqP09NfJXaQ
The main node is the Timeline node: the clips you generate are placed on it, and it is where you arrange, cut and preview them, and pick which clip the next generation continues from.
Generate a clip, see if you like it, add it to the timeline, then extend from it. Any part you don't like can be redone later.
Every generated clip is saved together with a motion context file (.mctx) that holds its latents. Extensions continue from those original latents using latent masks, not from re-encoded pixels, so there are no lighting changes or flickers at the joins. And because the files sit next to the clips, a clip can still be extended at full quality days or months later.
Generating
Timeline
Upscaling
Workflow
ComfyUI 0.35.0 (2026-09-09) or newer is needed: the workflow's Model Optimization uses core's Model Sparse Attention node, which arrived there.
The workflows use these custom node packs, so install all of them:
| Custom node pack | Used for |
|---|---|
| comfyui-obvpm-timeline (this pack) | The Timeline node, pins, joint render, upscale pass, result preview |
| comfyui-obvpm (0.2.9 or newer) | Bundles, Settings Presets, switches and gates, Load Images & Compose, Compatibility Check |
| ComfyUI-KJNodes | Set / Get nodes, model preview override, Sage attention patch |
| Comfyui_Minimax_h3_latent_Upscaler | The latent upscaler used by the upscale pass |
| ComfyUI-MiniMax-H3-Turbo | Turbo LoRA loader for larryvrh turbo |
| ComfyUI-Spectrum-MiniMax-H3 | Spectrum acceleration |
| rgthree-comfy | Power Lora Loader |
Latent upscaler: use the original pack, not the "Plus" fork. The workflow was built with LBH-123-AI/Comfyui_Minimax_h3_latent_Upscaler. The fork xmarre/Comfyui_Minimax_h3_latent_Upscaler-Plus registers a node with the same id and name but a different set of widgets. Only one of the two can be installed at a time, and with the fork installed the workflow loads wrong:
device shows true and precision shows cuda, and the run fails until both are set by hand.enable_temporal_chunking and force_unload widgets, so every saved value after align lands one field too far along.If you see the symptom, uninstall the Plus fork, install the original pack, restart ComfyUI and reload the workflow.
"MiniMax H3 Video Extend (Backported)" causes colour shifts at the joins. The pack kat3ri/ComfyUI-MiniMax-H3-Extend (nodes MiniMax H3 Video Extend (Backported) and MiniMax H3 Encode AV (Patched)) does not just add nodes: at import time it replaces two core ComfyUI functions, MiniMaxH3.extra_conds and PackedLayout.__init__, with copies taken from an older ComfyUI. Those copies affect every H3 sampling run in the session, even in workflows that never use its nodes.
extra_conds predates that mechanism and silently drops the masks, so the model treats the preserved frames as if they were fully noised and re-renders the continuation against context it cannot see properly. The replaced PackedLayout also rejects interior keyframe anchors, which the pin nodes need.If you have this pack installed, remove it, restart ComfyUI and re-run the extension. The related pmhaidn/ComfyUI-Minimax-H3-Extender wraps the core function instead of replacing it and leaves the current layout code alone, so it has not shown this problem; it does patch the Turbo LoRA loader, so if you see odd Turbo behaviour with it installed, try without it.
Clone (or copy) this folder into ComfyUI/custom_nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/chanon/comfyui-obvpm-timeline
Restart ComfyUI. No extra Python dependencies are required.
The workflow is available in the workflows folder. Use the latest, h3_obvpm_timeline_r2v_v0.1.1-006.json (it needs the new latent upscaler model, see the workflow changelog); the older -004 is kept for setups that cannot update comfyui-obvpm to 0.2.9 yet.
Every node in this pack is listed with (obvpm) after its name, so
searching the node menu for obvpm finds all of them. The names used
throughout this documentation leave that suffix off.
AI Generated docs:
GPL-3.0. See THIRD_PARTY_NOTICES for acknowledgments.
ComyfUI timeline and clip extension nodes for Minimax H3
Python
120
52 commits
updated Sep 29, 2026
A MiniMax H3 ComfyUI workflow and nodes that allow generating, extending, prepending, bridging and editing videos in an easy to use UI.
The timeline node is like a mini video editor.
And it also supports creating seamless looping videos.
If these nodes and workflows save you time, consider supporting their development on Patreon. Supporters get early access to new features and workflows.
h3_obvpm_timeline_r2v_v0.1.1-006.json. It runs on this pack's 0.1.1, with the same requirements as 005.minimax_h3_latent_upscaler_3d_conv_v1_fp16.safetensors (the previous file is no longer published). Download it from Hugging Face into ComfyUI/models/latent_upscale_models/.shift_video did not change the noise schedule (the scheduler always used the model's built-in shift of 12, and the preset value only affected the audio). The shift is now applied once, in H3 Model Optimization, so it shapes the schedule and the sparse attention window too. The included presets all use 12, so their results are unchanged.h3_obvpm_timeline_r2v_v0.1.1-005.json. It runs on this pack's 0.1.1.lightx2v generation preset had its turbo loader set to off, so its LoRA was never loaded.Full history in workflows/README.md
.mctx.safetensors was right beside them, when the browser could not read the sidecar itself. The server now answers for it, and a clip without a usable sidecar says why in its tooltip: no sidecar, a sidecar that no longer matches the video, or one that could not be read.base_folder typed with backslashes (projects\my_project) now works like projects/my_project. The Timeline's clip menu used to find nothing in it.TypeError: list indices must be integers or slices, not NoneType. Longer timelines were not affected..comfyignore).Full change history in CHANGELOG.md
The best way to learn how to use the Timeline and workflow is by watching the YouTube tutorial video:
Watch on YouTube: https://youtu.be/kqP09NfJXaQ
The main node is the Timeline node: the clips you generate are placed on it, and it is where you arrange, cut and preview them, and pick which clip the next generation continues from.
Generate a clip, see if you like it, add it to the timeline, then extend from it. Any part you don't like can be redone later.
Every generated clip is saved together with a motion context file (.mctx) that holds its latents. Extensions continue from those original latents using latent masks, not from re-encoded pixels, so there are no lighting changes or flickers at the joins. And because the files sit next to the clips, a clip can still be extended at full quality days or months later.
Generating
Timeline
Upscaling
Workflow
ComfyUI 0.35.0 (2026-09-09) or newer is needed: the workflow's Model Optimization uses core's Model Sparse Attention node, which arrived there.
The workflows use these custom node packs, so install all of them:
| Custom node pack | Used for |
|---|---|
| comfyui-obvpm-timeline (this pack) | The Timeline node, pins, joint render, upscale pass, result preview |
| comfyui-obvpm (0.2.9 or newer) | Bundles, Settings Presets, switches and gates, Load Images & Compose, Compatibility Check |
| ComfyUI-KJNodes | Set / Get nodes, model preview override, Sage attention patch |
| Comfyui_Minimax_h3_latent_Upscaler | The latent upscaler used by the upscale pass |
| ComfyUI-MiniMax-H3-Turbo | Turbo LoRA loader for larryvrh turbo |
| ComfyUI-Spectrum-MiniMax-H3 | Spectrum acceleration |
| rgthree-comfy | Power Lora Loader |
Latent upscaler: use the original pack, not the "Plus" fork. The workflow was built with LBH-123-AI/Comfyui_Minimax_h3_latent_Upscaler. The fork xmarre/Comfyui_Minimax_h3_latent_Upscaler-Plus registers a node with the same id and name but a different set of widgets. Only one of the two can be installed at a time, and with the fork installed the workflow loads wrong:
device shows true and precision shows cuda, and the run fails until both are set by hand.enable_temporal_chunking and force_unload widgets, so every saved value after align lands one field too far along.If you see the symptom, uninstall the Plus fork, install the original pack, restart ComfyUI and reload the workflow.
"MiniMax H3 Video Extend (Backported)" causes colour shifts at the joins. The pack kat3ri/ComfyUI-MiniMax-H3-Extend (nodes MiniMax H3 Video Extend (Backported) and MiniMax H3 Encode AV (Patched)) does not just add nodes: at import time it replaces two core ComfyUI functions, MiniMaxH3.extra_conds and PackedLayout.__init__, with copies taken from an older ComfyUI. Those copies affect every H3 sampling run in the session, even in workflows that never use its nodes.
extra_conds predates that mechanism and silently drops the masks, so the model treats the preserved frames as if they were fully noised and re-renders the continuation against context it cannot see properly. The replaced PackedLayout also rejects interior keyframe anchors, which the pin nodes need.If you have this pack installed, remove it, restart ComfyUI and re-run the extension. The related pmhaidn/ComfyUI-Minimax-H3-Extender wraps the core function instead of replacing it and leaves the current layout code alone, so it has not shown this problem; it does patch the Turbo LoRA loader, so if you see odd Turbo behaviour with it installed, try without it.
Clone (or copy) this folder into ComfyUI/custom_nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/chanon/comfyui-obvpm-timeline
Restart ComfyUI. No extra Python dependencies are required.
The workflow is available in the workflows folder. Use the latest, h3_obvpm_timeline_r2v_v0.1.1-006.json (it needs the new latent upscaler model, see the workflow changelog); the older -004 is kept for setups that cannot update comfyui-obvpm to 0.2.9 yet.
Every node in this pack is listed with (obvpm) after its name, so
searching the node menu for obvpm finds all of them. The names used
throughout this documentation leave that suffix off.
AI Generated docs:
GPL-3.0. See THIRD_PARTY_NOTICES for acknowledgments.