Nodes/ComfyUI-Keyframed/5x Entangled Curves [0,1] (Frequency)
ComfyUI Node

5x Entangled Curves [0,1] (Frequency)

Five prompts, one shared tempo

By dmarx·Created 3 years ago·Updated 2 years ago· 92
5x Entangled Curves [0,1] (Frequency)
    • KEYFRAMED_CURVE
    • KEYFRAMED_CURVE
    • KEYFRAMED_CURVE
    • KEYFRAMED_CURVE
    • KEYFRAMED_CURVE
    frequency0.08

    Five prompts is a lot to juggle by hand. By the time you've got five conditionings that need to trade dominance smoothly, notation-based scheduling has become a chore of careful bracket-counting. This node does it with five phase-locked sine curves that sum to ~1 at every frame - each prompt keeps its own weight curve, they rotate through the lead, and you never have to do arithmetic to keep the mix balanced.

    It's the 5x member of the "Entangled Curves" family in dmarx's ComfyUI-Keyframed pack, driven by frequency. Once you're past four, each individual curve's peak shrinks (it's 2/N per curve), so the contribution of any single prompt gets gentler as you add more - five is where "superposition" clearly beats "a sequence of switches."

    How it works

    The node builds five SinusoidalCurves with phases spaced evenly around the circle (a fifth of a turn apart), each with amplitude 1/5 plus a small floor to keep it off zero - the README warns that fully zeroed conditions create "sharp edges" in the traversal. The balanced phases make the curves sum to ~1 at all times. Individually each swings between ~0 and ~2/5, so the leading prompt contributes 40% of the conditioning while the other four carry the rest. Everyone stays audible; the mix just leans.

    One input, frequency (FLOAT, default 1/12, stepped at 0.01). Five KEYFRAMED_CURVE outputs.

    Wiring it up

    Same pattern as the rest of the family: each curve output into its own Apply Curve To Conditioning node paired with its prompt, merge with KfConditioningAdd, then into the sampler for AnimateDiff. The wiring is identical no matter which member of the family you pick - the only thing that changes is how many conditionings you're juggling.

    Installing it

    Ships in ComfyUI-Keyframed. ComfyUI Manager: search "ComfyUI-Keyframed". Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/dmarx/ComfyUI-Keyframed
    

    Restart ComfyUI after. No models to download; the sole dependency is the keyframed Python library, auto-installed on first startup - expect a pause on the first load, and pip install keyframed manually if the auto-install is blocked. The node lives under keyframedentangled [0-1]. If five concepts is your story, this keeps all of them in play without turning your workflow into a scheduling spreadsheet.

    Categorykeyframed/entangled [0-1]

    Inputs (1)

    NameTypeDefaultDescription
    frequencyFLOAT0.08

    Outputs (5)

    NameTypeDescription
    KEYFRAMED_CURVEKEYFRAMED_CURVE
    KEYFRAMED_CURVEKEYFRAMED_CURVE
    KEYFRAMED_CURVEKEYFRAMED_CURVE
    KEYFRAMED_CURVEKEYFRAMED_CURVE
    KEYFRAMED_CURVEKEYFRAMED_CURVE