Nodes/Comfyroll Studio/πŸ“‘ CR Prompt Scheduler
ComfyUI Node Runs on cloud

πŸ“‘ CR Prompt Scheduler

Pick (and blend) the right prompt for the current frame

By Suzie1Β·Created 3 years agoΒ·Updated 2 years agoΒ· 1,296
πŸ“‘ CR Prompt Scheduler
  • schedule
  • current_prompt
  • next_prompt
  • weight
  • show_help
β—„modeβ–Ύβ–Ί
β—„current_frame0β–Ί
β—„default_promptdefault promptβ–Ί
β—„schedule_formatβ–Ύβ–Ί
β—„interpolate_promptβ–Ύβ–Ί
β—„schedule_aliasβ€”β–Ί
β—„keyframe_listkeyframe listβ–Ί
β—„prepend_textprepend textβ–Ί
β—„append_textappend textβ–Ί

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_prompt every time. Useful as a fallback or while you're still building the rest of the graph.
  • Keyframe List: parses the keyframe_list text input for frame-indexed prompts and picks the one that applies at current_frame.
  • Schedule: reads from the optional schedule input - a SCHEDULE object produced by one of Comfyroll's other schedule-builder nodes (CR Simple Schedule, CR Central Schedule, and friends) - using schedule_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.

Category🧩 Comfyroll Studio/πŸŽ₯ Animation/πŸ“‘ Schedulers

Inputs (10)

NameTypeDefaultDescription
modeCOMBO3 options: Default Prompt, Keyframe List, Schedule
current_frameINT00–9999β€”
default_promptSTRINGdefault promptβ€”
schedule_formatCOMBO2 options: CR, Deforum
interpolate_promptCOMBO2 options: Yes, No
scheduleoptSCHEDULEβ€”
schedule_aliasoptSTRINGβ€”
keyframe_listoptSTRINGkeyframe listβ€”
prepend_textoptSTRINGprepend textβ€”
append_textoptSTRINGappend textβ€”

Outputs (4)

NameTypeDescription
current_promptSTRINGβ€”
next_promptSTRINGβ€”
weightFLOATβ€”
show_helpSTRINGβ€”