ComfyUI Node
Pulse Slate · MiniMax H3
Compiles prompts, an Asset Bin and a chain of PulseShot nodes into a MiniMax H3 timeline. Does not render: a single-window timeline hands back positive/latent for your own sampler, and a longer one goes to PulseRender.
Pulse Slate · MiniMax H3
- model
- clip
- vae
- audio_vae
- model_fl2va
- ref_video
- ref_video_audio
- ref_music
- refs.ref_image_1
- refs.ref_image_2
- refs.ref_image_3
- refs.ref_image_4
- refs.ref_image_5
- refs.ref_image_6
- refs.ref_image_7
- refs.ref_image_8
- shots.shot_1
- shots.shot_2
- shots.shot_3
- shots.shot_4
- shots.shot_5
- shots.shot_6
- shots.shot_7
- shots.shot_8
- shots.shot_9
- shots.shot_10
- shots.shot_11
- shots.shot_12
- shots.shot_13
- shots.shot_14
- shots.shot_15
- shots.shot_16
- shots.shot_17
- shots.shot_18
- shots.shot_19
- shots.shot_20
- shots.shot_21
- shots.shot_22
- shots.shot_23
- shots.shot_24
- timeline
- positive
- latent
- combined_audio
- images
- compiled_prompt
◄schema_version3.0.0►
◄timeline_data{"schema": 2, "assets": [], "cast": []}►
◄global_promptstyle:
identity:
soundscape:
music: ►
◄shot_prompt[Shot 1]
[Shot 2] At 00:05.000, ►
◄duration_seconds10.0►
◄aspect_ratio16:9 landscape►
◄width1344►
◄height768►
◄steps20►
◄sampler_nameres_multistep►
◄schedulersimple►
◄cfg1.0►
◄seed0►
◄partition_strategybalanced►
◄window_seconds15.0►
◄resize_methodcrop►
◄carry_modeimage►
◄carry_audiotrue►
◄carry_audio_seconds4.0►
◄ref_image_sizematch►
◄shift_video12.00►
◄shift_audio3.00►
◄audio_ref_ceiling3►
◄continuitynone►
CategoryAddisPulse/H3
Inputs (64)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The ref2va (Reference) checkpoint. Read here only to detect the upstream patch chain and warn about it; this node no longer samples. Anchors and references are different checkpoints; wire the fl2va one into model_fl2va. | |
| clip | CLIP | — | |
| vae | VAE | — | |
| audio_vae | VAE | Required on both branches -- H3 always builds a joint audio+video latent, even when no reference audio is encoded. | |
| schema_version | STRING | 3.0.0 | Which widget layout this node was saved with. Written by the node, read at load time to restore values by name. Do not edit. |
| timeline_data | STRING | {"schema": 2, "assets": [], "cast": []} | The Asset Bin's storage: assets and cast, as JSON. Managed by the panel and never written to by the execute path. |
| global_prompt | STRING | style: identity: soundscape: music: | Art style, lighting, camera rules, character identity locks and score. Compiles into subject_definitions and retention_analysis. Optional labels at the start of a line: style: / identity: / retention: / soundscape: / music:. Unlabelled text is treated as style. Reference assets by name (@Mimi) or id ({{mimi}}) -- never by number. Ordinals are assigned from bin order at compile time. |
| shot_prompt | STRING | [Shot 1] [Shot 2] At 00:05.000, | Timecoded shots, one per line. Begin each with [Shot N] or a [MM:SS.mmm] timecode. IGNORED whenever any PulseShot node is connected -- the two are never merged. See spec §5. Quoted "text" becomes dialogue. @Name references the Asset Bin. |
| duration_seconds | FLOAT | 10.00.2–600 | Total length of the finished video. Snapped up to the 17k+5 frame grid, and split into windows if longer than window_seconds. Ignored when PulseShot nodes are connected -- their durations define the length. |
| aspect_ratio | COMBO | 16:9 landscape | Preset canvases fitted into H3's 1,032,192px budget. Choose 'custom' to use the width and height widgets instead. |
| width | INT | 134432–4096 | Used only when aspect_ratio is 'custom'. |
| height | INT | 76832–4096 | Used only when aspect_ratio is 'custom'. |
| steps | INT | 201–100 | — |
| sampler_name | COMBO | res_multistep | 6 options: res_multistep, euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, ddim |
| scheduler | COMBO | simple | 6 options: simple, normal, beta, sgm_uniform, karras, exponential |
| cfg | FLOAT | 1.01–20 | 1.0 uses BasicGuider, which is H3's own native path -- its reference pipeline has no negative conditioning anywhere. Above 1.0 switches to CFGGuider with an empty negative prompt. Leave at 1.0 unless you are deliberately experimenting. |
| seed | INT | 00–18446744073709550000 | The base seed. Each window's actual seed is derived from this and from the set of shots in that window, so inserting a shot does not reroll the windows that did not change. |
| partition_strategy | COMBO | balanced | How a long timeline is split. 'balanced' spreads it into near-equal windows, avoiding a short trailing window below H3's 124-frame trained floor. 'fill' packs full windows and merges any short tail backwards. 'shot_aligned' puts window seams on shot boundaries wherever the 17k+5 grid allows it, so fewer shots are compiled into two windows -- it reports which cuts it could not reach, and it gives up window_seconds to do it. |
| window_seconds | FLOAT | 15.05.2–15.1 | Length of each individual H3 call. The trained ceiling is ~15.08s (362 frames) and the floor is ~5.17s (124 frames). |
| resize_method | COMBO | crop | How a reference image whose aspect does not match the canvas is fitted. 'pad' letterboxes, which makes the bars themselves reference content. |
| carry_mode | COMBO | image | What the previous window contributes to the next as a REFERENCE on the ref2va branch. Distinct from `continuity`, which chooses whether a frame is pinned as a keyframe. |
| carry_audio | BOOLEAN | true | Feed the previous window's audio tail forward. Without it each window invents its own score and the seam is audible. |
| carry_audio_seconds | FLOAT | 4.00.5–15 | — |
| ref_image_size | COMBO | match | 'match' scales references to the render's pixel area (faster). 'max' uses a 2048px short edge for stronger identity, but reference tokens ride every sampling step, so it is several times slower. |
| shift_video | FLOAT | 12.000.01–100 | — |
| shift_audio | FLOAT | 3.000.01–100 | — |
| audio_ref_ceiling | INT | 33–9 | How many standalone audio references the bin may hold. 3 is what MiniMax documents and what ComfyUI's ref_audios socket declares. Above 3 goes past both. Raise it to test, not to set and forget. |
| continuity | COMBO | none | How windows join. 'none' samples each independently. 'last_frame_carry' pins the previous window's final frame as the next one's first frame. 'keyframe_pairs' pins each shot's start and end frames. The last two need model_fl2va and fail at compile time without it -- they do not fall back silently. |
| model_fl2vaopt | MODEL | The First/Last-Frame checkpoint. Required by the 'last_frame_carry' and 'keyframe_pairs' continuity modes. Loading both checkpoints is ~42GB. | |
| ref_videoopt | IMAGE | A reference video as frames, from an upstream loader. | |
| ref_video_audioopt | AUDIO | Soundtrack of ref_video. Claims an <Audio N> ordinal ahead of every standalone audio reference. | |
| ref_musicopt | AUDIO | Non-diegetic score. Always the last audio ordinal. | |
| refs.ref_image_1opt | IMAGE | Global reference image 1, visible to every shot. | |
| refs.ref_image_2opt | IMAGE | Global reference image 2, visible to every shot. | |
| refs.ref_image_3opt | IMAGE | Global reference image 3, visible to every shot. | |
| refs.ref_image_4opt | IMAGE | Global reference image 4, visible to every shot. | |
| refs.ref_image_5opt | IMAGE | Global reference image 5, visible to every shot. | |
| refs.ref_image_6opt | IMAGE | Global reference image 6, visible to every shot. | |
| refs.ref_image_7opt | IMAGE | Global reference image 7, visible to every shot. | |
| refs.ref_image_8opt | IMAGE | Global reference image 8, visible to every shot. | |
| shots.shot_1opt | PULSE_SHOT | Shot 1. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_2opt | PULSE_SHOT | Shot 2. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_3opt | PULSE_SHOT | Shot 3. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_4opt | PULSE_SHOT | Shot 4. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_5opt | PULSE_SHOT | Shot 5. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_6opt | PULSE_SHOT | Shot 6. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_7opt | PULSE_SHOT | Shot 7. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_8opt | PULSE_SHOT | Shot 8. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_9opt | PULSE_SHOT | Shot 9. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_10opt | PULSE_SHOT | Shot 10. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_11opt | PULSE_SHOT | Shot 11. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_12opt | PULSE_SHOT | Shot 12. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_13opt | PULSE_SHOT | Shot 13. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_14opt | PULSE_SHOT | Shot 14. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_15opt | PULSE_SHOT | Shot 15. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_16opt | PULSE_SHOT | Shot 16. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_17opt | PULSE_SHOT | Shot 17. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_18opt | PULSE_SHOT | Shot 18. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_19opt | PULSE_SHOT | Shot 19. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_20opt | PULSE_SHOT | Shot 20. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_21opt | PULSE_SHOT | Shot 21. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_22opt | PULSE_SHOT | Shot 22. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_23opt | PULSE_SHOT | Shot 23. Connecting any shot socket makes the shot text box inactive. | |
| shots.shot_24opt | PULSE_SHOT | Shot 24. Connecting any shot socket makes the shot text box inactive. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| timeline | PULSE_TIMELINE | — |
| positive | CONDITIONING | — |
| latent | LATENT | — |
| combined_audio | AUDIO | — |
| images | IMAGE | — |
| compiled_prompt | STRING | — |