Action Operators

bpy.ops.action.clean(threshold=0.001, channels=False)

Simplify F-Curves by removing closely spaced keyframes

Parameters
  • threshold (float in [0, inf], (optional)) – Threshold

  • channels (boolean, (optional)) – Channels

bpy.ops.action.clickselect(wait_to_deselect_others=False, mouse_x=0, mouse_y=0, extend=False, deselect_all=False, column=False, channel=False)

Select keyframes by clicking on them

Parameters
  • wait_to_deselect_others (boolean, (optional)) – Wait to Deselect Others

  • mouse_x (int in [-inf, inf], (optional)) – Mouse X

  • mouse_y (int in [-inf, inf], (optional)) – Mouse Y

  • extend (boolean, (optional)) – Extend Select, Toggle keyframe selection instead of leaving newly selected keyframes only

  • deselect_all (boolean, (optional)) – Deselect On Nothing, Deselect all when nothing under the cursor

  • 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(confirm=True)

Remove all selected keyframes

Parameters

confirm (boolean, (optional)) – Confirm, Prompt for confirmation

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.easing_type(type='AUTO')

Set easing type for the F-Curve segments starting from the selected keyframes

Parameters

type (enum in ['AUTO', 'EASE_IN', 'EASE_OUT', 'EASE_IN_OUT'], (optional)) –

Type

  • AUTO Automatic Easing – Easing type is chosen automatically based on what the type of interpolation used (e.g. Ease In for transitional types, and Ease Out for dynamic effects).

  • EASE_IN Ease In – Only on the end closest to the next keyframe.

  • EASE_OUT Ease Out – Only on the end closest to the first keyframe.

  • EASE_IN_OUT Ease In and Out – Segment between both keyframes.

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', 'ALIGNED', 'VECTOR', 'AUTO', 'AUTO_CLAMPED'], (optional)) –

Type

  • FREE Free – Completely independent manually set handle.

  • ALIGNED Aligned – Manually set handle with rotation locked together with its pair.

  • VECTOR Vector – Automatic handles that create straight lines.

  • AUTO Automatic – Automatic handles that create smooth curves.

  • AUTO_CLAMPED Auto Clamped – Automatic handles that create smooth curves which only change direction at keyframes.

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', 'MOVING_HOLD', '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.

  • MOVING_HOLD Moving Hold – A keyframe that is part of a moving hold.

  • 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 Zero Value – 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(action='TOGGLE')

Toggle selection of all keyframes

Parameters

action (enum in ['TOGGLE', 'SELECT', 'DESELECT', 'INVERT'], (optional)) –

Action, Selection action to execute

  • TOGGLE Toggle – Toggle selection for all elements.

  • SELECT Select – Select all elements.

  • DESELECT Deselect – Deselect all elements.

  • INVERT Invert – Invert selection of all elements.

bpy.ops.action.select_box(axis_range=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET', tweak=False)

Select all keyframes within the specified region

Parameters
  • axis_range (boolean, (optional)) – Axis Range

  • 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

  • wait_for_input (boolean, (optional)) – Wait for Input

  • mode (enum in ['SET', 'ADD', 'SUB'], (optional)) –

    Mode

    • SET Set – Set a new selection.

    • ADD Extend – Extend existing selection.

    • SUB Subtract – Subtract existing selection.

  • tweak (boolean, (optional)) – Tweak, Operator has been activated using a click-drag event

bpy.ops.action.select_circle(x=0, y=0, radius=25, wait_for_input=True, mode='SET')

Select keyframe points using circle selection

Parameters
  • x (int in [-inf, inf], (optional)) – X

  • y (int in [-inf, inf], (optional)) – Y

  • radius (int in [1, inf], (optional)) – Radius

  • wait_for_input (boolean, (optional)) – Wait for Input

  • mode (enum in ['SET', 'ADD', 'SUB'], (optional)) –

    Mode

    • SET Set – Set a new selection.

    • ADD Extend – Extend existing selection.

    • SUB Subtract – Subtract existing selection.

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_lasso(path=None, mode='SET')

Select keyframe points using lasso selection

Parameters
  • path (bpy_prop_collection of OperatorMousePath, (optional)) – Path

  • mode (enum in ['SET', 'ADD', 'SUB'], (optional)) –

    Mode

    • SET Set – Set a new selection.

    • ADD Extend – Extend existing selection.

    • SUB Subtract – Subtract existing selection.

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 Selection to Current Frame – Snap selected keyframes to the current frame.

  • NEAREST_FRAME Selection to Nearest Frame – Snap selected keyframes to the nearest (whole) frame (use to fix accidental sub-frame offsets).

  • NEAREST_SECOND Selection to Nearest Second – Snap selected keyframes to the nearest second.

  • NEAREST_MARKER Selection to 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)

Parameters

force_delete (boolean, (optional)) – Force Delete, Clear Fake User and remove copy stashed in this data-block’s NLA stack

bpy.ops.action.view_all()

Reset viewable area to show full keyframe range

bpy.ops.action.view_frame()

Move the view to the current frame

bpy.ops.action.view_selected()

Reset viewable area to show selected keyframes range