Nodes/MiniMax H3 Audio T8/MiniMax H3 Chain Orchestrator / 总时长自动分段 (EXP/T8)
ComfyUI Node

MiniMax H3 Chain Orchestrator / 总时长自动分段 (EXP/T8)

Type a total duration, and this node decides every H3 segment for you

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Chain Orchestrator / 总时长自动分段 (EXP/T8)
    • chain_id
    • segment_index
    • length
    • context_frames
    • trim_start_seconds
    • final_duration_seconds
    • timeline_start_seconds
    • timeline_end_seconds
    • save_context
    • is_final_segment
    • prompt
    • seed
    • has_next
    • progress
    • plan_json
    • report_json
    • steps
    • shift_video
    • shift_audio
    • sampler_name
    • scheduler
    • sampling_summary
    chain_idmy_h3_long_video
    total_duration_seconds60.00
    render_window_frames124
    context_frames22
    global_prompt
    segment_prompts_json
    base_seed123456789
    seed_policyincrement
    steps4
    shift_video12.00
    shift_audio3.00
    sampler_namedual_clock_euler
    schedulernative_flow

    MiniMax H3's generation window is fixed - it produces specific grid lengths, not an arbitrary "make me 73 seconds." So making a long video means running a chain of segments, and somebody has to decide how many segments, how long each is, and where to pick back up after a crash. That somebody is MiniMaxH3LongVideoOrchestratorT8, and it's the most hands-off node in the Long Video cluster: you give it a total duration and the render window, and it turns that into a full H3 timeline.

    The orchestrator's job, in three pieces: convert the total duration into fixed-window segments on H3's 17n+5 frame grid, pick the first segment that hasn't been accepted yet (so an interrupted chain resumes instead of restarting), and - the detail that tells you this author thinks - block downstream sampling once the final manifest is complete, so you can't accidentally generate an extra segment past the end of your video. That last bit is the difference between a planner and a thing that loops forever.

    Inputs you'll actually touch

    • total_duration_seconds - the whole video's length, up to 3600s. This is the number that drives everything.
    • render_window_frames - 124 by default, and the tooltip is worth quoting: keep 124 for the current bounded-memory baseline; larger windows need separate VRAM validation. Don't crank this because "362 is more."
    • context_frames - the head-context overlap between segments (5/22/39).
    • global_prompt and segment_prompts_json - a base prompt for every segment, plus an optional JSON list to override per segment (each item can carry its own prompt, seed and note; unspecified segments fall back to the global prompt).
    • base_seed + seed_policy - seeds per segment, with an increment policy by default so segments don't share noise.
    • steps, shift_video (12), shift_audio (3), sampler_name (dual_clock_euler), scheduler (native_flow) - the sampling contract, passed through so downstream nodes stay consistent.

    The output farm

    The orchestrator exposes the whole plan as wire-ready outputs: segment_index, length, context_frames, trim_start_seconds, final_duration_seconds, timeline_start_seconds / timeline_end_seconds, save_context, is_final_segment, prompt, seed, has_next, progress, plan_json, report_json, and the sampling parameters (steps, shift_video, shift_audio, sampler_name, scheduler, sampling_summary). In practice you feed the timing/context outputs into the chain's conditioning and context nodes and let has_next / progress tell you where you are.

    Install and honest expectations

    Install once for the whole pack: ComfyUI Manager → search MiniMax H3 Audio T8, or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into ComfyUI/custom_nodes/, restart. No extra pip deps, no auto-downloaded weights - bring your own H3 DiT, Qwen3-VL CLIP and video/audio VAEs. Final stitching wants ffmpeg callable from PATH.

    This is Experimental and T8-labeled, and the author's philosophy is fail-closed: it would rather stop you than produce a surprise. So when it "blocks" you after a completed manifest, that's a feature - you're done, not broken. And keep your 16GB-card expectations in check: the README is explicit that long chains on one card are the risky regime, and that a chain that runs end-to-end isn't a promise of seamless quality at every seam.

    CategoryT8/MiniMax H3/Long Video/Experimental

    Inputs (13)

    NameTypeDefaultDescription
    chain_idSTRINGmy_h3_long_video
    total_duration_secondsFLOAT60.000.04–3600
    render_window_framesINT124124–362Fixed internal H3 window for every segment. Keep 124 for the current bounded-memory baseline; larger windows require separate VRAM validation.
    context_framesCOMBO223 options: 5, 22, 39
    global_promptSTRING
    segment_prompts_jsonSTRINGOptional list/object. Each item may contain prompt, seed and note. Unspecified segments use global_prompt and the selected seed policy.
    base_seedINT1234567890–18446744073709550000
    seed_policyCOMBOincrement3 options: increment, fixed, hash_chain_segment
    stepsINT41–1000
    shift_videoFLOAT12.000.01–100
    shift_audioFLOAT3.000.01–100
    sampler_nameCOMBOdual_clock_euler45 options: dual_clock_euler, euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, +39
    schedulerCOMBOnative_flow10 options: native_flow, simple, sgm_uniform, karras, exponential, ddim_uniform, +4

    Outputs (22)

    NameTypeDescription
    chain_idSTRING
    segment_indexINT
    lengthINT
    context_framesINT
    trim_start_secondsFLOAT
    final_duration_secondsFLOAT
    timeline_start_secondsFLOAT
    timeline_end_secondsFLOAT
    save_contextBOOLEAN
    is_final_segmentBOOLEAN
    promptSTRING
    seedINT
    has_nextBOOLEAN
    progressFLOAT
    plan_jsonSTRING
    report_jsonSTRING
    stepsINT
    shift_videoFLOAT
    shift_audioFLOAT
    sampler_nameCOMBO
    schedulerCOMBO
    sampling_summarySTRING