Wait For Milliseconds
The Polite Pause Node (Yes, It's Just a Sleep)
- passthrough
- PASSTHROUGH
Wait For Milliseconds does exactly one thing: it pauses the workflow for the number of milliseconds you tell it to, then lets the run continue. There is no hidden cleverness. It's a time.sleep with a pretty wrapper and a passthrough, and sometimes that's genuinely what a workflow needs.
The most common reason is rate-limiting. If you're calling an external service through Call Remote URL or Poll Remote URL from this same pack - or any API node - and it starts refusing requests or returning 429s, a short pause between calls fixes it in one wire. It's also the "give the service a second to spin up" node: submit a job, wait a moment, then poll. For anything where the timing should be "wait a fixed amount of time" rather than "wait until a condition is true," this is the right tool. If you need the second kind - wait until a URL returns a specific thing - that's Poll Remote URL's job, not this node's.
Inputs and output
passthrough- any type, lazy. Passed through unchanged. Use it to chain the pause into a data flow or just to anchor it after a node you care about.milliseconds- the wait. Default 1000, range 0 to 600000 (ten minutes).PASSTHROUGH- the output.
The passthrough is lazy, which matters more than you'd think: it means the upstream value is only computed when something downstream actually requests it. If nothing consumes PASSTHROUGH, the node still runs (it has a widget that makes it execute) but it doesn't drag along a needless upstream computation.
The honest warning
This is a blocking sleep on the ComfyUI server, not a background timer. While it's waiting, that part of the graph is frozen - the process is literally sleeping. A few hundred milliseconds is invisible; a five-minute milliseconds value will look like ComfyUI has hung, because from the UI's perspective it kind of has. Don't use it to "wait for a long job to finish" (that's polling, again), and if you're tempted to set it to 600000, ask yourself whether the workflow would be better off just telling you when it's done. For short, deliberate pacing, it's perfect and it never causes drama.
Install
Ships in comfyui-sg-nodes by sebagallo. ComfyUI Manager → search comfyui-sg-nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/sebagallo/comfyui-sg-nodes
Restart ComfyUI; it's under SGNodes/Utilities. No models, no extra dependencies.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| passthrough | COMFY_MATCHTYPE_V3 | Any type, lazy input that will be returned | |
| milliseconds | INT | 10000–600000 | Integer, number of milliseconds to wait |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| PASSTHROUGH | COMFY_MATCHTYPE_V3 | — |