MiniMax H3 Audio Timeline Mix (R21/R30)
The mixdown that respects the H3 chunk grid — and the 5.1667s truth
- cine_linx
- audio_1
- audio_2
- audio_3
- audio_4
- audio_5
- audio_6
- audio_7
- audio_8
- cine_linx
- master_audio
- chunk_audio
- report
Here's the fact that makes this node worth an article: a five-second, 120-frame box in your H3 timeline does not stay five seconds. H3 generates on its own frame grid, so that box comes back as 124 frames - and if you place the next source clip at 5.0000 seconds in the master, it's 0.1667 seconds early. IAMCCS_MiniMaxH3AudioTimelineMixR21 is the node that understands this. It's a CPU-only mixdown that binds up to eight AUDIO sockets to AudioBoard lanes and rebases every clip onto the aligned H3 chunk clock, so the second source starts at 5.1667 seconds in the generated master, exactly where it belongs.
The mechanism: it reads the shotplan out of cine_linx - no media files are loaded, which the module header is proud of - and matches your connected audio_1..audio_8 to the timeline's audioSegments. Then it mixes all audible lanes, applies the chunk-grid rebase, and outputs master_audio (the full mixdown), chunk_audio (the selected chunk's slice, for inspection or chunk-local routing), and a report. The node header flags it as "for MiniMax H3 R21/R30," so this is the current-gen audio assembly, not legacy.
Settings that matter:
mapping_policy-slot_locked_i2v(default) maps audio to the slot each clip was generated in;absolute_timelineplaces audio by absolute timeline time. Start withslot_locked_i2v; switch toabsolute_timelinewhen you're hand-placing clips outside the slot system.coverage_policy-require_each_chunk(default) errors if a chunk has no audio (better than a silent gap);allow_silencetolerates missing chunks. For a dialogue-heavy timeline,require_each_chunkwill tell you exactly where your audio stops being populated.target_sample_rate(32000 default) - the mix's output rate. 32kHz is the H3-ecosystem norm; raise it only if your whole chain supports it.headroom-peak_normalize(default),soft_clip, ornone. Peak normalize is the sensible default;soft_clipwhen you're deliberately pushing levels.
Output wiring: master_audio goes to the master save path (and can feed the audio drive node for final routing); cine_linx passes the bus through so the mixdown metadata doesn't break the chain; report tells you which lanes mixed and what the rebase did.
Installation: search IAMCCS in ComfyUI Manager or clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes, restart. It's CPU-only torch work - no models, no GPU cost, no external deps - which is refreshing for an audio node in a 22B pipeline.
The thing that trips people up is the require_each_chunk error on their first run: it fires when an audio_1..audio_8 lane has no segment bound to it, and the natural reaction is to switch to allow_silence. Don't - the error is telling you your timeline's audio isn't fully populated, and a silent gap in a master is a bug you'll find at export, not at mix. Populate the lane, then let the default policy guard you. And when the master sounds right but the first clip's position feels early, remember the rebase: the timeline positions and the generated-master positions are two different clocks, and this node exists to translate between them.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| segment_index | INT | 00–1000000 | — |
| mapping_policy | COMBO | slot_locked_i2v | 2 options: slot_locked_i2v, absolute_timeline |
| coverage_policy | COMBO | require_each_chunk | 2 options: require_each_chunk, allow_silence |
| target_sample_rate | INT | 320008000–192000 | — |
| headroom | COMBO | peak_normalize | 3 options: peak_normalize, soft_clip, none |
| audio_1opt | AUDIO | — | |
| audio_2opt | AUDIO | — | |
| audio_3opt | AUDIO | — | |
| audio_4opt | AUDIO | — | |
| audio_5opt | AUDIO | — | |
| audio_6opt | AUDIO | — | |
| audio_7opt | AUDIO | — | |
| audio_8opt | AUDIO | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| master_audio | AUDIO | — |
| chunk_audio | AUDIO | — |
| report | STRING | — |