Graph Operators

bpy.ops.graph.bake()

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

bpy.ops.graph.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.graph.click_insert(frame=1.0, value=1.0, extend=False)

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

Parameters:
  • frame (float in [-inf, inf], (optional)) – Frame Number, Frame to insert keyframe on
  • value (float in [-inf, inf], (optional)) – Value, Value for keyframe on
  • extend (boolean, (optional)) – Extend, Extend selection instead of deselecting everything first
bpy.ops.graph.clickselect(wait_to_deselect_others=False, mouse_x=0, mouse_y=0, extend=False, deselect_all=False, column=False, curves=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
  • curves (boolean, (optional)) – Only Curves, Select all the keyframes in the curve
bpy.ops.graph.copy()

Copy selected keyframes to the copy/paste buffer

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

Interactively set the current frame and value cursor

Parameters:
  • frame (float in [-1.04857e+06, 1.04857e+06], (optional)) – Frame
  • value (float in [-inf, inf], (optional)) – Value
bpy.ops.graph.decimate(mode='RATIO', remove_ratio=0.333333, remove_error_margin=0.0)

Decimate F-Curves by removing keyframes that influence the curve shape the least

Parameters:
  • mode (enum in ['RATIO', 'ERROR'], (optional)) –

    Mode, Which mode to use for decimation

    • RATIO Ratio, Use a percentage to specify how many keyframes you want to remove.
    • ERROR Error Margin, Use an error margin to specify how much the curve is allowed to deviate from the original path.
  • remove_ratio (float in [0, 1], (optional)) – Remove, The percentage of keyframes to remove
  • remove_error_margin (float in [0, inf], (optional)) – Max Error Margin, How much the new decimated curve is allowed to deviate from the original
bpy.ops.graph.delete()

Remove all selected keyframes

bpy.ops.graph.driver_delete_invalid()

Delete all visible drivers considered invalid

bpy.ops.graph.driver_variables_copy()

Copy the driver variables of the active driver

bpy.ops.graph.driver_variables_paste(replace=False)

Add copied driver variables to the active driver

Parameters:replace (boolean, (optional)) – Replace Existing, Replace existing driver variables, instead of just appending to the end of the existing list
bpy.ops.graph.duplicate(mode='TRANSLATION')

Make a copy of all selected keyframes

Parameters:mode (enum in ['INIT', 'DUMMY', 'TRANSLATION', 'ROTATION', 'RESIZE', 'SKIN_RESIZE', 'TOSPHERE', 'SHEAR', 'BEND', 'SHRINKFATTEN', 'TILT', 'TRACKBALL', 'PUSHPULL', 'CREASE', 'MIRROR', 'BONE_SIZE', 'BONE_ENVELOPE', 'BONE_ENVELOPE_DIST', 'CURVE_SHRINKFATTEN', 'MASK_SHRINKFATTEN', 'GPENCIL_SHRINKFATTEN', 'BONE_ROLL', 'TIME_TRANSLATE', 'TIME_SLIDE', 'TIME_SCALE', 'TIME_EXTEND', 'BAKE_TIME', 'BWEIGHT', 'ALIGN', 'EDGESLIDE', 'SEQSLIDE', 'GPENCIL_OPACITY'], (optional)) – Mode
bpy.ops.graph.duplicate_move(GRAPH_OT_duplicate=None, TRANSFORM_OT_transform=None)

Make a copy of all selected keyframes and move them

Parameters:
  • 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
bpy.ops.graph.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.graph.euler_filter()

Fix large jumps and flips in the selected Euler Rotation F-Curves arising from rotation values being clipped when baking physics

bpy.ops.graph.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.graph.fmodifier_add(type='NULL', only_active=True)

Add F-Modifier to the active/selected F-Curves

Parameters:
  • type (enum in ['NULL', 'GENERATOR', 'FNGENERATOR', 'ENVELOPE', 'CYCLES', 'NOISE', 'LIMITS', 'STEPPED'], (optional)) –

    Type

    • NULL Invalid.
    • GENERATOR Generator, Generate a curve using a factorized or expanded polynomial.
    • FNGENERATOR Built-In Function, Generate a curve using standard math functions such as sin and cos.
    • ENVELOPE Envelope, Reshape F-Curve values - e.g. change amplitude of movements.
    • CYCLES Cycles, Cyclic extend/repeat keyframe sequence.
    • NOISE Noise, Add pseudo-random noise on top of F-Curves.
    • LIMITS Limits, Restrict maximum and minimum values of F-Curve.
    • STEPPED Stepped Interpolation, Snap values to nearest grid-step - e.g. for a stop-motion look.
  • only_active (boolean, (optional)) – Only Active, Only add F-Modifier to active F-Curve
bpy.ops.graph.fmodifier_copy()

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

bpy.ops.graph.fmodifier_paste(only_active=True, replace=False)

Add copied F-Modifiers to the selected F-Curves

Parameters:
  • only_active (boolean, (optional)) – Only Active, Only paste F-Modifiers on active F-Curve
  • replace (boolean, (optional)) – Replace Existing, Replace existing F-Modifiers, instead of just appending to the end of the existing list
bpy.ops.graph.frame_jump()

Place the cursor on the midpoint of selected keyframes

bpy.ops.graph.ghost_curves_clear()

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

bpy.ops.graph.ghost_curves_create()

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

bpy.ops.graph.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.graph.hide(unselected=False)

Hide selected curves from Graph Editor view

Parameters:unselected (boolean, (optional)) – Unselected, Hide unselected rather than selected curves
bpy.ops.graph.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.graph.keyframe_insert(type='ALL')

Insert keyframes for the specified channels

Parameters:type (enum in ['ALL', 'SEL', 'CURSOR_ACTIVE', 'CURSOR_SEL'], (optional)) –

Type

  • ALL All Channels, Insert a keyframe on all visible and editable F-Curves using each curve’s current value.
  • SEL Only Selected Channels, Insert a keyframe on selected F-Curves using each curve’s current value.
  • CURSOR_ACTIVE Active Channels At Cursor, Insert a keyframe for the active F-Curve at the cursor point.
  • CURSOR_SEL Selected Channels At Cursor, Insert a keyframe for selected F-Curves at the cursor point.
bpy.ops.graph.mirror(type='CFRA')

Flip selected keyframes over the selected mirror line

Parameters:type (enum in ['CFRA', 'VALUE', 'YAXIS', 'XAXIS', 'MARKER'], (optional)) –

Type

  • CFRA By Times Over Current Frame, Flip times of selected keyframes using the current frame as the mirror line.
  • VALUE By Values Over Cursor Value, Flip values of selected keyframes using the cursor value (Y/Horizontal component) as the mirror line.
  • YAXIS By Times Over Time=0, Flip times of selected keyframes, effectively reversing the order they appear in.
  • 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.graph.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.graph.previewrange_set()

Automatically set Preview Range based on range of keyframes

bpy.ops.graph.reveal(select=True)

Make previously hidden curves visible again in Graph Editor view

Parameters:select (boolean, (optional)) – Select
bpy.ops.graph.sample()

Add keyframes on every frame between the selected keyframes

bpy.ops.graph.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.graph.select_box(axis_range=False, include_handles=True, tweak=False, xmin=0, xmax=0, ymin=0, ymax=0, wait_for_input=True, mode='SET')

Select all keyframes within the specified region

Parameters:
  • axis_range (boolean, (optional)) – Axis Range
  • include_handles (boolean, (optional)) – Include Handles, Are handles tested individually against the selection criteria
  • tweak (boolean, (optional)) – Tweak, Operator has been activated using a tweak event
  • 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.
bpy.ops.graph.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.graph.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.graph.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.graph.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.graph.select_less()

Deselect keyframes on ends of selection islands

bpy.ops.graph.select_linked()

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

bpy.ops.graph.select_more()

Select keyframes beside already selected ones

bpy.ops.graph.smooth()

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

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

Snap selected keyframes to the chosen times/values

Parameters:type (enum in ['CFRA', 'VALUE', 'NEAREST_FRAME', 'NEAREST_SECOND', 'NEAREST_MARKER', 'HORIZONTAL'], (optional)) –

Type

  • CFRA Current Frame, Snap selected keyframes to the current frame.
  • VALUE Cursor Value, Set values of selected keyframes to the cursor value (Y/Horizontal component).
  • 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.
  • HORIZONTAL Flatten Handles, Flatten handles for a smoother transition.
bpy.ops.graph.sound_bake(filepath="", filter_blender=False, filter_backup=False, filter_image=False, filter_movie=True, filter_python=False, filter_font=False, filter_sound=True, filter_text=False, filter_archive=False, filter_btx=False, filter_collada=False, filter_alembic=False, filter_usd=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='FILE_SORT_ALPHA', low=0.0, high=100000.0, attack=0.005, release=0.2, threshold=0.0, use_accumulate=False, use_additive=False, use_square=False, sthreshold=0.1)

Bakes a sound wave to selected F-Curves

Parameters:
  • filepath (string, (optional, never None)) – File Path, Path to file
  • filter_blender (boolean, (optional)) – Filter .blend files
  • filter_backup (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_archive (boolean, (optional)) – Filter archive files
  • filter_btx (boolean, (optional)) – Filter btx files
  • filter_collada (boolean, (optional)) – Filter COLLADA files
  • filter_alembic (boolean, (optional)) – Filter Alembic files
  • filter_usd (boolean, (optional)) – Filter USD files
  • filter_folder (boolean, (optional)) – Filter folders
  • filter_blenlib (boolean, (optional)) – Filter Blender IDs
  • 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
  • show_multiview (boolean, (optional)) – Enable Multi-View
  • use_multiview (boolean, (optional)) – Use Multi-View
  • display_type (enum in ['DEFAULT', 'LIST_VERTICAL', 'LIST_HORIZONTAL', 'THUMBNAIL'], (optional)) –

    Display Type

    • DEFAULT Default, Automatically determine display type for files.
    • LIST_VERTICAL Short List, Display files as short list.
    • LIST_HORIZONTAL Long List, Display files as a detailed list.
    • THUMBNAIL Thumbnails, Display files as thumbnails.
  • sort_method (enum in ['FILE_SORT_ALPHA', 'FILE_SORT_EXTENSION', 'FILE_SORT_TIME', 'FILE_SORT_SIZE'], (optional)) –

    File sorting mode

    • FILE_SORT_ALPHA Name, Sort the file list alphabetically.
    • FILE_SORT_EXTENSION Extension, Sort the file list by extension/type.
    • FILE_SORT_TIME Modified Date, Sort files by modification time.
    • FILE_SORT_SIZE Size, Sort files by size.
  • low (float in [0, 100000], (optional)) – Lowest frequency, Cutoff frequency of a high-pass filter that is applied to the audio data
  • high (float in [0, 100000], (optional)) – Highest frequency, Cutoff frequency of a low-pass filter that is applied to the audio data
  • attack (float in [0, 2], (optional)) – Attack time, Value for the hull curve calculation that tells how fast the hull curve can rise (the lower the value the steeper it can rise)
  • release (float in [0, 5], (optional)) – Release time, Value for the hull curve calculation that tells how fast the hull curve can fall (the lower the value the steeper it can fall)
  • threshold (float in [0, 1], (optional)) – Threshold, Minimum amplitude value needed to influence the hull curve
  • use_accumulate (boolean, (optional)) – Accumulate, Only the positive differences of the hull curve amplitudes are summarized to produce the output
  • use_additive (boolean, (optional)) – Additive, The amplitudes of the hull curve are summarized (or, when Accumulate is enabled, both positive and negative differences are accumulated)
  • use_square (boolean, (optional)) – Square, The output is a square curve (negative values always result in -1, and positive ones in 1)
  • sthreshold (float in [0, 1], (optional)) – Square Threshold, Square only: all values with an absolute amplitude lower than that result in 0
bpy.ops.graph.view_all(include_handles=True)

Reset viewable area to show full keyframe range

Parameters:include_handles (boolean, (optional)) – Include Handles, Include handles of keyframes when calculating extents
bpy.ops.graph.view_frame()

Reset viewable area to show range around current frame

bpy.ops.graph.view_selected(include_handles=True)

Reset viewable area to show selected keyframe range

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