RunningHub MiniMax H3 Frame Rate (Experimental) (Legacy)
Trying to Make MiniMax H3 Do 30 or 60 FPS
- h3_model
- h3_model
MiniMax H3 natively generates at 24fps, and if you've ever wanted a clip at 30 or 60, this experimental node is the pack's attempt to give you that - sort of. It's the only node in this pack that's flagged "Experimental," and the tooltip is refreshingly honest about the limits: it does not change the target's 24fps temporal grid. It modulates the model's understanding of frame rate via the embedding and the temporal RoPE, in the hope of getting smoother motion or different temporal feel at other frame rates.
How it works
This is a pass-through node: it takes your h3_model from a loader, applies frame-rate options, and returns the same model handle with the options attached - wire it between the loader and the sampler. The knobs:
- frame_rate - 1 to 120, default 24. Your target fps.
- adaln - default on. Injects a sinusoidal fps encoding into the TimeEmbedder (adaptive layer norm). The tooltip notes this is not a no-op even at 24fps - it changes the conditioning slightly, which is a subtle but real behavior change.
- temporal_rope - default off. When on, scales the temporal RoPE low frequencies by
24/fps, which at 24fps is a no-op by design. This is the more physically meaningful of the two mechanisms - it changes how the model perceives temporal position.
The remaining optional inputs are the RoPE tuning rack: rope_end_timestep, rope_low_frequency_count, rope_frequency_profile (hard/linear/smoothstep), rope_sigma_profile, and rope_sigma_end. These shape how the RoPE frequency scaling is applied across timesteps. This is genuinely experimental territory - the source cites an unofficial PR as its origin, and there's no community consensus to lean on.
The honest take
Reach for this only if you specifically need non-24fps output and you're willing to experiment. The straightforward path for 30/60fps content is still: generate at 24fps, then use a frame interpolation pipeline outside this model. This node is for people who want to see if H3 can do the temporal feel of 30fps natively. Start with frame_rate + adaln on and temporal_rope off, and keep the RoPE rack at defaults until you've got a baseline to compare against.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/RH-RunningHub/ComfyUI-RH-MiniMax-H3.git
pip install -r ComfyUI-RH-MiniMax-H3/requirements.txt
Restart, and the ~95 GiB INT8 ConvRot bundle into ComfyUI/models/MiniMax-H3-INT8-CONVROT/ (hf download Gluttony10/MiniMax-H3-INT8-CONVROT --local-dir ./models/MiniMax-H3-INT8-CONVROT, ModelScope in China). License as pack-wide: H3's Community License excludes the US, EU, UK and South Korea from local-weights use.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| h3_model | MINIMAX_H3_DIRECT_MODEL | — | |
| frame_rate | FLOAT | 24.001–120 | 实验性。不改 target 24fps 时序格;仅调制嵌入/RoPE。 |
| adaln | BOOLEAN | true | 把 fps sinusoidal 加到 TimeEmbedder(即使 24 也非 no-op)。 |
| temporal_rope | BOOLEAN | false | 按 24/fps 缩放视频行时序 RoPE 低频;24fps 时无效。 |
| rope_end_timestepopt | FLOAT | 1.000–1 | — |
| rope_low_frequency_countopt | INT | 160–16 | — |
| rope_frequency_profileopt | COMBO | hard | 3 options: hard, linear, smoothstep |
| rope_sigma_profileopt | COMBO | constant | 3 options: constant, linear, smoothstep |
| rope_sigma_endopt | FLOAT | 0.000–0.99 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| h3_model | MINIMAX_H3_DIRECT_MODEL | — |