Reference
Formats
Printy3D accepts 22 file extensions: meshes, CAD, Gaussian splats, point clouds, DICOM and archives. Results come back as GLB, OBJ (with textures), 3MF, STL or PLY.
Input formats#
The file name's extension names the format; at completion the API checks that the bytes really are that container and gives the file its kind. An archive is never trusted on its extension alone.
| Extension | kind | Notes |
|---|---|---|
.stl | mesh | |
.obj | mesh | Geometry only. An OBJ that names materials (mtllib / usemtl) must come in a ZIP with its MTL and textures; on its own it is rejected with obj_materials_unsupported. |
.3mf | mesh | Including the BambuStudio production extension. |
.ply | mesh, splat or pointcloud | Decided by the header: faces make a mesh; no faces with Gaussian-splat columns (scale_*, rot_*) a splat; no faces otherwise a point cloud. |
.gltf, .glb | mesh | |
.fbx | mesh | |
.vrm | mesh | VRM avatars. |
.wrl | mesh | VRML. |
.dae | mesh | COLLADA. |
.off | mesh | |
.step, .stp | cad | Each body is converted to a mesh; an assembly’s repair also returns its parts one by one (result_parts_zip). Exact Check (cad_check) measures STEP files, alone or as a ZIP of an assembly, without changing them. |
.dcm, .dicom | medical | A DICOM series arrives inside an archive. |
.las, .laz | pointcloud | LiDAR point clouds. |
.zip | archive | The usual way to send textures. LZMA- and PPMd-compressed ZIPs are not supported. |
.tar, .tgz, .tar.gz | archive | |
.rar | archive | Accepted; see the note below. |
.7z is refused. Images, vectors and documents are not 3D inputs.
Textures and colour#
Colour survives the whole pipeline. Send a textured model as one file that carries its textures (GLB, 3MF, VRM, FBX) or as a ZIP of the model, its material file and its texture images (OBJ + MTL + PNG/JPG). Repairs project the texture back onto the rebuilt surface and return it in the GLB and the OBJ ZIP.
Checking a format#
/v1/formatsfiles:readLists every format as {ext, kind, enabled, test_enabled}: enabled means live jobs may process it, test_enabled that the sandbox accepts it. A format can be accepted as an upload and still not be enabled for live jobs; a live job on it then answers 501 feature_unavailable.
Output formats#
| Format | Where it comes from |
|---|---|
| GLB | Repairs (result_glb), mesh tools, inspect's preview; any export |
| OBJ (ZIP with MTL and textures) | Repairs (result_obj_zip), mesh tools; any export |
| 3MF | Repairs when the engine writes it (result_3mf); any export |
| STL, PLY | An export or the convert tool |
| JPG | Inspect thumbnails |
| JSON | Analyses, measurements and tool results |

