Everything above is a run that worked. These are the ones that didn't, kept because a showcase that only records successes is not evidence.
Saved workflows drifted from the live node schema
Two of the golden workflow files predate schema changes in the MiniMax H3 nodes. Both passed /prompt validation and then failed at execution, because ComfyUI validates against the static input table and only resolves the real signature later.
- H3 image-to-video — the saved graph sends
image; the live node wants first_frame. One failed job, then a clean run.
- H3 reference-to-video —
ref_images is a V3 Autogrow input, so the prompt JSON key has to be the dotted dynamic path ref_images.ref_image_0, not the bare slot name and not the legacy ref_image. Six failed attempts before the key format was traced through comfy_api/latest/_io.py. audio_vae and ref_image_size also had to be supplied.
Both were fixed in showcase copies of the workflows. The files under production/ were not modified.
LTX 2.5 — the last latent frame decodes to noise
The 864×480 LTX image-to-video showcase render was clean through frame 160, transitional at 161, and pure noise from frame 162 to the end — measured as high-frequency energy against a blurred copy of each frame: 5.17 at frame 160, 13.72 at 161, then a flat 48.6 for every frame after.
The first fix attempt was LTXVCropGuides, the guide-crop node that was missing between the sampler and the decode. That corrected the frame count from 177 back to the requested 169 and did not touch the noise, which established that the extra frames and the noise had separate causes. Since 161 is 8×20+1 — itself a valid point on LTX's frame grid — and the corruption begins exactly one latent frame later, this is the final latent group decoding degenerately, not a conditioning fault.
The delivered file is the 161 clean frames, re-encoded. No frames were interpolated, time-resampled or synthesised, and the delivered duration is 6.708 s rather than 7.042 s.
Showcase renders were queued against the live node signatures
The same drift that broke the H3 workflows also applies to Music 3: the live MiniMaxMusic3TextEncode takes caption and max_duration, where the saved graph sends prompt and max_audio_frames, and EmptyMiniMaxMusic3LatentAudio requires an explicit batch_size. Every showcase render was queued from a copy under showcase/workflows/; nothing under production/ was modified, and the production preflight still verifies clean.
VAEDecodeAudio tensor-shape mismatch
For certain latent shapes the audio decode raises a size mismatch at dimension 2 and does so deterministically — an identical retry with a fully warm cache fails identically. Runs 01 and 06 ship video-only for this reason. Not a hardware fault, not intermittent.
A run that succeeded and was still wrong
The first attempt at run 01 executed cleanly and produced a valid file of entirely the wrong subject: the production workflow's placeholder prompt text was never overridden for that queued job. It was caught by looking at the extracted frames rather than trusting the status code. The bad file is archived rather than deleted, and run 01 was requeued with the correct prompt.
Session shape
The six runs executed in one long-lived ComfyUI process across one mid-session restart (around 14:58 local, between run 04 and runs 05/06). That restart is why the in-memory /history API could confirm runs 03, 05, and 06 directly and the earlier runs had to be reconciled against on-disk sidecars and file timestamps.
Peak VRAM is recorded as NA for every run except 02. It was not sampled for the manually queued runs, and it is not estimated here.
Full record: final generation acceptance · session.json · session TSV