Delay Text Node (World Weaver)
The node that just waits, on purpose
- text
Some nodes are clever. This one is just polite. Delay Text Node takes a string, sleeps for as long as you tell it to, and hands the string back unchanged. That's the entire job. It's the ComfyUI equivalent of counting to ten.
The use case is throttling. World Weaver's workflow calls the Gemini API several times per run - one call to build the character description, another to direct the scene - and Google's free tier will happily 429 you into a failed queue if you hammer it back-to-back. Drop this node in front of each API call, set seconds to a couple, and you spread the requests out. It's the pack author's pragmatic answer to rate limits, and it works.
How it works
Two inputs, one output:
seconds- a float, minimum 0.1. How long to sleep.text- the string to pass through.
Output: text, byte-for-byte identical to what went in. Under the hood it's a time.sleep() call and a return. There is no mechanism to discuss beyond that. It's a pacing tool and a sequencing tool - you can also use it to force ComfyUI to wait between nodes that genuinely depend on timing (API calls, external processes), though for most graph work ComfyUI already handles execution order via the wires.
Installing it
It's part of the World Weaver pack, so install that: ComfyUI Manager, search "world weaver", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Creepybits/World_weaver
Restart, let pip sort out the dependencies, and it'll be in your node list under Creepybits/World_weaver.
Where people get burned
The obvious one: this blocks. ComfyUI isn't async here - the thread sleeps, and a long delay holds up everything downstream. A 10-second delay on a video workflow is a real pause, not a nap. Keep the values small.
Also worth knowing: the delay is fixed at execution time, not a "wait until X condition" node. If you need conditional waiting, this isn't it - but for the single job it's built for (don't trip the API's rate limit), it's the right tool and refreshingly honest about being a tiny one. Sometimes the most useful node in a graph is the one that does exactly one thing and stops.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| seconds | FLOAT | 1.0 | — |
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |