Convert - STEP to Draco-compressed glTF (.glb)
POST/api/v1/convert/step-to-gltf-with-draco
STEP → glTF conversion with Draco geometry compression using a previously uploaded file. Requires the 'convert' API key scope. Returns 202 with a task ID.
Request
Responses
- 202
- 400
- 403
- 500
Task accepted
Validation error
Insufficient scope
Server error
Reference
POST /api/v1/convert/step-to-gltf-with-draco
STEP → glTF conversion with Draco geometry compression using a previously uploaded file. Requires the 'convert' API key scope. Returns 202 with a task ID.
Request body
Content type: application/json (required)
| Field | Type | Required | Description |
|---|---|---|---|
stepFileId | string | yes | ID of the previously uploaded STEP file (returned by the file upload endpoint) |
meshPrecision | number | no | Mesh tessellation precision (lower = finer). Range: [0.0001, 10] |
meshAngle | number | no | Mesh angular deflection in radians. Range: [0.01, π] |
meshRelative | boolean | no | Use size-aware relative deflection per face. When true, meshPrecision is a fraction of each edge's length. Set to false for absolute deflection in model units. |
internalVerticesMode | boolean | no | Add interior vertices for better curved face fidelity (slower, set false for speed). |
controlSurfaceDeflection | boolean | no | Extra post-pass refining triangles that bulge beyond the deflection (slower, set false for speed). |
draco | object | no | Draco geometry compression options applied during glTF export. |
draco.useDraco | boolean | no | Apply Draco geometry compression to the glTF output. Defaults to true for the *-with-draco endpoints. |
draco.dracoCompressionLevel | integer | no | Draco compression level (0 = fastest/largest, 10 = slowest/smallest). Typical good default is 7. |
draco.dracoQuantizePositionBits | integer | no | Quantization bits for vertex positions (higher = more precise, larger file). Typical: 14. |
draco.dracoQuantizeNormalBits | integer | no | Quantization bits for normal vectors. Typical: 10. |
draco.dracoQuantizeTexcoordBits | integer | no | Quantization bits for texture coordinates. Typical: 12. |
draco.dracoQuantizeColorBits | integer | no | Quantization bits for vertex colors. Typical: 8. |
draco.dracoQuantizeGenericBits | integer | no | Quantization bits for generic vertex attributes. Typical: 12. |
draco.dracoUnifiedQuantization | boolean | no | Use unified quantization across all meshes (better when meshes share a coordinate frame). |
Responses
| Status | Description |
|---|---|
202 | Task accepted |
400 | Validation error |
403 | Insufficient scope |
500 | Server error |
Example request
curl -X POST "https://api.bitbybit.dev/api/v1/convert/step-to-gltf-with-draco" \
-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.