π Load Latent (Advanced) v2.4 STABLE
Re-decode your render ten times without re-sampling once
- samples
- info
The most expensive thing in a video workflow is the sampler. Re-running KSampler just to test a different color grade is like rebuilding your car because the radio station changed. Load Latent (Advanced) is the part that breaks that cycle: sample once, save the latent, then decode it as many times as you like while you fiddle with everything downstream.
Here's the pattern it's built for. You render 1200 frames with a specific seed - call it base_s42.latent - and save it. First pass through your decoder gives you a video that's "too subtle." Instead of re-sampling, you load base_s42.latent again, tweak the decode, and render again. The README's estimate of 15β20 minutes saved per iteration is optimistic, but the direction is right: decoding is cheap, sampling isn't.
Mechanically it's a small thing done well. The node scans output/latents/ and hands you a dropdown of every .latent and .safetensors file there, newest first. Pick one and you get two outputs: samples, a LATENT you can wire straight into any decoder, and info, a string with the file's shape, seed, timestamp and format. Loading prefers safetensors (the modern format) and falls back to pickle for old files - the README calls safetensors a requirement, but the code treats it as optional and degrades gracefully, which is the more honest version.
Inputs are few. latent_file is the dropdown; manual_path overrides it completely if you want a file from somewhere else - and the override wins, which trips people who type a path and wonder why the dropdown still says what it says. refresh_list re-scans the folder, and show_info toggles the info output.
Why this one and not ComfyUI's built-in Load Latent? The stock node makes you type a path and does nothing else. This one gives you the library browse, the metadata, and a "STABLE" in the version string it mostly earns - the loading core is lifted from a well-tested CustomLoadLatent implementation, not rebuilt from scratch.
One thing it won't do: save latents. This pack is decode-and-load only, so you pair it with ComfyUI's own Save Latent node in the sampling pass. For the iterative color-grading loop - sample, save, decode, adjust, decode again - that's the whole setup. Install via ComfyUI Manager (search "ComfyUI-Grok-SmartVAE") or:
cd ComfyUI/custom_nodes
git clone https://github.com/uczensokratesa/ComfyUI-Grok-SmartVAE.git
cd ComfyUI-Grok-SmartVAE
pip install -r requirements.txt
The real deps are light - torch, numpy, imageio, imageio-ffmpeg, psutil, opencv-python - no models to download. Restart and you'll find it under latent.
If a file you expect isn't in the dropdown, hit refresh_list. If the load fails entirely it's usually a path problem - manual_path takes absolute priority, and a wrong path fails loudly rather than silently, which is the right failure mode. And as with any small solo pack, give the repo a skim before installing; there's barely any community chatter around it, so the code review is on you.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latent_file | COMBO | [Manual path...] | 1 options: [Manual path...] |
| manual_pathopt | STRING | Full file path (overrides dropdown) | |
| show_infoopt | BOOLEAN | true | β |
| refresh_listopt | BOOLEAN | false | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| samples | LATENT | β |
| info | STRING | β |