Nodes/IAMCCS-nodes/MiniMax H3 Audio Timeline Mix (R21/R30)
ComfyUI Node

MiniMax H3 Audio Timeline Mix (R21/R30)

The mixdown that respects the H3 chunk grid — and the 5.1667s truth

By IAMCCS·Created 11 months ago·Updated 4 days ago· 113
MiniMax H3 Audio Timeline Mix (R21/R30)
  • 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
segment_index0
mapping_policyslot_locked_i2v
coverage_policyrequire_each_chunk
target_sample_rate32000
headroompeak_normalize

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_timeline places audio by absolute timeline time. Start with slot_locked_i2v; switch to absolute_timeline when 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_silence tolerates missing chunks. For a dialogue-heavy timeline, require_each_chunk will 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, or none. Peak normalize is the sensible default; soft_clip when 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.

CategoryIAMCCS/MiniMax H3/Atomic Backend

Inputs (14)

NameTypeDefaultDescription
cine_linxIAMCCS_SUPERNODE_LINX
segment_indexINT00–1000000
mapping_policyCOMBOslot_locked_i2v2 options: slot_locked_i2v, absolute_timeline
coverage_policyCOMBOrequire_each_chunk2 options: require_each_chunk, allow_silence
target_sample_rateINT320008000–192000
headroomCOMBOpeak_normalize3 options: peak_normalize, soft_clip, none
audio_1optAUDIO
audio_2optAUDIO
audio_3optAUDIO
audio_4optAUDIO
audio_5optAUDIO
audio_6optAUDIO
audio_7optAUDIO
audio_8optAUDIO

Outputs (4)

NameTypeDescription
cine_linxIAMCCS_SUPERNODE_LINX
master_audioAUDIO
chunk_audioAUDIO
reportSTRING