Nodes/comfyui-minimax-h3-audio-T8/Tao / LTX · 串行生成与解码 (T8 EXP)
ComfyUI Node

Tao / LTX · 串行生成与解码 (T8 EXP)

H3's Serial Video Node

By T8mars·Created about a month ago·Updated a day ago· 1,031
Tao / LTX · 串行生成与解码 (T8 EXP)
  • prepared_bundle
  • video
  • saved_path
  • report_json
noise_seed8301
chain_idprepared_trial_01
resume_existingtrue
serial_lease_path

What it is

MiniMaxH3PreparedVideoEXPT8 - "Tao / LTX · 串行生成与解码" - is the node that actually runs a prepared job. It takes the bundle you built on CPU, generates the video latent, and saves an MP4. It's an output node, so it writes and previews the file itself; don't hang a SaveVideo off the end.

The interesting part is the shape of the execution: identity check, generate, let the generation process exit, then decode in a separate process. On a 16 GB card that is not a stylistic choice. Holding the model and the latents while the VAE loads is how you get the memory spike the pack's docs openly record as having killed one of its own Tao jobs at finalization.

Inputs

Five, and only two need thought.

prepared_bundle comes from MiniMaxH3PreparedGenerationBundleEXPT8. noise_seed defaults to 8301 and is the video seed only - for Tao, the teacher audio seed lives in the manifest and does not follow this widget. (Yes, that has confused people. It's in the tooltip.)

chain_id is the name of the working directory and the identity of the whole run: letters, digits, underscore and hyphen. Change the inputs, the seed, the code, or turn resume off, and you make a new chain ID. resume_existing (default true) only reuses stages whose identity and hashes match exactly; it also handles the narrow case where generation succeeded and decoding died, so it re-does just the decode. Neither setting ever overwrites an old result.

serial_lease_path is advanced, default empty: the absolute path of the GPU lock file, and it must be the same file your other research entries use. The pack is blunt about not switching lock files to dodge an occupied GPU.

Outputs

video is the decoded result; saved_path is where it landed; report_json is the one you want to read before trusting anything, because it labels the outcome honestly - new generation, resumed stage, or legacy checkpoint migrated in. A successful run reports prepared_video_ready_pending_review, which is the author telling you the machine finished, not that the shot is good.

Under the hood

Everything is keyed off a fingerprint computed from the validated bundle, your seed, and the identity of the engine: the packaged backend's own Python files, your Python build and executable path, your platform, and the versions and install locations of torch, torchaudio, safetensors, numpy, av, transformers and friends. Change any of that and the old chain no longer matches, which is deliberate - a cache hit you can't explain is worse than no cache hit.

Assets are hash-verified before a stage starts. Weird states fail closed: stages the controller doesn't recognise, paths escaping the chain directory, changed file contents, a changed packaged backend. Then the two stages run in owned subprocesses under a serial lease and an NVML resource guard, and the guard has a floor: roughly 92 GiB free RAM to start Tao generation (64 GiB for LTX), 16 GiB for the decode stage, plus minimum GPU and RAM headroom. Below that it stops. It does not lower the line to squeeze through.

Install

Manager → search MiniMax H3 Audio T8 → install → fully restart ComfyUI.

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8

Then update ComfyUI core, frontend and Manager as well - the pack needs current native H3 support, and updating only the plugin is the classic way to end up with a canvas full of red nodes (ecosystem essay). The pack installs no pip packages of its own; this route's requirements are the pinned upstream sources and model revisions documented in the repo, with an external LTX/Transformers set kept in an isolated directory rather than in your main environment.

Traps

The one you'll hit first is Existing chain has different settings or resume is disabled; use a new chain_id. That's the guard working. Renaming the chain from prepared_trial_01 to prepared_trial_02 is the answer, not deleting state.json.

Second: this is a Windows single-GPU entry point, tested on one Python 3.12 / Torch 2.10.0+cu130 machine. Not a general route.

Third: quality claims are thin on purpose. Only the saved 73-frame 2048×1024 LTX case has real GPU evidence, and the node is labelled EXP by an author who publishes failed experiments next to passing ones. Treat "it ran" and "it's approved" as different sentences.

CategoryT8/MiniMax H3/Experimental Prepared Generation

Inputs (5)

NameTypeDefaultDescription
prepared_bundleT8_PREPARED_GENERATION_BUNDLE
noise_seedINT83010–18446744073709550000视频噪声种子;Tao教师音频种子来自准备清单,不随这里改变。
chain_idSTRINGprepared_trial_01只用字母数字下划线连字符。改输入/种子/代码或关闭恢复时请换新ID;不会覆盖旧结果。
resume_existingBOOLEANtrue仅复用身份和哈希完全匹配的阶段。只生成成功而解码失败时只补解码。
serial_lease_pathSTRING本地串行GPU锁文件的绝对路径,必须与同时使用的其他研究入口一致。不要通过换锁文件绕过占用。

Outputs (3)

NameTypeDescription
videoVIDEO
saved_pathSTRING
report_jsonSTRING