Action Operators

bpy.ops.action.clean(threshold=0.001)

Simplify F-Curves by removing closely spaced keyframes

Parameters:threshold (float in [0, inf], (optional)) – Threshold
bpy.ops.action.clickselect(extend=False, column=False, channel=False)

Select keyframes by clicking on them

Parameters:
  • extend (boolean, (optional)) – Extend Select, Toggle keyframe selection instead of leaving newly selected keyframes only
  • column (boolean, (optional)) – Column Select, Select all keyframes that occur on the same frame as the one under the mouse
  • channel (boolean, (optional)) – Only Channel, Select all the keyframes in the channel under the mouse
bpy.ops.action.copy()

Copy selected keyframes to the copy/paste buffer

bpy.ops.action.delete()

Remove all selected keyframes

bpy.ops.action.duplicate()

Make a copy of all selected keyframes

bpy.ops.action.duplicate_move(ACTION_OT_duplicate=None, TRANSFORM_OT_transform=None)

Make a copy of all selected keyframes and move them

Parameters:
  • ACTION_OT_duplicate (ACTION_OT_duplicate, (optional)) – Duplicate Keyframes, Make a copy of all selected keyframes
  • TRANSFORM_OT_transform (TRANSFORM_OT_transform, (optional)) – Transform, Transform selected items by mode type
bpy.ops.action.extrapolation_type(type='CONSTANT')

Set extrapolation mode for selected F-Curves

Parameters:type (enum in [‘CONSTANT’, ‘LINEAR’, ‘MAKE_CYCLIC’, ‘CLEAR_CYCLIC’], (optional)) –

Type

  • CONSTANT Constant Extrapolation, Values on endpoint keyframes are held.
  • LINEAR Linear Extrapolation, Straight-line slope of end segments are extended past the endpoint keyframes.
  • MAKE_CYCLIC Make Cyclic (F-Modifier), Add Cycles F-Modifier if one doesn’t exist already.
  • CLEAR_CYCLIC Clear Cyclic (F-Modifier), Remove Cycles F-Modifier if not needed anymore.
bpy.ops.action.frame_jump()

Set the current frame to the average frame value of selected keyframes

bpy.ops.action.handle_type(type='FREE')

Set type of handle for selected keyframes

Parameters:type (enum in [‘FREE’, ‘VECTOR’, ‘ALIGNED’, ‘AUTO’, ‘AUTO_CLAMPED’], (optional)) –

Type

  • FREE Free.
  • VECTOR Vector.
  • ALIGNED Aligned.
  • AUTO Automatic.
  • AUTO_CLAMPED Auto Clamped, Auto handles clamped to not overshoot.
bpy.ops.action.interpolation_type(type='CONSTANT')

Set interpolation mode for the F-Curve segments starting from the selected keyframes

Parameters:type (enum in [‘CONSTANT’, ‘LINEAR’, ‘BEZIER’, ‘SINE’, ‘QUAD’, ‘CUBIC’, ‘QUART’, ‘QUINT’, ‘EXPO’, ‘CIRC’, ‘BACK’, ‘BOUNCE’, ‘ELASTIC’], (optional)) –

Type

  • CONSTANT Constant, No interpolation, value of A gets held until B is encountered.
  • LINEAR Linear, Straight-line interpolation between A and B (i.e. no ease in/out).
  • BEZIER Bezier, Smooth interpolation between A and B, with some control over curve shape.
  • SINE Sinusoidal, Sinusoidal easing (weakest, almost linear but with a slight curvature).
  • QUAD Quadratic, Quadratic easing.
  • CUBIC Cubic, Cubic easing.
  • QUART Quartic, Quartic easing.
  • QUINT Quintic, Quintic easing.
  • EXPO Exponential, Exponential easing (dramatic).
  • CIRC Circular, Circular easing (strongest and most dynamic).
  • BACK Back, Cubic easing with overshoot and settle.
  • BOUNCE Bounce, Exponentially decaying parabolic bounce, like when objects collide.
  • ELASTIC Elastic, Exponentially decaying sine wave, like an elastic band.
bpy.ops.action.keyframe_insert(type='ALL')

Insert keyframes for the specified channels

Parameters:type (enum in [‘ALL’, ‘SEL’, ‘GROUP’], (optional)) – Type
bpy.ops.action.keyframe_type(type='KEYFRAME')

Set type of keyframe for the selected keyframes

Parameters:type (enum in [‘KEYFRAME’, ‘BREAKDOWN’, ‘EXTREME’, ‘JITTER’], (optional)) –

Type

  • KEYFRAME Keyframe, Normal keyframe - e.g. for key poses.
  • BREAKDOWN Breakdown, A breakdown pose - e.g. for transitions between key poses.
  • EXTREME Extreme, An ‘extreme’ pose, or some other purpose as needed.
  • JITTER Jitter, A filler or baked keyframe for keying on ones, or some other purpose as needed.
bpy.ops.action.layer_next()

Switch to editing action in animation layer above the current action in the NLA Stack

bpy.ops.action.layer_prev()

Switch to editing action in animation layer below the current action in the NLA Stack

bpy.ops.action.markers_make_local()

Move selected scene markers to the active Action as local ‘pose’ markers

bpy.ops.action.mirror(type='CFRA')

Flip selected keyframes over the selected mirror line

Parameters:type (enum in [‘CFRA’, ‘XAXIS’, ‘MARKER’], (optional)) –

Type

  • CFRA By Times over Current frame, Flip times of selected keyframes using the current frame as the mirror line.
  • XAXIS By Values over Value=0, Flip values of selected keyframes (i.e. negative values become positive, and vice versa).
  • MARKER By Times over First Selected Marker, Flip times of selected keyframes using the first selected marker as the reference point.
bpy.ops.action.new()

Create new action

bpy.ops.action.paste(offset='START', merge='MIX', flipped=False)

Paste keyframes from copy/paste buffer for the selected channels, starting on the current frame

Parameters:
  • offset (enum in [‘START’, ‘END’, ‘RELATIVE’, ‘NONE’], (optional)) –

    Offset, Paste time offset of keys

    • START Frame Start, Paste keys starting at current frame.
    • END Frame End, Paste keys ending at current frame.
    • RELATIVE Frame Relative, Paste keys relative to the current frame when copying.
    • NONE No Offset, Paste keys from original time.
  • merge (enum in [‘MIX’, ‘OVER_ALL’, ‘OVER_RANGE’, ‘OVER_RANGE_ALL’], (optional)) –

    Type, Method of merging pasted keys and existing

    • MIX Mix, Overlay existing with new keys.
    • OVER_ALL Overwrite All, Replace all keys.
    • OVER_RANGE Overwrite Range, Overwrite keys in pasted range.
    • OVER_RANGE_ALL Overwrite Entire Range, Overwrite keys in pasted range, using the range of all copied keys.
  • flipped (boolean, (optional)) – Flipped, Paste keyframes from mirrored bones if they exist
bpy.ops.action.previewrange_set()

Set Preview Range based on extents of selected Keyframes

bpy.ops.action.push_down()

Push action down on to the NLA stack as a new strip

bpy.ops.action.sample()

Add keyframes on every frame between the selected keyframes

bpy.ops.action.select_all_toggle(invert=False)

Toggle selection of all keyframes

Parameters:invert (boolean, (optional)) – Invert
bpy.ops.action.select_border(gesture_mode=0, xmin=0, xmax=0, ymin=0, ymax=0, extend=True, axis_range=False)

Select all keyframes within the specified region

Parameters:
  • gesture_mode (int in [-inf, inf], (optional)) – Gesture Mode
  • xmin (int in [-inf, inf], (optional)) – X Min
  • xmax (int in [-inf, inf], (optional)) – X Max
  • ymin (int in [-inf, inf], (optional)) – Y Min
  • ymax (int in [-inf, inf], (optional)) – Y Max
  • extend (boolean, (optional)) – Extend, Extend selection instead of deselecting everything first
  • axis_range (boolean, (optional)) – Axis Range
bpy.ops.action.select_column(mode='KEYS')

Select all keyframes on the specified frame(s)

Parameters:mode (enum in [‘KEYS’, ‘CFRA’, ‘MARKERS_COLUMN’, ‘MARKERS_BETWEEN’], (optional)) – Mode
bpy.ops.action.select_leftright(mode='CHECK', extend=False)

Select keyframes to the left or the right of the current frame

Parameters:
  • mode (enum in [‘CHECK’, ‘LEFT’, ‘RIGHT’], (optional)) – Mode
  • extend (boolean, (optional)) – Extend Select
bpy.ops.action.select_less()

Deselect keyframes on ends of selection islands

bpy.ops.action.select_linked()

Select keyframes occurring in the same F-Curves as selected ones

bpy.ops.action.select_more()

Select keyframes beside already selected ones

bpy.ops.action.snap(type='CFRA')

Snap selected keyframes to the times specified

Parameters:type (enum in [‘CFRA’, ‘NEAREST_FRAME’, ‘NEAREST_SECOND’, ‘NEAREST_MARKER’], (optional)) –

Type

  • CFRA Current frame, Snap selected keyframes to the current frame.
  • NEAREST_FRAME Nearest Frame, Snap selected keyframes to the nearest (whole) frame (use to fix accidental sub-frame offsets).
  • NEAREST_SECOND Nearest Second, Snap selected keyframes to the nearest second.
  • NEAREST_MARKER Nearest Marker, Snap selected keyframes to the nearest marker.
bpy.ops.action.stash(create_new=True)

Store this action in the NLA stack as a non-contributing strip for later use

Parameters:create_new (boolean, (optional)) – Create New Action, Create a new action once the existing one has been safely stored
bpy.ops.action.stash_and_create()

Store this action in the NLA stack as a non-contributing strip for later use, and create a new action

Unlink this action from the active action slot (and/or exit Tweak Mode)

bpy.ops.action.view_all()

Reset viewable area to show full keyframe range

bpy.ops.action.view_frame()

Reset viewable area to show range around current frame

bpy.ops.action.view_selected()

Reset viewable area to show selected keyframes range