π CR Simple Prompt Scheduler
Look up the current and next prompt for a given frame
- current_prompt
- next_prompt
- weight
- show_help
If you're building an animation frame by frame - generating one image per frame in a loop, with the prompt changing over time - you need something that answers "given the frame I'm on right now, what should the prompt be?" That's the whole job of CR Simple Prompt Scheduler. Feed it a keyframe schedule and the current frame number, and it hands back not just the active prompt but the next one too, plus how far along the transition between them you are.
That last part - the transition weight - is what makes this genuinely useful rather than just a lookup table: it's built to feed a crossfade, not a hard cut.
How it works
keyframe_list holds your schedule as text - either Comfyroll's own CR format or Deforum's, chosen via keyframe_format. The default placeholder (frame_number, text) shows the CR shape: one keyframe per line, a frame number and the prompt that starts there. Give it current_frame, and the node finds which keyframe window that frame falls in, returning the prompt for the keyframe you're currently inside (current_prompt) and the prompt for the one coming up (next_prompt), along with a weight float representing how far through that window the current frame sits - 0 right at the start of the window, approaching 1 as you near the next keyframe.
The natural next step is feeding current_prompt/next_prompt (encoded separately) and weight into a conditioning-blend node - CR Conditioning Mixer in Average mode is a direct fit - so your prompt crossfades smoothly across the transition instead of jumping abruptly at each keyframe.
The inputs and outputs that matter
keyframe_list- your schedule text. This is the content that actually drives everything.current_frame- which frame you're rendering right now, typically driven by a loop counter elsewhere in your animation setup.keyframe_format-CRorDeforum, matching whichever format yourkeyframe_listtext is actually written in.
Outputs: current_prompt and next_prompt (STRING) for the two prompts either side of your current position, weight (FLOAT) for how far between them you are, plus the standard show_help link.
How to install it
Comfyroll Studio (Suzie1 and RockOfFire), no models or heavy dependencies for this node.
- ComfyUI Manager - search "Comfyroll Studio," install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git, then restart.
Common issues & troubleshooting
Prompt isn't changing across frames. Double check keyframe_format matches how you actually wrote keyframe_list - a CR-format schedule read as Deforum (or vice versa) parses wrong and can silently return the same value regardless of frame.
Getting a next_prompt you didn't expect at the very last keyframe. With no keyframe after the final one, behavior at the tail of your schedule depends on how the list ends - make sure your schedule actually has a trailing keyframe past your last real content change if you need clean behavior at the end of the animation.
Not sure where weight is supposed to go. It's meant for blending, not display - wire it into whatever conditioning-mix or interpolation node handles crossfading in your workflow (CR Conditioning Mixer's Average mode is the natural match) rather than expecting this node to do the blending itself.
Comfyroll nodes missing entirely. If nothing from the pack loads, check your startup log for Comfyroll Studio: Failed to load Graphics nodes and a trailing NameError: name 'CR_HalftoneGrid' is not defined - a symptom of an earlier import error, commonly a Pillow version conflict from another custom node. Force-reinstall Pillow (pip install --upgrade --force-reinstall pillow) or reinstall cleanly, then restart.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| keyframe_list | STRING | frame_number, text | β |
| current_frame | INT | 00β9999 | β |
| keyframe_format | COMBO | 2 options: CR, Deforum |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| current_prompt | STRING | β |
| next_prompt | STRING | β |
| weight | FLOAT | β |
| show_help | STRING | β |