H3 Continuum Sampler V3.9
H3 Continuum Sampler V3.9
- model
- clip
- video_vae
- sampler
- sigmas
- first_frame
- last_frame
- reference_video_1
- driving_audio
- audio_vae
- reference_audio_1
- reference_audio_vae
- guide
- audio_references
- reference_images
- video_latents
- audio_latents
- assembly_plan
- status
- driving_audio
- refine_context
MiniMax H3 generates 4–15 seconds with synced stereo audio, and it's genuinely good at it. It cannot generate two minutes. So you chunk - and by hand that means feeding each clip's tail into the next and hoping the audio and the subject survive the seam. H3 Continuum Sampler V3.9 does that loop for you: N sequential chunks, continuity at every boundary, saved to disk so a long run can resume or a chunk can be swapped without redoing everything.
If you know the Wan ecosystem, this is the SCAIL-2 Infinity / Bernini Infinity idea - chunk-stitching collapsed into one node - applied to H3, with more knobs.
What V3.9 changed
Virtually nothing about generation. The V3.9 Sampler's one structural change is that the old direct Reference Image 1–3 sockets are gone: all nine reference images now arrive through a single typed Reference Images (Optional) input fed by H3 Continuum Reference Images V3.9. If you're coming from a V3.8X2 workflow, that workflow keeps its own V3.8 Sampler and loads fine - open the new V3.9 graph rather than changing the node type in an old one, because saved widget positions from older prototypes can be misread.
How it works
The node is a driver, not a model wrapper. model, clip, sampler and sigmas pass through untouched, which is why external gear - an rgthree power LoRA loader, SageAttention, a Spectrum wrapper - still applies. What Continuum owns is the loop: it derives a deterministic seed per chunk from Base Seed, samples the first chunk, then carries a bounded amount of the previous chunk's context (video frames and, if you leave Audio Continuity on, generated audio) into the next one. Continuity = Balanced - 22 frames is the validated default at that boundary size.
It emits raw latents, not pictures. video_latents and audio_latents are lists - one entry per physical group - and they normally go through Core VAE Decode (or the pack's built-in Decode Cache Helper, which is what the shipped workflow wires) and then into H3 Continuum Finalize, which assembles the groups into the exact timeline you asked for. assembly_plan is what tells Finalize how. After that it's the ordinary Create Video → Save Video chain. This node is not an output node, no matter how big it looks on your canvas.
The controls you actually set
Forget the twenty-odd widgets for a first run. These are the ones that matter:
Chunks(1–16) andSeconds per Chunk. 5 seconds is the fast test; 8–10 usually reduces handoffs without being painful. 5–15 is the validated range, and the tooltip warns that above 15 VRAM use and time "can increase substantially."Size Source-First Imagekeeps your first frame's aspect ratio and thenResolutionpicks its pixel budget (Draft - 0.30 MPto test,Balanced - 0.60 MPwhen you care).ManualusesWidth/Heightexactly, both multiples of 32, and is the normal choice for text-to-video.Run-Full Rundoes the whole thing;Review Each Chunkstops after each physical group so you can accept it, retry it, or branch. Worth knowing up front: the tooltip says Review "requires Run Storage = Save + Auto Resume." SetRun Storageto that and giveRun Namea stable value, or the panel has nothing to come back to.Base Seed. It derives the per-chunk seeds, so keep it fixed when you continue, compare takes or try to reproduce something.Prompt Format(Autounless you want to force the parser) andSequence Prompt, which takes one multiline text node for the whole sequence - a timeline like[10-20s]per chunk is the intended style.
Optional media, briefly: first_frame / last_frame for image-to-video, reference_images from the V3.9 helper, reference_video_1 for 24fps video guidance (with video_reference_mode - Repeat Reference legacy, Follow Timeline experimental), driving_audio + audio_vae when the source audio should become the output, and reference_audio_1 + reference_audio_vae when audio should only condition. Don't wire the legacy single reference audio and the audio_references bundle together; the tooltip says pick one.
Outputs: video_latents, audio_latents, assembly_plan, status, driving_audio when used, and refine_context for the Advanced Second Pass.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ukr8b3g-cmyk/ComfyUI-H3-Continuum.git
Manager users can search H3 Continuum instead - but don't do both to the same install. No extra pip packages; pyproject.toml declares ComfyUI >=0.32.0 while the real validation baseline is 0.34.2. Restart the backend and hard-refresh the browser, then check the console for H3 Continuum 3.9.0 loaded. Model weights, LoRAs, images and audio are not included, and the supplied V3.8X2 graph additionally expects Spectrum, rgthree and KJNodes to be installed separately.
Where people get burned
16 GB is the boundary, not the target. The pack's own nine-reference run landed at roughly 15.0–15.5 GiB of 16,311 MiB at 512×608 with three 5-second chunks. Drop to Draft - 0.30 MP, fewer references, smaller sources - and if Windows is spilling work into shared memory and everything is slow, the community's usual advice about NVIDIA's "Sysmem Fallback Policy" applies here too.
Reference Image Size is not output resolution. It controls how the reference is encoded; Size Source, Resolution, Width and Height control the canvas.
Chunks regenerate when inputs change. Run Storage resumes the longest compatible saved prefix. Change the model, the LoRA or the size and your earlier chunks no longer match - the status output reports reused vs generated, so read it instead of judging by wall time, which barely moves since decoding and saving still run.
Issue #13 is still open. Long continuations on some prompts drift toward more contrast and edge energy. There is no production mitigation in the standard path, so build shorter sequences or expect to re-roll late chunks.
Inputs (46)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | MiniMax H3 diffusion model used for every Continuum chunk. | |
| clip | CLIP | MiniMax H3 text encoder used to encode the complete Sequence Prompt. | |
| video_vae | VAE | Used only to encode image conditioning. T2VA does not use it; Continuum never decodes with it. | |
| sampler | SAMPLER | ComfyUI sampler algorithm used unchanged for every generated chunk. | |
| sigmas | SIGMAS | ComfyUI noise schedule used unchanged for every generated chunk. | |
| sequence_prompt | STRING | Connect one Text (Multiline) for the complete sequence. | |
| prompt_mode | COMBO | Auto | Auto accepts Fixed, list-separated, and timeline prompt styles. |
| chunks | INT | 31–16 | Number of sequential Continuum chunks to generate. |
| chunk_seconds | FLOAT | 5.04–30 | Target duration shared by every chunk. 5–15 seconds is the recommended and validated range. Values above 15 seconds are supported, but VRAM use and processing time can increase substantially, especially at high resolution. |
| aspect | COMBO | Auto from First Image | Saved V3.8 workflow compatibility only. The frontend migrates this value to Size Source and hides it from the Main UI. |
| preset | COMBO | Draft — 0.30 MP | Used only with Size Source = First Image. Draft is fastest; Balanced retains more detail; Native 768 uses the H3 native short edge; Custom uses Custom MP. |
| custom_mp | FLOAT | 0.300.1–16 | Custom target megapixels while preserving the connected First Image aspect ratio. Used only when Resolution Preset is Custom. |
| continuity | COMBO | Balanced — 22 frames | Amount of prior video context retained at each chunk boundary. |
| base_seed | INT | 00–18446744073709550000 | Base seed used to derive deterministic per-chunk seeds. |
| audio_continuity | BOOLEAN | true | On passes prior audio context into continuation chunks. Turn it off only to isolate or replace generated audio. |
| diagnostics | COMBO | Basic | Controls the detail level of the read-only Status report. It does not change generated tensors. |
| reroll_from_chunk | COMBO | Auto | Auto resumes the longest compatible saved prefix. Choosing a chunk reuses earlier chunks and regenerates that chunk and everything after it. |
| reroll_nonce | INT | 00–4294967295 | Change only when regenerating an explicit chunk and you want a new variation with otherwise identical settings. |
| strict_compatibility | BOOLEAN | true | Legacy saved-workflow input. V3.8 keeps it loadable but ignores its value. |
| debug | BOOLEAN | false | Developer diagnostics controlled by the H3 Continuum settings panel. |
| show_preview | BOOLEAN | true | Show live sampling previews. Disable only to reduce preview overhead. |
| run_storage | COMBO | Off | Atomically save raw AV chunks and resume a compatible saved run. |
| run_name | STRING | Enter a stable name for this saved run. Compatible chunks are selected automatically. | |
| reference_size | COMBO | Match Output | Match Output is the practical default; Max Identity preserves more reference detail. |
| project_id | STRING | Optional. Leave blank to derive a stable ID from this sampler node. Run Name remains the explicit override. | |
| video_reference_size | COMBO | Efficient - 0.4 MP | Efficient limits Video Guide Frames to about 0.4 MP; Balanced uses about 0.6 MP; Match Output uses the output pixel area. Source aspect ratio is preserved and smaller sources are not enlarged. |
| continuation_backend | COMBO | Standard | Standard uses the V3.6 target-preserving continuation path. With Audio Continuity enabled, Masked AV currently uses Balanced 22; Fast 5, Strong 39, and Auto safely use Reference Context. Compatibility restores the V3.5 Reference Context path for older workflows or comparison. Run Storage identity follows the resolved transport before execution begins. |
| generation_mode | COMBO | Full Run | Full Run preserves normal Production execution. Review Each Chunk generates at most one new physical group per Queue and requires Run Storage = Save + Auto Resume. |
| review_action | COMBO | Continue / Next | Continue / Next accepts the current review and advances. Regenerate Current and Finish Remaining are one-shot actions. Smart Regenerate requires Regenerate From = Auto. |
| take_group | INT | 00–16 | Internal Render History selection. Use the visible Previous/Next Take controls instead of editing this value directly. |
| take_revision_id | STRING | Immutable revision selected by Render History. The visible Take controls manage this value from verified Run Storage data. | |
| take_action | COMBO | Automatic | One-shot Render History action. Selecting a Take alone does not change the canonical branch; Queue normally after choosing an action. |
| size_source | COMBO | Legacy Aspect | First Image preserves its aspect at the selected Resolution Preset. Manual uses Width and Height exactly. Legacy Aspect is accepted only for saved-workflow and API compatibility. |
| width | INT | 73632–16384 | Exact output width in Manual mode. Use a multiple of 32. Manual mode is the normal choice for T2VA or workflows without a First Image. |
| height | INT | 41632–16384 | Exact output height in Manual mode. Use a multiple of 32. Manual mode is the normal choice for T2VA or workflows without a First Image. |
| first_frameopt | IMAGE | First Image conditioning for I2VA or FL2VA. With Output Size = First Image, its aspect ratio also defines the output canvas. Leave it disconnected and use Manual Width/Height for T2VA. | |
| last_frameopt | IMAGE | Optional last-frame anchor for FL2VA. Leave disconnected for T2VA and normal I2VA. | |
| reference_video_1opt | IMAGE | 24 fps IMAGE frames from the Video Adapter. Follow Timeline selects successive physical output intervals; Repeat Reference keeps the legacy shared-prefix guide. Source audio is not included. Follow is Experimental; this is not a hard motion-copy control. | |
| driving_audioopt | AUDIO | Optional original audio timeline. It is used as native H3 guide conditioning and selected unchanged for final output. | |
| audio_vaeopt | VAE | Required only when Driving Audio is connected. Uses the same Audio VAE encode path as ComfyUI Core MiniMax H3 Add Guide. | |
| reference_audio_1opt | AUDIO | Optional standalone audio reference for H3 conditioning. It is not the audio track of Video Guide Frames. Unlike Driving Audio, it does not replace the generated final audio. | |
| reference_audio_vaeopt | VAE | Required only when Reference Audio is connected. It encodes the reference for H3 conditioning; generated audio remains the output. | |
| guideopt | H3_CONTINUUM_STILL_IMAGE_GUIDE | Optional V3.7 Still Image Guide. Only the owning physical sampling group receives the Core minimax_keyframes entry. | |
| audio_referencesopt | H3_CONTINUUM_AUDIO_REFERENCES | Optional ordered bundle from H3 Continuum Reference Audios. Do not connect it together with the legacy single Reference Audio input. | |
| video_reference_modeopt | COMBO | Repeat Reference | Experimental. Follow Timeline selects the source interval for each physical generation group, then continues without video reference after the source ends. Repeat Reference preserves the previous Video Guide behavior: the same bounded prefix for every group. This is independent of Prompt Format. Input frames must be 24 fps. |
| reference_imagesopt | H3_CONTINUUM_REFERENCE_IMAGES_V39 | Connect H3 Continuum Reference Images V3.9; assign chunks there. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| video_latents | LATENT | — |
| audio_latents | LATENT | — |
| assembly_plan | H3_CONTINUUM_ASSEMBLY_PLAN | — |
| status | STRING | — |
| driving_audio | AUDIO | — |
| refine_context | H3_CONTINUUM_REFINE_CONTEXT | — |