user: What is Active Keyframe and how is it used in Blender Python scripting?

assistant: [image reference removed]

Active Keyframe panel.

Interpolation
:   The [interpolation](../../../glossary/index.html#term-Interpolation) to use between the active keyframe and the next.

    Interpolation

    Constant:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_constant.png)

        Constant.

        The curve holds the value until the next keyframe, producing a stair step effect with
        very abrupt changes.
        Normally only used during the initial “blocking” stage in pose-to-pose animation workflows.

    Linear:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_linear.png)

        Linear.

        The curve goes from one keyframe to the next in a straight line, which prevents abrupt
        changes in value but not in speed. By creating two keyframes with Linear interpolation
        and [extrapolation](../channels/editing.html#bpy-ops-graph-extrapolation-type), you can easily make a straight
        line curve that goes on forever.

    Bézier:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_editing_clean1.png)

        Bézier.

        The default interpolation, which is smooth in both values and speed.

    Easing (by strength)

    A set of interpolations that specialize in accelerating or decelerating an value,
    “easing” it from a stationary into a moving state or vice versa.

    Dynamic Effects

    These additional easing types imitate (fake) physics-based effects like bouncing.

    Back
    :   With *Ease In*, the value first moves away from the target and then shoots towards it.
        With *Ease Out*, it goes towards the target, overshoots it, and then returns.

        Back
        :   The size and direction (i.e. above/below the curve) of the overshoot.

    Bounce
    :   Makes the value bounce a few times with exponential decay,
        like a tennis ball that was dropped on the floor.

    Elastic
    :   Makes the value overshoot the target, then rebound and undershoot it,
        then overshoot it again… with ever-decreasing intensity until it eventually settles.

        Amplitude
        :   How far the value initially overshoots its target.

        Period
        :   How much time there is between each oscillation.

Easing
:   This option only applies to the *Easing* and *Dynamic Effects* categories above.

    Automatic Easing:
    :   Automatically pick the most commonly used type: *Ease In* when using one of the *Easing* interpolations,
        and *Ease Out* when using one of the *Dynamic Effects*.

    Ease In:
    :   The value accelerates, moving slowly at the beginning of the curve segment and speeding up towards the end.

    Ease Out:
    :   The value decelerates, moving quickly at the beginning of the curve segment and slowing down towards the end.

    Ease In Out:
    :   The value moves slowly in the beginning, speeds up towards the middle, and slows down again towards the end.

Key Frame
:   The frame of the active keyframe.

Value
:   The value of the active keyframe.

Left/Right Handle Type
:   When the keyframe’s interpolation is set to *Bézier*, the shape of the curve around it is
    influenced by its handles. Each handle has its own type which determines if (and how) Blender
    positions it automatically, and if not, how much freedom you have in positioning it manually.

    You can change the handles’ types in multiple ways: using these dropdowns in the Sidebar;
    through the menu Key ‣ Handle Type; or by pressing `V` and selecting from the popup menu.

    If you want to change an automatic handle’s position, just drag it;
    you don’t need to manually change its type first.

    Automatic:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_auto.png)

        Auto handles.

        Automatic handles that produce smooth curves.

    Auto Clamped:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_autoclamped.png)

        Auto clamped handles.

        Automatic handles clamped to prevent overshoots and
        changes in the curve direction between keyframes (S-shapes).

    Vector:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_vector.png)

        Vector handles.

        Automatic handles that produce straight curve segments (like linear interpolation).

    Aligned:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_aligned.png)

        Aligned handles.

        Manual handles, which are however locked together to always point in opposite directions.
        This results in a curve that is always smooth at the control point.

    Free:
    :   [[image reference removed]](../../../_images/editors_graph-editor_fcurves_introduction_free.png)

        Free handles.

        Manual handles that can be moved independently, and thus can result in a sharp change of direction.

Frame, Value
:   The frame and value for the left/right handle of the active keyframe.