Graph Operators
- bpy.ops.graph.bake()
Bake selected F-Curves to a set of sampled points defining a similar curve
- bpy.ops.graph.blend_to_neighbor(factor=0.333333)
Blend selected keyframes to their left or right neighbor
- Parameters
factor (float in [-inf, inf], (optional)) – Blend, The blend factor with 0.5 being the current frame
- bpy.ops.graph.breakdown(factor=0.333333)
Move selected keyframes to an inbetween position relative to adjacent keys
- Parameters
factor (float in [-inf, inf], (optional)) – Factor, Favor either the left or the right key
- 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', factor=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.
factor (float in [0, 1], (optional)) – Remove, The ratio of remaining keyframes after the operation
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(confirm=True)
Remove all selected keyframes
- Parameters
confirm (boolean, (optional)) – Confirm, Prompt for confirmation
- 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', 'VERTEX_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 keyframesTRANSFORM_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.equalize_handles(side='LEFT', handle_length=5.0, flatten=False)
Ensure selected keyframes’ handles have equal length, optionally making them horizontal
- Parameters
side (enum in ['LEFT', 'RIGHT', 'BOTH'], (optional)) –
Side, Side of the keyframes’ bezier handles to affect
LEFT
Left – Equalize selected keyframes’ left handles.RIGHT
Right – Equalize selected keyframes’ right handles.BOTH
Both – Equalize both of a keyframe’s handles.
handle_length (float in [0.1, inf], (optional)) – Handle Length, Length to make selected keyframes’ bezier handles
flatten (boolean, (optional)) – Flatten, Make the values of the selected keyframes’ handles the same as their respective 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=False, 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 Zero Time – Flip times of selected keyframes, effectively reversing the order they appear in.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.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()
Set Preview Range based on range of selected 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, use_curve_selection=True, 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
use_curve_selection (boolean, (optional)) – Select Curves, Allow selecting all the keyframes of a curve by selecting the calculated fcurve
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', use_curve_selection=True)
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.
use_curve_selection (boolean, (optional)) – Select Curves, Allow selecting all the keyframes of a curve by selecting the curve itself
- 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', use_curve_selection=True)
Select keyframe points using lasso selection
- Parameters
path (
bpy_prop_collection
ofOperatorMousePath
, (optional)) – Pathmode (enum in ['SET', 'ADD', 'SUB'], (optional)) –
Mode
SET
Set – Set a new selection.ADD
Extend – Extend existing selection.SUB
Subtract – Subtract existing selection.
use_curve_selection (boolean, (optional)) – Select Curves, Allow selecting all the keyframes of a curve by selecting the curve itself
- 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
Selection to Current Frame – Snap selected keyframes to the current frame.VALUE
Selection to Cursor Value – Set values of selected keyframes to the cursor value (Y/Horizontal component).NEAREST_FRAME
Selection to Nearest Frame – Snap selected keyframes to the nearest (whole) frame (use to fix accidental subframe 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.HORIZONTAL
Flatten Handles – Flatten handles for a smoother transition.
- bpy.ops.graph.snap_cursor_value()
Place the cursor value on the average value of selected keyframes
- 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_obj=False, filter_volume=False, filter_folder=True, filter_blenlib=False, filemode=9, show_multiview=False, use_multiview=False, display_type='DEFAULT', sort_method='', 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_obj (boolean, (optional)) – Filter OBJ files
filter_volume (boolean, (optional)) – Filter OpenVDB volume 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 [], (optional)) – File sorting mode
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.unbake()
Un-Bake selected F-Points to F-Curves
- 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()
Move the view to the 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