user: Give a detailed overview of Export Scene Operators: syntax, arguments, return values, common patterns.

assistant: # Export Scene Operators

bpy.ops.export_scene.fbx(*\**, *filepath=''*, *check_existing=True*, *filter_glob='\*.fbx'*, *use_selection=False*, *use_visible=False*, *use_active_collection=False*, *collection=''*, *global_scale=1.0*, *apply_unit_scale=True*, *apply_scale_options='FBX_SCALE_NONE'*, *use_space_transform=True*, *bake_space_transform=False*, *object_types={'ARMATURE', 'CAMERA', 'EMPTY', 'LIGHT', 'MESH', 'OTHER'}*, *use_mesh_modifiers=True*, *use_mesh_modifiers_render=True*, *mesh_smooth_type='OFF'*, *colors_type='SRGB'*, *prioritize_active_color=False*, *use_subsurf=False*, *use_mesh_edges=False*, *use_tspace=False*, *use_triangles=False*, *use_custom_props=False*, *add_leaf_bones=True*, *primary_bone_axis='Y'*, *secondary_bone_axis='X'*, *use_armature_deform_only=False*, *armature_nodetype='NULL'*, *bake_anim=True*, *bake_anim_use_all_bones=True*, *bake_anim_use_nla_strips=True*, *bake_anim_use_all_actions=True*, *bake_anim_force_startend_keying=True*, *bake_anim_step=1.0*, *bake_anim_simplify_factor=1.0*, *path_mode='AUTO'*, *embed_textures=False*, *batch_mode='OFF'*, *use_batch_own_dir=True*, *use_metadata=True*, *axis_forward='-Z'*, *axis_up='Y'*)
:   Write a FBX file

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Filepath used for exporting the file
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – filter_glob
        - **use_selection** (*boolean**,* *(**optional**)*) – Selected Objects, Export selected and visible objects only
        - **use_visible** (*boolean**,* *(**optional**)*) – Visible Objects, Export visible objects only
        - **use_active_collection** (*boolean**,* *(**optional**)*) – Active Collection, Export only objects from the active collection (and its children)
        - **collection** (*string**,* *(**optional**,* *never None**)*) – Source Collection, Export only objects from this collection (and its children)
        - **global_scale** (*float in* *[**0.001**,* *1000**]**,* *(**optional**)*) – Scale, Scale all data (Some importers do not support scaled armatures!)
        - **apply_unit_scale** (*boolean**,* *(**optional**)*) – Apply Unit, Take into account current Blender units settings (if unset, raw Blender Units values are used as-is)
        - **apply_scale_options** (enum in [`'FBX_SCALE_NONE'`, `'FBX_SCALE_UNITS'`, `'FBX_SCALE_CUSTOM'`, `'FBX_SCALE_ALL'`], (optional)) –

          Apply Scalings, How to apply custom and units scalings in generated FBX file (Blender uses FBX scale to detect units on import, but many other applications do not handle the same way)

          - `FBX_SCALE_NONE`
            All Local – Apply custom scaling and units scaling to each object transformation, FBX scale remains at 1.0.
          - `FBX_SCALE_UNITS`
            FBX Units Scale – Apply custom scaling to each object transformation, and units scaling to FBX scale.
          - `FBX_SCALE_CUSTOM`
            FBX Custom Scale – Apply custom scaling to FBX scale, and units scaling to each object transformation.
          - `FBX_SCALE_ALL`
            FBX All – Apply custom scaling and units scaling to FBX scale.
        - **use_space_transform** (*boolean**,* *(**optional**)*) – Use Space Transform, Apply global space transform to the object rotations. When disabled only the axis space is written to the file and all object transforms are left as-is
        - **bake_space_transform** (*boolean**,* *(**optional**)*) – Apply Transform, Bake space transform into object data, avoids getting unwanted rotations to objects when target space is not aligned with Blender’s space (WARNING! experimental option, use at own risk, known to be broken with armatures/animations)
        - **object_types** (enum set in {`'EMPTY'`, `'CAMERA'`, `'LIGHT'`, `'ARMATURE'`, `'MESH'`, `'OTHER'`}, (optional)) –

          Object Types, Which kind of object to export

          - `EMPTY`
            Empty.
          - `CAMERA`
            Camera.
          - `LIGHT`
            Lamp.
          - `ARMATURE`
            Armature – WARNING: not supported in dupli/group instances.
          - `MESH`
            Mesh.
          - `OTHER`
            Other – Other geometry types, like curve, metaball, etc. (converted to meshes).
        - **use_mesh_modifiers** (*boolean**,* *(**optional**)*) – Apply Modifiers, Apply modifiers to mesh objects (except Armature ones) - WARNING: prevents exporting shape keys
        - **use_mesh_modifiers_render** (*boolean**,* *(**optional**)*) – Use Modifiers Render Setting, Use render settings when applying modifiers to mesh objects (DISABLED in Blender 2.8)
        - **mesh_smooth_type** (enum in [`'OFF'`, `'FACE'`, `'EDGE'`, `'SMOOTH_GROUP'`], (optional)) –

          Smoothing, Export smoothing information (prefer ‘Normals Only’ option if your target importer understands custom normals)

          - `OFF`
            Normals Only – Export only normals instead of writing edge or face smoothing data.
          - `FACE`
            Face – Write face smoothing.
          - `EDGE`
            Edge – Write edge smoothing.
          - `SMOOTH_GROUP`
            Smoothing Groups – Write face smoothing groups.
        - **colors_type** (enum in [`'NONE'`, `'SRGB'`, `'LINEAR'`], (optional)) –

          Vertex Colors, Export vertex color attributes

          - `NONE`
            None – Do not export color attributes.
          - `SRGB`
            sRGB – Export colors in sRGB color space.
          - `LINEAR`
            Linear – Export colors in linear color space.
        - **prioritize_active_color** (*boolean**,* *(**optional**)*) – Prioritize Active Color, Make sure active color will be exported first. Could be important since some other software can discard other color attributes besides the first one
        - **use_subsurf** (*boolean**,* *(**optional**)*) – Export Subdivision Surface, Export the last Catmull-Rom subdivision modifier as FBX subdivision (does not apply the modifier even if ‘Apply Modifiers’ is enabled)
        - **use_mesh_edges** (*boolean**,* *(**optional**)*) – Loose Edges, Export loose edges (as two-vertices polygons)
        - **use_tspace** (*boolean**,* *(**optional**)*) – Tangent Space, Add binormal and tangent vectors, together with normal they form the tangent space (will only work correctly with tris/quads only meshes!)
        - **use_triangles** (*boolean**,* *(**optional**)*) – Triangulate Faces, Convert all faces to triangles
        - **use_custom_props** (*boolean**,* *(**optional**)*) – Custom Properties, Export custom properties
        - **add_leaf_bones** (*boolean**,* *(**optional**)*) – Add Leaf Bones, Append a final bone to the end of each chain to specify last bone length (use this when you intend to edit the armature from exported data)
        - **primary_bone_axis** (enum in [`'X'`, `'Y'`, `'Z'`, `'-X'`, `'-Y'`, `'-Z'`], (optional)) – Primary Bone Axis
        - **secondary_bone_axis** (enum in [`'X'`, `'Y'`, `'Z'`, `'-X'`, `'-Y'`, `'-Z'`], (optional)) – Secondary Bone Axis
        - **use_armature_deform_only** (*boolean**,* *(**optional**)*) – Only Deform Bones, Only write deforming bones (and non-deforming ones when they have deforming children)
        - **armature_nodetype** (enum in [`'NULL'`, `'ROOT'`, `'LIMBNODE'`], (optional)) –

          Armature FBXNode Type, FBX type of node (object) used to represent Blender’s armatures (use the Null type unless you experience issues with the other app, as other choices may not import back perfectly into Blender…)

          - `NULL`
            Null – ‘Null’ FBX node, similar to Blender’s Empty (default).
          - `ROOT`
            Root – ‘Root’ FBX node, supposed to be the root of chains of bones….
          - `LIMBNODE`
            LimbNode – ‘LimbNode’ FBX node, a regular joint between two bones….
        - **bake_anim** (*boolean**,* *(**optional**)*) – Baked Animation, Export baked keyframe animation
        - **bake_anim_use_all_bones** (*boolean**,* *(**optional**)*) – Key All Bones, Force exporting at least one key of animation for all bones (needed with some target applications, like UE4)
        - **bake_anim_use_nla_strips** (*boolean**,* *(**optional**)*) – NLA Strips, Export each non-muted NLA strip as a separated FBX’s AnimStack, if any, instead of global scene animation
        - **bake_anim_use_all_actions** (*boolean**,* *(**optional**)*) – All Actions, Export each action as a separated FBX’s AnimStack, instead of global scene animation (note that animated objects will get all actions compatible with them, others will get no animation at all)
        - **bake_anim_force_startend_keying** (*boolean**,* *(**optional**)*) – Force Start/End Keying, Always add a keyframe at start and end of actions for animated channels
        - **bake_anim_step** (*float in* *[**0.01**,* *100**]**,* *(**optional**)*) – Sampling Rate, How often to evaluate animated values (in frames)
        - **bake_anim_simplify_factor** (*float in* *[**0**,* *100**]**,* *(**optional**)*) – Simplify, How much to simplify baked values (0.0 to disable, the higher the more simplified)
        - **path_mode** (enum in [`'AUTO'`, `'ABSOLUTE'`, `'RELATIVE'`, `'MATCH'`, `'STRIP'`, `'COPY'`], (optional)) –

          Path Mode, Method used to reference paths

          - `AUTO`
            Auto – Use relative paths with subdirectories only.
          - `ABSOLUTE`
            Absolute – Always write absolute paths.
          - `RELATIVE`
            Relative – Write relative paths where possible.
          - `MATCH`
            Match – Match absolute/relative setting with input path.
          - `STRIP`
            Strip – Filename only.
          - `COPY`
            Copy – Copy the file to the destination path (or subdirectory).
        - **embed_textures** (*boolean**,* *(**optional**)*) – Embed Textures, Embed textures in FBX binary file (only for “Copy” path mode!)
        - **batch_mode** (enum in [`'OFF'`, `'SCENE'`, `'COLLECTION'`, `'SCENE_COLLECTION'`, `'ACTIVE_SCENE_COLLECTION'`], (optional)) –

          Batch Mode

          - `OFF`
            Off – Active scene to file.
          - `SCENE`
            Scene – Each scene as a file.
          - `COLLECTION`
            Collection – Each collection (data-block ones) as a file, does not include content of children collections.
          - `SCENE_COLLECTION`
            Scene Collections – Each collection (including master, non-data-block ones) of each scene as a file, including content from children collections.
          - `ACTIVE_SCENE_COLLECTION`
            Active Scene Collections – Each collection (including master, non-data-block one) of the active scene as a file, including content from children collections.
        - **use_batch_own_dir** (*boolean**,* *(**optional**)*) – Batch Own Dir, Create a dir for each exported file
        - **use_metadata** (*boolean**,* *(**optional**)*) – Use Metadata
        - **axis_forward** (enum in [`'X'`, `'Y'`, `'Z'`, `'-X'`, `'-Y'`, `'-Z'`], (optional)) – Forward
        - **axis_up** (enum in [`'X'`, `'Y'`, `'Z'`, `'-X'`, `'-Y'`, `'-Z'`], (optional)) – Up

    File:
    :   [addons_core/io_scene_fbx/__init__.py:598](https://projects.blender.org/blender/blender/src/branch/main/scripts/addons_core/io_scene_fbx/__init__.py#L598)

bpy.ops.export_scene.gltf(*\**, *filepath=''*, *check_existing=True*, *export_import_convert_lighting_mode='SPEC'*, *gltf_export_id=''*, *export_use_gltfpack=False*, *export_gltfpack_tc=True*, *export_gltfpack_tq=8*, *export_gltfpack_si=1.0*, *export_gltfpack_sa=False*, *export_gltfpack_slb=False*, *export_gltfpack_vp=14*, *export_gltfpack_vt=12*, *export_gltfpack_vn=8*, *export_gltfpack_vc=8*, *export_gltfpack_vpi='Integer'*, *export_gltfpack_noq=True*, *export_gltfpack_kn=False*, *export_format=''*, *ui_tab='GENERAL'*, *export_copyright=''*, *export_image_format='AUTO'*, *export_image_add_webp=False*, *export_image_webp_fallback=False*, *export_texture_dir=''*, *export_jpeg_quality=75*, *export_image_quality=75*, *export_keep_originals=False*, *export_texcoords=True*, *export_normals=True*, *export_gn_mesh=False*, *export_draco_mesh_compression_enable=False*, *export_draco_mesh_compression_level=6*, *export_draco_position_quantization=14*, *export_draco_normal_quantization=10*, *export_draco_texcoord_quantization=12*, *export_draco_color_quantization=10*, *export_draco_generic_quantization=12*, *export_tangents=False*, *export_materials='EXPORT'*, *export_unused_images=False*, *export_unused_textures=False*, *export_vertex_color='MATERIAL'*, *export_vertex_color_name='Color'*, *export_all_vertex_colors=True*, *export_active_vertex_color_when_no_material=True*, *export_attributes=False*, *use_mesh_edges=False*, *use_mesh_vertices=False*, *export_cameras=False*, *use_selection=False*, *use_visible=False*, *use_renderable=False*, *use_active_collection_with_nested=True*, *use_active_collection=False*, *use_active_scene=False*, *collection=''*, *at_collection_center=False*, *export_extras=False*, *export_yup=True*, *export_apply=False*, *export_shared_accessors=False*, *export_animations=True*, *export_frame_range=False*, *export_frame_step=1*, *export_force_sampling=True*, *export_sampling_interpolation_fallback='LINEAR'*, *export_pointer_animation=False*, *export_animation_mode='ACTIONS'*, *export_nla_strips_merged_animation_name='Animation'*, *export_def_bones=False*, *export_hierarchy_flatten_bones=False*, *export_hierarchy_flatten_objs=False*, *export_armature_object_remove=False*, *export_leaf_bone=False*, *export_optimize_animation_size=True*, *export_optimize_animation_keep_anim_armature=True*, *export_optimize_animation_keep_anim_object=False*, *export_optimize_disable_viewport=False*, *export_negative_frame='SLIDE'*, *export_anim_slide_to_zero=False*, *export_bake_animation=False*, *export_merge_animation='ACTION'*, *export_anim_single_armature=True*, *export_reset_pose_bones=True*, *export_current_frame=False*, *export_rest_position_armature=True*, *export_anim_scene_split_object=True*, *export_skins=True*, *export_influence_nb=4*, *export_all_influences=False*, *export_morph=True*, *export_morph_normal=True*, *export_morph_tangent=False*, *export_morph_animation=True*, *export_morph_reset_sk_data=True*, *export_lights=False*, *export_try_sparse_sk=True*, *export_try_omit_sparse_sk=False*, *export_gpu_instances=False*, *export_action_filter=False*, *export_convert_animation_pointer=False*, *export_nla_strips=True*, *export_original_specular=False*, *will_save_settings=False*, *export_hierarchy_full_collections=False*, *export_extra_animations=False*, *export_loglevel=-1*, *filter_glob='\*.glb'*)
:   Export scene as glTF 2.0 file

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Filepath used for exporting the file
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **export_import_convert_lighting_mode** (enum in [`'SPEC'`, `'COMPAT'`, `'RAW'`], (optional)) –

          Lighting Mode, Optional backwards compatibility for non-standard render engines. Applies to lights

          - `SPEC`
            Standard – Physically-based glTF lighting units (cd, lx, nt).
          - `COMPAT`
            Unitless – Non-physical, unitless lighting. Useful when exposure controls are not available.
          - `RAW`
            Raw (Deprecated) – Blender lighting strengths with no conversion.
        - **gltf_export_id** (*string**,* *(**optional**,* *never None**)*) – Identifier, Identifier of caller (in case of add-on calling this exporter). Can be useful in case of Extension added by other add-ons
        - **export_use_gltfpack** (*boolean**,* *(**optional**)*) – Use Gltfpack, Use gltfpack to simplify the mesh and/or compress its textures
        - **export_gltfpack_tc** (*boolean**,* *(**optional**)*) – KTX2 Compression, Convert all textures to KTX2 with BasisU supercompression
        - **export_gltfpack_tq** (*int in* *[**1**,* *10**]**,* *(**optional**)*) – Texture Encoding Quality, Texture encoding quality
        - **export_gltfpack_si** (*float in* *[**0**,* *1**]**,* *(**optional**)*) – Mesh Simplification Ratio, Simplify meshes targeting triangle count ratio
        - **export_gltfpack_sa** (*boolean**,* *(**optional**)*) – Aggressive Mesh Simplification, Aggressively simplify to the target ratio disregarding quality
        - **export_gltfpack_slb** (*boolean**,* *(**optional**)*) – Lock Mesh Border Vertices, Lock border vertices during simplification to avoid gaps on connected meshes
        - **export_gltfpack_vp** (*int in* *[**1**,* *16**]**,* *(**optional**)*) – Position Quantization, Use N-bit quantization for positions
        - **export_gltfpack_vt** (*int in* *[**1**,* *16**]**,* *(**optional**)*) – Texture Coordinate Quantization, Use N-bit quantization for texture coordinates
        - **export_gltfpack_vn** (*int in* *[**1**,* *16**]**,* *(**optional**)*) – Normal/Tangent Quantization, Use N-bit quantization for normals and tangents
        - **export_gltfpack_vc** (*int in* *[**1**,* *16**]**,* *(**optional**)*) – Vertex Color Quantization, Use N-bit quantization for colors
        - **export_gltfpack_vpi** (enum in [`'Integer'`, `'Normalized'`, `'Floating-point'`], (optional)) –

          Vertex Position Attributes, Type to use for vertex position attributes

          - `Integer`
            Integer – Use integer attributes for positions.
          - `Normalized`
            Normalized – Use normalized attributes for positions.
          - `Floating-point`
            Floating-point – Use floating-point attributes for positions.
        - **export_gltfpack_noq** (*boolean**,* *(**optional**)*) – Disable Quantization, Disable quantization; produces much larger glTF files with no ex