Analyze Your First STL File in 60 Seconds


No account. No SDK. One HTTP request. Here’s how to get structured metadata from any STL file in under a minute.

The free check: detect the format

Start with format detection — it’s free and confirms everything is working:

curl -X POST https://caliper.fit/tools/caliper_detect_format \
  -H "Content-Type: application/json" \
  -d '{"file_url": "https://raw.githubusercontent.com/mikedh/trimesh/main/models/featuretype.STL"}'

You’ll get back:

{
  "format": "stl",
  "subformat": "binary",
  "file_size_bytes": 97284
}

That took about 200ms. Your file is an STL. Now let’s get the full picture.

The full analysis

Call caliper_auto_stats for complete metadata extraction:

curl -X POST https://caliper.fit/tools/caliper_auto_stats \
  -H "Content-Type: application/json" \
  -d '{"file_url": "https://raw.githubusercontent.com/mikedh/trimesh/main/models/featuretype.STL"}'

This is a paid endpoint (x402 micropayment in USDC on Base). The response includes everything an agent — or a human — needs to reason about the file:

{
  "format": "stl_binary",
  "vertices": 1206,
  "triangles": 2400,
  "bounding_box": {
    "min": [-5.0, -5.0, 0.0],
    "max": [5.0, 5.0, 10.0]
  },
  "surface_area": 478.32,
  "volume": 392.67,
  "is_manifold": true,
  "is_watertight": true
}

(Values shown are illustrative — actual results depend on the file.)

What you just got

In one API call:

  • Triangle and vertex counts — is this a 10K-poly prototype or a 2M-poly production mesh?
  • Bounding box — spatial extents in all three axes, useful for fit checks and coordinate validation
  • Surface area and volume — only meaningful for watertight meshes, and Caliper tells you if it is one
  • Manifold and watertight checks — the two most common quality gates in manufacturing and 3D printing pipelines

Try it with your own file

Replace the URL with any publicly accessible STL file:

curl -X POST https://caliper.fit/tools/caliper_auto_stats \
  -H "Content-Type: application/json" \
  -d '{"file_url": "https://your-server.com/your-model.stl"}'

Or send a local file as base64 (under 200 KB):

FILE_B64=$(base64 -w0 model.stl)
curl -X POST https://caliper.fit/tools/caliper_auto_stats \
  -H "Content-Type: application/json" \
  -d "{\"file_b64\": \"$FILE_B64\", \"filename\": \"model.stl\"}"

For MCP users

If you’re using Claude Desktop, Cursor, or another MCP client, just add the server and ask:

“Analyze this STL file: https://raw.githubusercontent.com/mikedh/trimesh/main/models/featuretype.STL

Your agent handles the rest — format detection, tool selection, and payment — automatically.

MCP endpoint: https://caliper.fit/mcp/

What’s next

60 seconds was generous. You probably finished in 30.