Sleep
Pause a ComfyUI branch for a fixed number of seconds
- signal
- signal_opt
Sleep does exactly what it says: it waits a set number of seconds, then passes whatever you fed it straight through. No transformation, no side effect beyond the delay itself. The README lists it in one line - "Waits for the specified time (in seconds)" - and that's the whole node.
Its category path is worth noticing before you reach for it: ImpactPack/Logic/_for_test. That underscore prefix is ltdrdata's own way of marking it as a test/debug utility rather than a node meant to live in a polished production graph. Impact Pack's "Logic" section is explicitly experimental - it's the same corner that holds Queue Trigger, Set Widget Value, and the other loop-and-branch primitives the README itself calls out as still being written up.
Where it's actually useful
Two honest use cases. First, pacing a loop. If you're using Queue Trigger or the countdown variant to re-run a workflow automatically, a Sleep node between iterations gives you breathing room - for a rate-limited API call downstream, for a filesystem write to actually land before the next pass reads it, or just so you can watch the queue progress instead of it firing instantly. Second, debugging execution order. ComfyUI's graph executes based on dependencies, not left-to-right layout, so if you're not sure whether node A is actually finishing before node B starts, wiring a Sleep into the chain and watching the timing is a crude but effective way to check.
What it's not for: don't use it as a substitute for Execution Order Controller (a purpose-built node in this same pack for forcing sequencing) or as a way to "fix" a race condition you don't understand. A fixed delay hides a timing bug; it doesn't solve one.
The inputs and outputs that matter
signal(required, wildcard*) - whatever you want delayed. Since it's typed*, you can wire in literally anything: an image, a latent, a boolean, a control signal fromQueue Trigger. The node doesn't care what it is, only that something arrived.seconds(default0.5, range 0–3600) - how long to wait. Half a second by default; you can push it out to a full hour if you genuinely need that.
Output is signal_opt - the same value you passed in, unchanged, released after the delay. The node is also flagged as an output node, so it can sit at the end of a branch without needing anything downstream.
How to install it
Via ComfyUI Manager: search ComfyUI Impact Pack, click Install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
cd comfyui-impact-pack
python -m pip install -r requirements.txt # ComfyUI's python; python_embeded on portable
then restart. Sleep itself needs nothing extra - no models, no separate dependency - it's pure Python timing.
Common issues & troubleshooting
It didn't seem to do anything. It did - the delay just happened and then the graph moved on, which is easy to miss if you're not watching the queue log or a timestamp. If you need visible proof it ran, chain a Preview or logger node after it.
The wildcard type caused a connection error. Impact Pack leans on wildcard (*) typing for a lot of its logic and plumbing nodes so they can accept anything, and the README itself flags the trade-off: "type validation may still produce error messages" even when the connection is actually fine, because ComfyUI's official type system doesn't yet support truly dynamic types. If you get a red-squiggle type warning on a Sleep connection that otherwise runs fine, that's this known limitation, not a broken graph.
Wondering why the whole run feels slower than expected. Check for a forgotten Sleep node sitting mid-graph with a large seconds value from an earlier debugging session - it's easy to leave one in after you've finished timing something and forget it's still adding delay on every run.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| signal | * | — | |
| seconds | FLOAT | 0.500–3600 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| signal_opt | * | — |