PC: Schedule prompt (Advanced)
Schedule Prompt (Advanced) — prompt scheduling with multi-pass filtering
- clip
- conditioning
This is PCLazyTextEncode with three extra dials, and all three exist for one reason: multi-pass workflows. If your pipeline runs a base sampling pass and then a second pass - a hires-fix, a refiner, an img2img polish - you often don't want the exact same schedule applied identically to both passes. This node is how Prompt Control lets you carve out the slice of a schedule that's relevant to this particular pass.
What it does
Underneath, it's the same graph-generation trick as the plain node: your scheduled prompt gets expanded into a chain of PCTextEncode and SetConditioningTimestepRange nodes, with ComfyUI's caching reusing anything that hasn't changed. The Advanced version adds prompt filtering, which the README describes plainly: it "enables filtering the prompt for multi-pass workflows." In practice that means you can tag portions of your schedule and then, per pass, ask this node to only realize the parts relevant to that pass's timestep window - rather than re-running the entire schedule and letting the timestep-range trick alone sort it out.
Inputs and outputs
Required: clip and text (your scheduled prompt), same as the base node. Then three more:
tags- a string field for filtering which tagged parts of your prompt this particular encode should realize. Leave it blank and you get the whole schedule, same as the plain node.start/end(both 0–1, default 0 and 1) - the fraction of the overall denoise range this encode call is responsible for. If your second pass only covers, say, the last 30% of steps, set this to match so the schedule resolves correctly for that slice rather than the whole run.num_steps(default 0, up to 10000) - lets the node map fractional schedule breakpoints onto real step boundaries for this pass, rather than working purely in the abstract 0–1 range. Useful once your multi-pass pipeline has a fixed step count per stage.
One output, conditioning, wired into your sampler exactly like the plain node's output.
Installing it
ComfyUI Manager: search "ComfyUI Prompt Control", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/asagi4/comfyui-prompt-control
No model downloads, no extra dependencies beyond what the base pack needs.
Where people get tripped up
Start simple. If you don't have a genuine multi-pass pipeline, use plain PCLazyTextEncode - the tags/start/end/num_steps fields only earn their complexity once you're actually splitting work across two or more sampling stages and need each stage to see a different slice of the same underlying schedule. Setting start/end without a matching tags filter strategy in your prompt text won't do much on its own; the two features are meant to be used together.
The README's caching caveat applies here too, and arguably more so: ComfyUI's cache invalidation is already imperfect about spotting when scheduled-but-unchanged segments don't need re-encoding, and adding the filtering layer gives it more surface area to get conservative about. You'll still see some caching benefit from the lazy graph, just don't expect it to be airtight - that's a known, accepted limitation of the pack, not something specific to your setup.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| text | STRING | — | |
| tags | STRING | — | |
| start | FLOAT | 0.000–1 | — |
| end | FLOAT | 1.000–1 | — |
| num_steps | INT | 00–10000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |