MiniMax H3 SPEED Spectrum Harvester / 空间频谱标定 (Advanced)
Measure H3's own latent spectrum instead of borrowing WAN or Flux constants
- video_latent
- spectrum_profile
- report_json
SPEED's fancier transition math works by modelling the target model's latent spectrum - the frequency-domain power distribution of what the model actually generates. For WAN and Flux those spectra are known quantities people have fit and shared. For H3, they aren't - and the fastest way to get them wrong is to borrow a neighbour model's constants and pretend they transfer. MiniMaxH3SPEEDSpectrumHarvesterT8Advanced is the node that measures H3's own: it fits the power-law model P(omega)=A|omega|^-beta from real H3 video latent samples. The description's single most important sentence: "It never substitutes WAN/FLUX constants."
How it works
You feed it a video_latent - and note the tooltip's warning, which is load-bearing: it must be the separated H3 video LATENT [B,24,T,H,W], not the joint AV latent. The pack has nodes for pulling the video stream out of H3's nested AV latent; wire that, not the combined thing. The node samples up to max_temporal_samples (32) frames from the batch, computes the spatial power spectrum, and fits the A/β power law. Outputs: a spectrum_profile (the H3_T8_SPEED_PROFILE object) and a report_json with the fitted parameters and their quality.
You also declare the identity of the measurement:
profile_name- labels this profile (h3_local_spectrum_probeby default).task_family- T2VA, I2VA, FL2VA, L2VA, Ref2VA, Hybrid. A spectrum measured on T2VA output is not automatically valid for Ref2VA.checkpoint_fingerprintandvae_fingerprint- where the Model+VAE Fingerprint node's hashes plug in. Defaultunrecordedis allowed, but the tooltip is blunt: "filenames alone are not proof."independent_clip_count(default 1) andminimum_r_squared(0.8). Here's the honesty built into the schema: typing 100 for one clip does not promote it. The tooltip spells it out - dataset status needs 100 actual batch entries, and independence is a provenance assertion, not a number you type. A single clip's fit is a research probe, not a dataset.
Why the probe/dataset distinction matters
Downstream, the Plan node's profile_policy is require_validated_profile by default. A probe profile doesn't pass that bar - it's information, not authorization. The author's stance is consistent across the whole SPEED family: you may build whatever you like, but the pipeline refuses to pretend a small sample is a calibrated fact. That's rare in this ecosystem and worth respecting.
Installing and pairing
Standard pack install: ComfyUI Manager → "MiniMax H3 Audio T8", or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into custom_nodes, restart. No pip deps; you need H3 weights and a sampled latent. Practical wiring: a generated av_latent → video-latent separation → this node → (optional) the Accumulate node for building a real dataset. One more thing the report tells you: the fitted β and R² tell you whether your sample even fits the power-law shape - if R² is ugly, the "spectrum" story is weak no matter how many clips you have.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| video_latent | LATENT | Separated MiniMax H3 video LATENT [B,24,T,H,W], not the joint AV latent. | |
| profile_name | STRING | h3_local_spectrum_probe | — |
| task_family | COMBO | T2VA | 6 options: T2VA, I2VA, FL2VA, L2VA, Ref2VA, Hybrid |
| checkpoint_fingerprint | STRING | unrecorded | Record a checkpoint SHA/header fingerprint; filenames alone are not proof. |
| vae_fingerprint | STRING | unrecorded | — |
| independent_clip_count | INT | 11–1000000 | Must not exceed the actual latent batch count. Typing 100 for one clip does not promote it; dataset status needs 100 actual batch entries whose independence remains a dataset provenance assertion. |
| minimum_r_squared | FLOAT | 0.800–1 | — |
| max_temporal_samples | INT | 321–512 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| spectrum_profile | H3_T8_SPEED_PROFILE | — |
| report_json | STRING | — |