Tao / LTX · 读取已准备生成输入 (T8 EXP)
Reading a Prepared Tao/LTX Input Bundle
- prepared_bundle
- report_json
The short version
MiniMaxH3PreparedGenerationBundleEXPT8 - "Tao / LTX · 读取已准备生成输入" - reads one local JSON file and nothing else. No download. No prompt encoding. No model load. Its entire job is to turn a manifest produced outside ComfyUI into a T8_PREPARED_GENERATION_BUNDLE that the generation node can consume.
That sounds like a unit test with a UI, and you'd be forgiven for wondering why it exists. It exists because the route it feeds is unusual: instead of describing your generation in ComfyUI nodes, you describe it in request files on disk, pin every asset by content hash, and then run a generation job whose inputs were fixed before the graph was ever opened.
Why the pack splits it this way
The Tao and LTX entries here are the author's qualified pilots. Tao is a native single-request five-second generation against a matching Base10 teacher with text features; LTX is an already-converted LTX AV latent pass with a post-connector text cache, three native Euler updates and a bounded token envelope - the pack borrowing from the LTX-2 world, where video and audio are generated together (LTX essay).
Both routes need inputs you can't conjure from a text box: a teacher cache, encoded text features, matched geometry. So the premise is that you prepare those once, on CPU, writing down exactly what went in - and the graph is just what runs the job and reports on it.
One thing worth saying before you invest a weekend: the pack's own documentation states these two nodes are experimental interfaces, not a promoted route, and that no fresh full-model GPU pass has been qualified with the current wrapper. That is the author being careful, and you should read it as a warning rather than boilerplate.
Inputs, outputs, and what "reading" means
One input: prepared_bundle_path, a STRING holding the absolute local path to the prepared JSON. The tooltip is explicit that this is not a workflow JSON.
Two outputs. prepared_bundle goes straight into MiniMaxH3PreparedVideoEXPT8's prepared_bundle input. report_json is a string you'll actually want to read the first few times, because it tells you what was checked and what wasn't: status: structure_checked_only, the kind (tao5s or ltx_refine), an asset_count, a directory_count, models_loaded: false, content_hashes_verified: false. Only structure. The full file identity check happens later, when the generation node executes.
There's no UI caching here - the node reports itself as always-changed so it re-reads the JSON on every queue. That's fine. Parsing a bounded JSON is free; assuming a stale manifest is not.
Making a bundle in the first place
Use the pack's preparation CLI with the same Python ComfyUI runs on. You need two request files - a generation request and a decode request - not Comfy graphs.
python tools/prepare_generation_bundle.py --kind tao5s \
--generation-request gen.json --decode-request decode.json \
--audio-seed 8301 --output bundle.json
python tools/prepare_generation_bundle.py --kind ltx_refine \
--generation-request gen.json --decode-request decode.json \
--prompt "the prompt that matches your cached text features" \
--frames 73 --width 2048 --height 1024 --output bundle.json
Then qualify it on CPU before you involve a GPU:
python tools/qualify_prepared_inputs_cpu.py --bundle bundle.json --output ./qualify-report
The preparer hashes full model shards, so it is slow the first time and it does not overwrite an existing manifest. It also does not generate a teacher, encode a new prompt, convert H3 latents to LTX, download anything or run a model. If your inputs don't exist, this tool won't invent them.
Install, and the failures you'll actually hit
Same pack, same install: Manager → search MiniMax H3 Audio T8 → install → full restart. No extra pip packages are needed for these nodes; the pack keeps its requirements.txt empty on purpose so an install can never swap out your Torch/CUDA stack. For these two routes you do need the pinned upstream sources and model revisions on disk, and the pack documents exactly which ones - this is not an auto-installer, and it is qualified on Windows with Python 3.12.
The errors are all "your manifest is wrong" errors, and they're specific: a path that isn't a real file, a JSON over 32 MB, a bundle whose schema isn't t8_prepared_generation_bundle_v1, an unexpected extra field. If you fed it a ComfyUI workflow JSON, you'll be told the request schemas don't match the selected route.
The one that bites later: change your prompt and the old bundle is dead. Text and audio conditioning are baked in, so different content means a new bundle and a new chain ID. And if you're chasing the real prize here - reusing a clip you already generated and accepted - don't hand-write a fingerprint. Use tools/migrate_prepared_checkpoint.py, whose whole purpose is to prove where that clip came from.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prepared_bundle_path | STRING | 由准备工具生成的本地JSON绝对路径,不是工作流JSON。不同提示词需要重新准备匹配的文本/音频条件。 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prepared_bundle | T8_PREPARED_GENERATION_BUNDLE | — |
| report_json | STRING | — |