MiniMax H3 Studio Timeline / 创作时间轴 (Advanced)
Plan a Whole H3 Video as Shots, Not One Giant Prompt
- cast
- sound_canvas
- timeline
- timeline_json
H3 doesn't do "the whole video" in one prompt very well - it does windows of frames, and its timing runs on a 17n+5 grid (22, 39, 124, 362 frames…) that isn't intuitive. MiniMaxH3StudioTimelineT8Advanced is the planning layer on top of that reality: you describe your video as a list of shots, and it compiles them into deterministic H3-compatible windows with durations, prompts, aspect ratios and seeds, so the rest of the Studio chain can render each shot separately and you stitch them later.
The core idea
You feed it a shots_json array - each shot has an id, a prompt, and a duration_seconds (the default shows a one-shot skeleton). The node turns that into a compiled timeline where every shot lands on a valid H3 frame window. It also carries the seed bookkeeping for you: base_seed plus seed_policy (increment is the default) means each shot gets a deterministic, reproducible seed derived from the base rather than you hand-rolling seeds per shot.
The inputs that matter
shots_json- your actual script. This is where the real work happens.default_backend(minimax_h3) anddefault_duration_seconds- fallbacks for shots that don't specify.split_long_shots(default on) - long visual-only shots get explicitly split into multiple valid windows automatically. The description is careful: long dialogue must be split by the author, because dialogue has semantic continuity you can't just chop.strict_exact_dialogue(default on) - validation that dialogue lines in a shot stay intact, no truncation.- The optional
cast(from the Unified Cast node) andsound_canvasinputs bind character identity and audio beds into the compiled prompts.
Outputs:
timeline (the H3_T8_STUDIO_TIMELINE object - feed it to Shot Select) and timeline_json (a full dump you can read, diff, or hand to a script). The JSON is your truth source; the object is what runs.
Installing:
part of MiniMax H3 Audio T8. Manager → "MiniMax H3 Audio T8", or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
Restart. No mandatory pip deps.
The trap to avoid
Don't expect the timeline to be a one-click feature-film button. It's a deterministic plan - it solves window math and seed hygiene, not cinematic continuity. Shots that cross cuts still change scene, and the author's own notes say you shouldn't extrapolate from "timeline compiled" to "seamless video." Build per-shot, review per-shot, and let the timeline do the bookkeeping.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| project_id | STRING | h3_project | — |
| shots_json | STRING | [{"id":"shot_1","prompt":"A cinematic opening shot","duration_seconds":5.0}] | — |
| default_backend | COMBO | minimax_h3 | 4 options: minimax_h3, wan_2_2, ltx_video, generic_cinematic |
| default_duration_seconds | FLOAT | 5.0000.001–86400 | — |
| default_aspect_ratio | STRING | 16:9 | — |
| base_seed | INT | 00–18446744073709550000 | — |
| seed_policy | COMBO | increment | 3 options: increment, fixed, hash_project_shot |
| split_long_shots | BOOLEAN | true | — |
| strict_exact_dialogue | BOOLEAN | true | — |
| castopt | H3_T8_UNIFIED_CAST | — | |
| sound_canvasopt | H3_T8_SOUND_CANVAS | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| timeline | H3_T8_STUDIO_TIMELINE | — |
| timeline_json | STRING | — |