CreateHookKeyframesInterpolated_motorway_edition
Smoothly eased hook keyframes, fed by the Motorway
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
Most of the time you don't want a jarring step in LoRA or patch strength - you want a smooth glide from one strength to another. CreateHookKeyframesInterpolated builds exactly that: it generates a run of keyframes easing from strength_start to strength_end across a percent window, with your choice of easing curve. The _motorway_edition wraps the core node to run on agilly1989's Motorway bus.
How it works
Give it two strengths and a count, and it places keyframes_count keyframes between them using the selected interpolation - linear, ease_in, ease_out, or ease_in_out. The difference from CreateHookKeyframesFromFloats is that you never type the list of values; the node computes them from the start/end pair and the easing method. ease_in_out is the one you'll usually want for "fade the LoRA in and out" - it keeps strength pinned near the ends and spends its movement in the middle, which reads as natural rather than mechanical.
Inputs and outputs
- MOTORWAY 🚌💨 - the bus, required.
- INPUT_prev_hook_kf_key - key of an existing keyframe group to chain onto, default
prev_hook_kf. - strength_start / strength_end - the range of strengths, 0–10, both default 1.
- interpolation - the easing method, one of the four above.
- start_percent / end_percent - the timeline window, 0–1.
- keyframes_count - how many keyframes to generate, 2–100, default 5.
- print_keyframes - boolean, console dump for debugging, default off.
- OUTPUT_HOOK_KF_key - key for the resulting group, default
HOOK_KF.
Only output: the Motorway.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
Restart, or ComfyUI Manager → "ComfyUI_agilly1989_motorway". No pip deps, no models.
Caveats
Pack-wide: active beta, "BIG BROKEN WITH ASYNC" README banner, _motorway_edition clones commented out of __init__.py in the checked version (re-enable ClonedNodeMapping if missing), keys exact and case-sensitive. Two practical notes: more keyframes is not automatically smoother - past a point you're just burning CPU on a curve that renders the same; and check whether the hook downstream actually respects keyframe strength variation, because a hook that ignores its schedule will make all this fiddling invisible. The hooks system is EXPERIMENTAL in core, so this is a scheduling toy with real teeth, not a production guarantee.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — | |
| INPUT_prev_hook_kf_key | STRING | prev_hook_kf | — |
| strength_start | FLOAT | 1.0000–10 | — |
| strength_end | FLOAT | 1.0000–10 | — |
| interpolation | COMBO | 4 options: linear, ease_in, ease_out, ease_in_out | |
| start_percent | FLOAT | 0.0000–1 | — |
| end_percent | FLOAT | 1.0000–1 | — |
| keyframes_count | INT | 52–100 | — |
| print_keyframes | BOOLEAN | false | — |
| OUTPUT_HOOK_KF_key | STRING | HOOK_KF | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |