Skip to main content

Convert - STEP to glTF (.glb), advanced options

POST 

/api/v1/convert/step-to-gltf-advanced

Full-control STEP → glTF conversion with fine-grained mesh, export, and coordinate options. Requires the 'convert' API key scope. Returns 202 with a task ID.

Request

Responses

Task accepted

Reference

POST /api/v1/convert/step-to-gltf-advanced

Full-control STEP → glTF conversion with fine-grained mesh, export, and coordinate options. Requires the 'convert' API key scope. Returns 202 with a task ID.

Request body

Content type: application/json (required)

FieldTypeRequiredDescription
stepFileIdstringyesID of the previously uploaded STEP file (returned by the file upload endpoint)
optionsobjectnoFine-grained options controlling STEP → glTF conversion: tessellation quality, attribute extraction, coordinate systems, and output format.
options.readColorsbooleannoExtract color attributes from the STEP file and apply to glTF materials
options.readNamesbooleannoExtract product/instance names from the STEP file and apply to glTF node names
options.readMaterialsbooleannoExtract material definitions from the STEP file
options.readLayersbooleannoExtract layer/group structure from the STEP file
options.readPropsbooleannoExtract custom properties (e.g. part numbers, metadata) from the STEP file
options.meshDeflectionnumbernoMesh tessellation precision (lower = finer). Range: [0.0001, 10]
options.meshAnglenumbernoMesh angular deflection in radians. Range: [0.01, π]
options.meshParallelbooleannoEnable parallel tessellation for faster processing
options.meshRelativebooleannoUse size-aware relative deflection per face. When true, meshDeflection is a fraction of each edge's length. Set to false for absolute deflection in model units.
options.internalVerticesModebooleannoAdd interior vertices for better curved face fidelity (slower, set false for speed).
options.controlSurfaceDeflectionbooleannoExtra post-pass refining triangles that bulge beyond the deflection (slower, set false for speed).
options.faceCountThresholdintegernoFace count threshold for per-sub-shape meshing fallback. Default -1 means single-pass meshing of the whole compound (fastest). Set to a positive value (e.g. 100000) to fall back to per-solid meshing for very large assemblies in memory-constrained environments.
options.mergeFacesbooleannoMerge co-planar adjacent faces to reduce mesh complexity
options.splitIndices16booleannoSplit meshes so each uses 16-bit index buffers (max 65535 vertices per mesh). Improves compatibility with some renderers.
options.parallelWritebooleannoWrite glTF output in parallel for faster file generation
options.embedTexturesbooleannoEmbed texture data directly in the .glb file instead of referencing external URIs
options.forceUVExportbooleannoGenerate UV coordinates even when no textures are present (useful for post-processing)
options.nodeNameFormatempty | product | instance | instanceOrProduct | productOrInstance | productAndInstance | productAndInstanceAndOcafnoHow node/mesh names are derived from STEP product/instance labels
options.meshNameFormatempty | product | instance | instanceOrProduct | productOrInstance | productAndInstance | productAndInstanceAndOcafnoHow node/mesh names are derived from STEP product/instance labels
options.transformFormatcompact | mat4 | trsnoTransform representation in glTF output
options.adjustZtoYbooleannoConvert from Z-up (CAD convention) to Y-up (glTF/WebGL convention) coordinate system
options.scalenumbernoUniform scale factor. Range: [1e-6, 1000]

Responses

StatusDescription
202Task accepted
400Validation error
403Insufficient scope
500Server error

Example request

curl -X POST "https://api.bitbybit.dev/api/v1/convert/step-to-gltf-advanced" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ ... }'

Authentication: send your key in the x-api-key header. The full machine-readable specification is at openapi.json.