# FCurveKeyframePoints(bpy_struct)

base class — `bpy_struct`

class `bpy.types.``FCurveKeyframePoints`(bpy_struct)

  Collection of keyframe points

  `insert`(frame, value, options={})

    Add a keyframe point to a F-Curve

    Parameters: | frame (float in [-inf, inf]) – X Value of this keyframe point value (float in [-inf, inf]) – Y Value of this keyframe point options (enum set in {‘REPLACE’, ‘NEEDED’, ‘FAST’}, (optional)) – Keyframe options `REPLACE` Replace, Don’t add any new keyframes, but just replace existing ones. `NEEDED` Needed, Only adds keyframes that are needed. `FAST` Fast, Fast keyframe insertion to avoid recalculating the curve each time.
    Returns: | Newly created keyframe
    Return type: | `Keyframe`

  `add`(count=1)

    Add a keyframe point to a F-Curve

    Parameters: | count (int in [0, inf], (optional)) – Number, Number of points to add to the spline

  `remove`(keyframe, fast=False)

    Remove keyframe from an F-Curve

    Parameters: | keyframe (`Keyframe`, (never None)) – Keyframe to remove fast (boolean, (optional)) – Fast, Fast keyframe removal to avoid recalculating the curve each time

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` | `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`FCurve.keyframe_points` |