MiniMax H3 Reel Delivery Plan / 成片交付计划 (Advanced)
Plan the whole reel before you render a single frame of it
- timeline
- reel_plan
- total_frames
- total_duration_seconds
- plan_json
If you're assembling a final cut from H3 clips - a reel, a sequence of shots with crossfades and a dialogue/music/ambience/SFX bed - you probably don't want to discover at the very end that one clip is 23.9fps instead of 24, or that a crossfade overlaps two clips you didn't mean to overlap. This node is the planning pass that catches all of that before anything expensive happens. It's read-only: it takes a JSON description of your reel, validates every source file, fingerprints it, and hands back a reel_plan object that the Compose node will later render.
The mechanism is deliberately file-level. It doesn't load clips into ComfyUI's IMAGE/AUDIO tensors - it checks actual video files on disk, confirms they're exact 24fps, applies trims and crossfades within your stated limits, and validates the four audio lanes (dialogue, music, ambience, SFX). Every source file gets fingerprinted at plan time, so what you plan is what gets rendered later, and the Compose step can verify nothing changed in between.
Inputs that matter
reel_json- the heart of it. A JSON withclips(each:id,path,trim_in_seconds,crossfade_to_next_seconds) andaudio_lanes. The default shows the shape:{"clips":[{"id":"shot_1","path":"output:shot_1.mp4","trim_in_seconds":0,"crossfade_to_next_seconds":0}],"audio_lanes":[]}. Noteoutput:prefix - clips live in ComfyUI's output tree.sample_rate- the audio bus rate, 48000 default (32k–48k).maximum_transition_seconds- how long crossfades may be (1s default, max 2s).maximum_transition_buffer_mib- memory budget for transitions (512 default), so a plan can't secretly balloon your RAM.timeline- optionalH3_T8_STUDIO_TIMELINEinput, so a Studio timeline can feed the plan directly instead of hand-written JSON.
Outputs: reel_plan (typed handle for Compose), total_frames, total_duration_seconds, and a plan_json string you can eyeball.
Installing and using it
Part of the T8mars MiniMax H3 Audio T8 pack (ComfyUI Manager → "MiniMax H3 Audio T8", or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into custom_nodes), restart, no pip deps. But because the Compose step writes actual MP4s, ffmpeg must be callable from PATH - standard ComfyUI builds ship it; if yours doesn't, the node errors clearly before writing anything.
The take
The flow you want: ReelDeliveryPlan → review plan_json and total_duration_seconds → wire reel_plan into ReelDeliveryCompose. Treat this node as the "sign off on the edit list" step. The author's whole design language is explicit-confirm-everything, and the plan stage is where that pays off - it's the cheapest moment to notice a bad trim or a lane that's missing. One tip: fingerprints mean the plan is tied to those exact files. Re-render a shot after planning and the Compose stage can (and should) complain rather than silently shipping the stale one.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| project_id | STRING | h3_reel | — |
| reel_json | STRING | {"clips":[{"id":"shot_1","path":"output:shot_1.mp4","trim_in_seconds":0,"crossfade_to_next_seconds":0}],"audio_lanes":[]} | — |
| sample_rate | INT | 4800032000–48000 | — |
| maximum_transition_seconds | FLOAT | 1.00000–2 | — |
| maximum_transition_buffer_mib | FLOAT | 51216–4096 | — |
| timelineopt | H3_T8_STUDIO_TIMELINE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| reel_plan | H3_T8_REEL_DELIVERY_PLAN | — |
| total_frames | INT | — |
| total_duration_seconds | FLOAT | — |
| plan_json | STRING | — |