π CR Prompt Scheduler
Pick (and blend) the right prompt for the current frame
- schedule
- current_prompt
- next_prompt
- weight
- show_help
If you're doing frame-by-frame animation and you want the prompt to actually change partway through - a character walking into a different scene, a style shift over time - you need something that answers one question every frame: "given where we are right now, what should the prompt be?" CR Prompt Scheduler is Comfyroll's answer to that question, and it can either hand you a hard cut between prompts or a smooth blend between the current one and the next.
What it's for
This is the more capable, current-generation sibling of the pack's older prompt-scheduling tools (CR Prompt List Keyframes is explicitly marked legacy in the same pack). It reads a frame counter and, depending on which mode you've picked, resolves that into the prompt text that should be active - either a single fixed default, a simple frame-indexed keyframe list, or a full Comfyroll SCHEDULE object built elsewhere in the pack. On top of picking the prompt, it can also tell you how far you are between the current keyframe and the next one, which is what lets you crossfade prompts across frames instead of getting a jarring hard switch every time the schedule advances.
How it works
You drive it with current_frame - in practice this is usually wired to whatever is tracking your animation's frame count. mode decides where the prompt comes from:
- Default Prompt: ignores the frame entirely and just outputs
default_promptevery time. Useful as a fallback or while you're still building the rest of the graph. - Keyframe List: parses the
keyframe_listtext input for frame-indexed prompts and picks the one that applies atcurrent_frame. - Schedule: reads from the optional
scheduleinput - aSCHEDULEobject produced by one of Comfyroll's other schedule-builder nodes (CR Simple Schedule, CR Central Schedule, and friends) - usingschedule_format(CR or Deforum) to know how to parse it.
If interpolate_prompt is set to Yes, the node also works out the current position between this keyframe and the next, which is what the weight output is for - feed both current_prompt and next_prompt into a prompt-blending setup along with that weight and you get a smooth transition instead of a hard cut on the frame the schedule advances.
Inputs and outputs that matter
mode- Default Prompt / Keyframe List / Schedule, as above.current_frame- the frame you're resolving a prompt for.default_prompt- the fallback/constant prompt for Default Prompt mode.schedule_format- CR or Deforum, tells Schedule mode how to read the input.interpolate_prompt- Yes/No, whether to compute a blend weight between current and next.schedule(optional) - the SCHEDULE object for Schedule mode.keyframe_list(optional) - the raw keyframe text for Keyframe List mode.prepend_text/append_text(optional) - fixed text wrapped around whatever prompt the node resolves, same pattern as CR Prompt List, so you don't have to bake your style boilerplate into every keyframe.
Outputs: current_prompt (what to use right now), next_prompt (what's coming next - only meaningful with interpolation on), weight (a float, how far between current and next you are), and show_help.
How to install it
Install via ComfyUI Manager (search "Comfyroll Studio"), or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
Restart ComfyUI. No models or extra dependencies required for this node.
Common issues & troubleshooting
Prompt never changes. Check mode first - if it's set to Default Prompt, current_frame is being ignored entirely, which is correct behavior but an easy thing to forget after testing. Also confirm current_frame is actually wired to something that changes per frame rather than a static value.
next_prompt and weight are empty or unused. These only do anything meaningful when interpolate_prompt is Yes. With it off, the node behaves like a simple hard-cut scheduler and there's nothing to blend.
Schedule mode does nothing. Make sure both the schedule input is actually connected to a real SCHEDULE-producing node and schedule_format matches how that schedule was built - a CR-format schedule read with schedule_format set to Deforum (or vice versa) will parse incorrectly or silently produce nothing useful.
The whole pack isn't showing up in the node menu. That's an install-level problem rather than anything about this specific node - a broken or partial clone can crash Comfyroll's entire registration. Delete the ComfyUI_Comfyroll_CustomNodes folder and reinstall clean.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | 3 options: Default Prompt, Keyframe List, Schedule | |
| current_frame | INT | 00β9999 | β |
| default_prompt | STRING | default prompt | β |
| schedule_format | COMBO | 2 options: CR, Deforum | |
| interpolate_prompt | COMBO | 2 options: Yes, No | |
| scheduleopt | SCHEDULE | β | |
| schedule_aliasopt | STRING | β | |
| keyframe_listopt | STRING | keyframe list | β |
| prepend_textopt | STRING | prepend text | β |
| append_textopt | STRING | append text | β |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| current_prompt | STRING | β |
| next_prompt | STRING | β |
| weight | FLOAT | β |
| show_help | STRING | β |