Graph Operators


Bake selected F-Curves to a set of sampled points defining a similar curve


Simplify F-Curves by removing closely spaced keyframes

Parameters:threshold (float in [0, inf], (optional)) – Threshold
bpy.ops.graph.click_insert(frame=1.0, value=1.0)

Insert new keyframe at the cursor position for the active F-Curve

  • frame (float in [-inf, inf], (optional)) – Frame Number, Frame to insert keyframe on
  • value (float in [-inf, inf], (optional)) – Value, Value for keyframe on
bpy.ops.graph.clickselect(extend=False, column=False, curves=False)

Select keyframes by clicking on them

  • extend (boolean, (optional)) – Extend Select
  • column (boolean, (optional)) – Column Select, Select all keyframes that occur on the same frame as the one under the mouse
  • curves (boolean, (optional)) – Only Curves, Select all the keyframes in the curve

Copy selected keyframes to the copy/paste buffer

bpy.ops.graph.cursor_set(frame=0, value=0.0)

Interactively set the current frame number and value cursor

  • frame (int in [-300000, 300000], (optional)) – Frame
  • value (float in [-inf, inf], (optional)) – Value

Remove all selected keyframes


Make a copy of all selected keyframes

bpy.ops.graph.duplicate_move(GRAPH_OT_duplicate=None, TRANSFORM_OT_transform=None)

Make a copy of all selected keyframes and move them

  • GRAPH_OT_duplicate (GRAPH_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

Fixes the most common causes of gimbal lock in the selected Euler Rotation F-Curves


Set extrapolation mode for selected F-Curves

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


  • CONSTANT Constant Extrapolation.
  • LINEAR Linear Extrapolation.
  • 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.graph.fmodifier_add(type='NULL', only_active=True)

Add F-Modifiers to the selected F-Curves

  • type (enum in [‘NULL’, ‘GENERATOR’, ‘FNGENERATOR’, ‘ENVELOPE’, ‘CYCLES’, ‘NOISE’, ‘LIMITS’, ‘STEPPED’], (optional)) – Type
  • only_active (boolean, (optional)) – Only Active, Only add F-Modifier to active F-Curve

Copy the F-Modifier(s) of the active F-Curve


Add copied F-Modifiers to the selected F-Curves


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


Clear F-Curve snapshots (Ghosts) for active Graph Editor


Create snapshot (Ghosts) of selected F-Curves as background aid for active Graph Editor


Set type of handle for selected keyframes

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


  • FREE Free.
  • VECTOR Vector.
  • ALIGNED Aligned.
  • AUTO Automatic.
  • AUTO_CLAMPED Auto Clamped, Auto handles clamped to not overshoot.

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

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

Insert keyframes for the specified channels

Parameters:type (enum in [‘ALL’, ‘SEL’], (optional)) – Type

Flip selected keyframes over the selected mirror line

Parameters:type (enum in [‘CFRA’, ‘VALUE’, ‘YAXIS’, ‘XAXIS’, ‘MARKER’], (optional)) – Type
bpy.ops.graph.paste(offset='START', merge='MIX')

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

  • 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.

Automatically set Preview Range based on range of keyframes

Toggle display properties panel


Add keyframes on every frame between the selected keyframes


Toggle selection of all keyframes

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

Select all keyframes within the specified region

  • 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
  • include_handles (boolean, (optional)) – Include Handles, Are handles tested individually against the selection criteria

Select all keyframes on the specified frame(s)

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

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

  • mode (enum in [‘CHECK’, ‘LEFT’, ‘RIGHT’], (optional)) – Mode
  • extend (boolean, (optional)) – Extend Select

Deselect keyframes on ends of selection islands


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


Select keyframes beside already selected ones


Apply weighted moving means to make selected F-Curves less bumpy


Snap selected keyframes to the chosen times/values

Parameters:type (enum in [‘CFRA’, ‘VALUE’, ‘NEAREST_FRAME’, ‘NEAREST_SECOND’, ‘NEAREST_MARKER’, ‘HORIZONTAL’], (optional)) – Type
bpy.ops.graph.sound_bake(filepath="", filter_blender=False, filter_image=False, filter_movie=True, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_btx=False, filter_collada=False, filter_folder=True, filemode=9, display_type='FILE_DEFAULTDISPLAY', low=0.0, high=100000.0, attack=0.005, release=0.2, threshold=0.0, accumulate=False, use_additive=False, square=False, sthreshold=0.1)

Bakes a sound wave to selected F-Curves

  • filepath (string, (optional, never None)) – File Path, Path to file
  • filter_blender (boolean, (optional)) – Filter .blend files
  • filter_image (boolean, (optional)) – Filter image files
  • filter_movie (boolean, (optional)) – Filter movie files
  • filter_python (boolean, (optional)) – Filter python files
  • filter_font (boolean, (optional)) – Filter font files
  • filter_sound (boolean, (optional)) – Filter sound files
  • filter_text (boolean, (optional)) – Filter text files
  • filter_btx (boolean, (optional)) – Filter btx files
  • filter_collada (boolean, (optional)) – Filter COLLADA files
  • filter_folder (boolean, (optional)) – Filter folders
  • filemode (int in [1, 9], (optional)) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file

    Display Type

    • FILE_DEFAULTDISPLAY Default, Automatically determine display type for files.
    • FILE_SHORTDISPLAY Short List, Display files as short list.
    • FILE_LONGDISPLAY Long List, Display files as a detailed list.
    • FILE_IMGDISPLAY Thumbnails, Display files as thumbnails.
  • low (float in [0, 100000], (optional)) – Lowest frequency
  • high (float in [0, 100000], (optional)) – Highest frequency
  • attack (float in [0, 2], (optional)) – Attack time
  • release (float in [0, 5], (optional)) – Release time
  • threshold (float in [0, 1], (optional)) – Threshold
  • accumulate (boolean, (optional)) – Accumulate
  • use_additive (boolean, (optional)) – Additive
  • square (boolean, (optional)) – Square
  • sthreshold (float in [0, 1], (optional)) – Square Threshold

Reset viewable area to show full keyframe range

Parameters:include_handles (boolean, (optional)) – Include Handles, Include handles of keyframes when calculating extents

Reset viewable area to show selected keyframe range

Parameters:include_handles (boolean, (optional)) – Include Handles, Include handles of keyframes when calculating extents

Previous topic

Gpencil Operators

Next topic

Group Operators