Nodes/comfyui-minimax-h3-audio-T8/MiniMax H3 HyperFlow 原生8步长片 / Single8 (EXP/T8)
ComfyUI Node

MiniMax H3 HyperFlow 原生8步长片 / Single8 (EXP/T8)

Native 8-step HyperFlow at full size

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
MiniMax H3 HyperFlow 原生8步长片 / Single8 (EXP/T8)
  • model
  • clip
  • video_vae
  • audio_vae
  • video
  • video_path
  • manifest_path
  • completed_segments
  • status
  • report_json
◄hyperflow_file▾►
◄color_matchtrue►
◄chain_idh3_hyperflow_single8_long_video_exp►
◄total_duration_seconds8.00►
◄width1024►
◄height576►
◄render_window_frames124►
◄context_frames22►
◄global_prompt►
◄segment_prompts_json►
◄minimum_free_vram_mib512►
◄base_seed123456789►
◄seed_policyincrement►
◄resume_existingtrue►
◄filename_prefixH3_HyperFlow_Single8_Long_Video_EXP►
◄audio_seam_policycosine_bridge►
◄bridge_ms5.0►
◄bit_depth8►
◄crf18►

This node exists because of a piece of feedback the T8 author took seriously. Someone watched a 0.6 MP HyperFlow long video - the two-stage LOW-upscale-HIGH route - and said it felt blurry. The response wasn't a settings tweak. It was a second, deliberately simpler route: MiniMaxH3HyperFlowSingle8LongVideoEXPT8 runs the complete trained 0:8 HyperFlow trajectory at the final resolution for every segment. No low-resolution sampling, no learned latent upscaler, no high-stage re-noise.

Same delivery as the other long-video node - two segments, 192 frames, 8 seconds - but the picture comes from a single continuous trajectory at full size.

What changes when you drop the two-stage trick

You lose the cheap half. Doing all eight evaluations at final resolution means the whole run is expensive, which is presumably why the upscale route existed first. In exchange, you remove an entire class of explanation: no low-res approximation, no learned resize, no restart boundary to blame. If it's soft now, it's the model and the prompt, not the pipeline.

Mechanically it's straightforward: model (HyperFlow-patched), hyperflow_file selected separately, clip, video_vae, audio_vae, then the same long-video machinery - chain_id, total_duration_seconds, width/height (defaults 1024×576, the 0.6 MP shape), render_window_frames, context_frames, the two prompt fields, minimum_free_vram_mib, base_seed and seed_policy, resume_existing, filename_prefix, and the delivery settings audio_seam_policy, bridge_ms, bit_depth, crf.

Outputs match its sibling: video, video_path, manifest_path, completed_segments, status, report_json.

It's narrower on purpose

This route only accepts T2VA / native tasks, with the 124 frame window and 22 context frames and a total of 8 seconds. The pack's notes say it deliberately didn't extend the Director generation recipes and didn't change the existing two-stage defaults - it's an opt-in alternative, not a replacement.

It also gets its own stage cache namespace (hyperflow_single8_stages/ in the pack's terminology). That matters: it will not hit the two-stage long-video cache, and it won't be fooled into thinking a cached stage from the other route belongs to it. The receipts record 8 network forwards per segment and learned_upscaler=not_used, which is how you confirm after the fact that you ran the native route and not the other one.

Install

ComfyUI Manager → MiniMax H3 Audio T8, or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8

Quit ComfyUI fully and start it again, then refresh the browser. requirements.txt installs no packages deliberately. FFmpeg must be on PATH for encoding and assembly. And you need an unpruned H3 base plus the HyperFlow safetensors in models/hyperflow/loras - but notably no learned latent upscaler, since this route doesn't resize.

Where it bites

New chain id, always. Because the stage cache is route-specific and the receipts are frozen contracts, reusing a chain id across recipes is how you get rejected runs - or worse, an old accepted segment reused under a new plan. New recipe, new chain id.

Cost. This is the expensive route by construction. The pack's own notes describe it as not claiming to be faster than the two-stage route; it's a quality-motivated alternative, so budget accordingly before you set it to a long duration.

Continuation still has the same shape. Second segment conditions from the last 39 frames of the first segment's accepted MP4, the seam sits at about 5.17 s, and audio continues from the completed high-resolution stage rather than being frozen mid-LOW. The optional colour match and 5 ms cosine audio bridge are the same dressings - helpful, not a structural fix.

The author's own conclusion was "watch it side by side". The 0.6 MP retest noted that the native single-8 and the two-stage route produced different compositions, so stills can't settle which is sharper. Judge motion clarity, stability and the seam on playback, and treat the fact that both ran and decoded as the floor, not the verdict.

CategoryT8/MiniMax H3/Long Video/Experimental

Inputs (23)

NameTypeDefaultDescription
modelMODEL—
hyperflow_fileCOMBO1 options: missing_hyperflow_weights
color_matchBOOLEANtrue—
clipCLIPNative MiniMax H3 Qwen3-VL CLIP.
video_vaeVAE—
audio_vaeVAE—
chain_idSTRINGh3_hyperflow_single8_long_video_exp—
total_duration_secondsFLOAT8.00—
widthINT102432–16384—
heightINT57632–16384—
render_window_framesINT124—
context_framesCOMBO223 options: 5, 22, 39
global_promptSTRINGUsed when Prompt Relay is disabled. With Relay, leave empty or copy the Plan global prompt exactly.
segment_prompts_jsonSTRINGPrompt overrides must be empty when Prompt Relay owns the timeline.
minimum_free_vram_mibINT5120–65536Rechecked before every segment; this is a start floor, not a peak guarantee.
base_seedINT1234567890–18446744073709550000—
seed_policyCOMBOincrement3 options: increment, fixed, hash_chain_segment
resume_existingBOOLEANtrue—
filename_prefixSTRINGH3_HyperFlow_Single8_Long_Video_EXP—
audio_seam_policyCOMBOcosine_bridge2 options: cosine_bridge, none
bridge_msFLOAT5.00–50—
bit_depthCOMBO82 options: 8, 10
crfINT180–51—

Outputs (6)

NameTypeDescription
videoVIDEO—
video_pathSTRING—
manifest_pathSTRING—
completed_segmentsINT—
statusSTRING—
report_jsonSTRING—