Nodes/ComfyUI_agilly1989_motorway/SetHookKeyframes_motorway_edition
ComfyUI Node

SetHookKeyframes_motorway_edition

Scheduling your hooks over time, Motorway edition

By agilly1989·Created 2 years ago·Updated about a year ago· 7
SetHookKeyframes_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_hooks_keyhooks
INPUT_hook_kf_keyhook_kf
OUTPUT_HOOKS_keyHOOKS

SetHookKeyframes_motorway_edition is the clone of ComfyUI's built-in SetHookKeyframes, and it's the scheduling half of the hooks system. Where SetClipHooks (this pack's sibling clone) attaches hooks to a CLIP, this node attaches a keyframes object to a hooks object - turning your hooks from "always on" into "on at these points of the sampling trajectory." In plain terms: if you've built a hook that changes behavior based on where you are in the denoise, this is the node that tells it when.

Honest positioning: this is the deep end of ComfyUI's advanced subsystem, and it only does anything in a workflow that already uses hooks. If you've never touched SetNodeHooks or built a keyframe schedule, this node will sit there doing nothing while you wonder what it's for - and that's expected. It exists for the people building custom attention patches, schedule-driven guidance changes, and the kind of parameter-animation tricks that make regular nodes obsolete. The hooks ecosystem is genuinely powerful, but it's also where ComfyUI stops holding your hand.

The plumbing is the whole node, really:

  • INPUT_hooks_key (default hooks) - the hooks object from the bus that this keyframes object gets attached to.
  • INPUT_hook_kf_key (default hook_kf) - the keyframes object (built elsewhere, usually by a CreateHookKeyframes-style node) to attach.
  • OUTPUT_HOOKS_key (default HOOKS) - the combined hooks+keyframes result, written back to the bus for the next stage (a SetNodeHooks or similar) to consume.

That's it - no sliders, no dropdowns. Every input and output is a key name, which makes this the purest example in the family of "the node is a data-plumbing convenience, not a new capability." If you already know the hooks system, this is a clean way to run it on the bus; if you don't, this node won't teach it to you.

Installing it

Part of ComfyUI_agilly1989_motorway. ComfyUI Manager: search ComfyUI_agilly1989_motorway, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

No extra dependencies, no model files.

The catch

The pack caveats, stated once more because they matter here: release 1.1.7 ships with the clones disabled - uncomment the two ClonedNodeMapping lines in custom_nodes/ComfyUI_agilly1989_motorway/__init__.py and restart to see any *_motorway_edition node. And the README's opening "BIG BROKEN WITH ASYNC WILL FIX WHEN I GET THE TIME/MOTIVATION" is the author's own flag that the async machinery this touches is unfinished. Stacking an advanced subsystem on an explicitly beta pack is a gamble; keep your stock SetHookKeyframes around as the reliable fallback.

Categoryagilly1989 Nodes/Motorway-ed/advanced/hooks/scheduling

Inputs (4)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_hooks_keySTRINGhooks
INPUT_hook_kf_keySTRINGhook_kf
OUTPUT_HOOKS_keySTRINGHOOKS

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨