import bpy bpy.ops.object.editmode_toggle() area = [x for x in bpy.context.window.screen.areas if x.type == "VIEW_3D"][0] space = area.spaces[0] region = [x for x in area.regions if x.type == "WINDOW"][0] _dict = { "scene": bpy.context.scene, "region": region, "area": area, "space": space, } with bpy.context.temp_override( scene=_dict["scene"], region=_dict["region"], area=_dict["area"], space=_dict["space"], ): bpy.ops.mesh.loopcut_slide( MESH_OT_loopcut={ "number_cuts": 3, "smoothness": 0, "falloff": "INVERSE_SQUARE", "object_index": 0, "edge_index": 1, "mesh_select_mode_init": (True, False, False), }, TRANSFORM_OT_edge_slide={ "value": 0, "mirror": False, "snap": False, "correct_uv": False, "release_confirm": False, "use_accurate": False, }, )