VAE Clock Stop (Image)-SG
How long did that VAE decode really take? This node tells you
- image
- IMAGE
This is the node that actually hands you the number. VAE Clock Stop (Image)-SG sits on the image side of VAEDecode, and when it runs it prints how long the decode took - in human terms, something like "Time Taken For VAE Only : 2 minutes and 47 seconds" - in yellow, right in your ComfyUI console. The image itself just passes through untouched.
It's the second half of a two-node stopwatch from the ShammiG "SG" utility pack. Its partner, VAE Clock Start (Latent)-SG, goes on the latent side of VAEDecode and stamps the start time. On its own the Stop node is nearly useless - no start to subtract - which is why the pack is really one tool split in two.
Why you'd reach for it: in video workflows, VAE decode is routinely the slowest step. Decoding a Wan- or LTX-class clip can take minutes, and when a generation feels stuck at the end, it usually isn't stuck - it's the VAE chewing through frames. This pair answers "how much of my wall time is decode?" without guessing, and without a global clock cluttering every workflow. The author's other pack does the global-clock thing for every run; this one is opt-in per workflow, which is the right call for video-only jobs where decode actually dominates.
How it works
When the node executes, it records the stop time, then looks up the most recent start entry that VAEClockStartSG stored in a module-level dictionary, subtracts, and formats the difference as "X minutes and Y seconds" (or just seconds if it's under a minute). Then it deletes that start entry and returns the image unchanged. Two things worth knowing about the mechanism:
- It doesn't match by latent ID - it takes the most recent start entry. This is designed for one start/stop pair per decode. If you have two VAE decodes running in one graph, the pairing can cross wires.
- The timer covers everything between Start executing and Stop executing. In a normal linear chain that's just the decode, but shove other nodes in between and they get billed to "VAE only" too.
Inputs and outputs
One input, one output, nothing to configure:
image(IMAGE, required) - wire this fromVAEDecode's image output.- Output:
IMAGE- the identical image, passed straight through.
Wire it like this: Sampler → VAE Clock Start → VAEDecode → VAE Clock Stop → Save Image (or Preview Image, Video Combine, anything that actually consumes the image). The pass-through means whatever it hands on is pixel-identical, so this node can never degrade your output.
Installing it
ComfyUI Manager is the easy route: open Manager → Custom Nodes → search for VAE Timestamp Clock (the pack title is "ComfyUI VAE Timestamp Clock SG") → install → restart ComfyUI and refresh the browser.
Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/ShammiG/ComfyUI-VAE-Timestamp-Clock-SG.git
Then restart ComfyUI. There are no dependencies - no requirements.txt, no model downloads. It's pure Python stdlib, so the install is as painless as custom nodes get.
Gotchas - the real traps
- Nothing shows in the UI. The output goes to the terminal where you launched ComfyUI, not the canvas. First-time users routinely think it's broken.
- "No start Clock found!" - the most common failure. The Stop ran but no Start had recorded a time. Either you forgot the Start node, or it never executed. ComfyUI only runs nodes whose outputs are actually needed, so if your image chain dies before anything consumes it, the decode (and the Stop) may never fire. Always end the chain in a Save Image or Preview node.
- A wild number after an interrupted run. If you stop a job between Start and Stop, the start entry lingers in memory and a later Stop can pick it up. Rerun the full chain or restart ComfyUI and it sorts itself out.
- Multiple decodes, one clock. Because Stop takes the most recent start, parallel decodes muddy the timing. Keep it to one pair per decode, run sequentially.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |