π CR Combine Schedules
Merge up to four keyframe schedules into one
- schedule_1
- schedule_2
- schedule_3
- schedule_4
- SCHEDULE
- show_text
If you're building animations with Comfyroll's scheduling system, this is a plumbing node: it takes up to four separate SCHEDULEs and stitches them into one combined schedule. You build your keyframes in pieces - a prompt schedule here, a value schedule there - and this node joins them so a single downstream scheduler can read the whole thing.
It's from Comfyroll Studio (Suzie1 / RockOfFire), in the Animation β Schedules group. To place it: Comfyroll has its own little animation framework built around a SCHEDULE type - you write keyframes (frame number β value/prompt), feed them to schedulers, and drive frame-by-frame renders or prompt-travel-style animation from that. Combine Schedules is the node that lets you assemble those keyframe lists modularly instead of cramming everything into one giant text block.
How it works
There's almost nothing to configure - the value is the wiring. The node has four optional inputs, schedule_1 through schedule_4, each expecting a SCHEDULE. Connect however many you have (they're all optional, so two is fine), and it concatenates them into a single SCHEDULE output. The order you connect them in is the order they're combined, so keep your frame numbering consistent across the pieces.
SCHEDULE is a Comfyroll-internal type. It only connects to other Comfyroll schedule and scheduler nodes - you can't wire it into a generic ComfyUI node and expect it to understand.
The inputs that matter
schedule_1βschedule_4(all optional) - the keyframe schedules to merge. Feed in as many as you've built; empty slots are ignored.
Outputs are the combined SCHEDULE and a show_text string. The show_text is a readable dump of the merged schedule - genuinely useful here, because it lets you eyeball the combined keyframe list and confirm the pieces joined the way you expected.
Where you'd actually reach for it
Modularity. On a longer animation you don't want one enormous keyframe block - you want to build a schedule for the subject, another for the camera move, another for a style shift, and merge them. Combine Schedules is that merge step. It also makes reuse practical: keep a library of small schedule fragments and combine the ones you need per project.
Worth being honest: this whole subsystem is Comfyroll's own take on animation scheduling, and it predates a lot of the modern video tooling. If you're doing AnimateDiff or a current video model, you'll likely be scheduling through those ecosystems instead. Combine Schedules is for people committed to Comfyroll's keyframe workflow specifically.
How to install it
- ComfyUI Manager: search
Comfyroll Studio, install, restart. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git, then restart.
No downloads - it's pure schedule plumbing.
Common issues
The pack-level failure applies here too: on newer ComfyUI builds Comfyroll can fail to import a submodule at startup, throwing NameError: name 'CR_...' is not defined across the console and hiding every CR node. Read the first traceback (the real cause) and update via Manager.
The node-specific gotcha is type confusion. SCHEDULE is Comfyroll's own format - if you're trying to feed this node the output of a non-Comfyroll scheduling node, it won't connect, and that's expected, not a bug. Build the pieces with Comfyroll's schedule nodes (Simple Schedule, Central Schedule, and friends) so the types line up. And if the combined result looks wrong, check show_text - it'll show you exactly what got merged and in what order.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| schedule_1opt | SCHEDULE | β | |
| schedule_2opt | SCHEDULE | β | |
| schedule_3opt | SCHEDULE | β | |
| schedule_4opt | SCHEDULE | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| SCHEDULE | SCHEDULE | β |
| show_text | STRING | β |