File formats, units and print reports
C3D-DOCS-04 · REV AEvery Creations3D model is built as a GLB in metres, sized so its largest side matches the size you asked for. STL and 3MF exports are in millimetres, are automatically repaired, and come with a print report that says whether the repair produced one closed solid; OBJ is geometry only in the units you asked for; FBX is the original quad mesh when a quad mesh was built. Exports are free and are made once, then reused. USDZ is not available.
Formats
| Format | Units and axes | What it is for |
|---|---|---|
| GLB | Metres, Y up (glTF) | Web, three.js, Unity, Godot, Blender. Textured. The file every model starts as. |
| STL | Millimetres, Z up | Any slicer. Geometry only, automatic repair, flat base by default. |
| 3MF | Millimetres (stored in the file), Z up | Slicers that read units, such as Bambu Studio and PrusaSlicer. Same geometry and repair as STL. |
| OBJ | The units you asked for, Y up | Blender and most 3D apps. Geometry only. |
| FBX | As built | The original quad mesh for editing or rigging. Only for models built as quads: quad on, with a description and no photo, or with use_for game. The model's sourceUrl is set when it exists. It cannot be resized. |
Get files with the MCP export_model tool or on the website. The REST API returns the GLB link only.
Size and units
target_sizewithunits(mm, cm or m) sets the largest side. "target_size 50, units mm" gives a GLB whose largest side is 0.05 m and an STL whose largest side is 50 mm.- The model's
dimensionsfield gives x, y and z with their units; export results give the dimensions of that file. - Resizing a finished model on the website is free and makes new files at the new size.
Triangles and textures
The default triangle budget and texture size depend on use_for. Pass max_triangles or texture_size to change them.
| use_for | Triangles | Texture (pixels) |
|---|---|---|
| web | 50,000 | 1024 |
| game | 5,000 | 1024 |
| 200,000 | 1024 | |
| render | 500,000 | 2048 |
- max_triangles accepts 1,000 to 500,000; texture_size accepts 512, 1024 or 2048.
- export_model can also make a lighter GLB with its own max_triangles.
- STL, 3MF and OBJ are refused for meshes above 500,000 triangles. A successfully repaired STL or 3MF has at most 300,000.
Print repair and the print report
STL and 3MF exports try to rebuild the surface as one closed solid at your size, add a flat base (turn it off with flat_base false), and then check the file that was written. If the repair does not pass every check, you get the original surface with repairSucceeded false and a warning to check it in your slicer. The export result carries a printReport:
| Field | Meaning |
|---|---|
repairSucceeded | true when every check below passed on the file that was written. false means the original surface was exported instead, with a warning to check it in your slicer. |
watertight | Every edge is shared by exactly two triangles, so the surface is closed. |
bodies | Number of separate solids. 1 after a successful repair. |
boundaryEdges, nonManifoldEdges | Open edges and edges shared by more than two triangles. 0 after a successful repair. |
inconsistentEdges, nonManifoldVertices | Flipped faces and pinched vertices. 0 after a successful repair. |
volume | Enclosed volume in cubic millimetres. |
grounded, flatBaseCreated | The model sits on Z = 0, with a flat base when flat_base is on. |
meanDeviationPercent, sampledHausdorffPercent | How far the repaired surface moved, as a percentage of the model's size. The second is a sampled lower bound, not a certified maximum. |
note | A plain sentence. After a successful repair it says the solid was verified and that wall thickness and overhangs were not analysed; after a failed one it tells you to inspect and repair the model in a slicer. |
Wall thickness, minimum feature size, overhangs and supports are not checked. Fine details can thicken or disappear in the repair. The ChatGPT STL for 3D printing guide shows our test on five real models.
Download links
- Links are signed and expire after 15 minutes. Read the model again, or export again, for a fresh link.
- MCP clients can read the file itself instead, as base64, from the
resourceUrithat export_model returns. - There are no public file URLs: a link without a valid signature does not work.