Use Case: 3D Asset Pipeline Automation with Caliper
Game studios, architectural visualization firms, and 3D content marketplaces all share the same challenge: a steady stream of 3D assets that need validation before they enter production. Poly budgets, format requirements, naming conventions, scene structure — every pipeline has rules, and every rule is broken regularly.
Manual review doesn’t scale. An artist uploads an asset, a tech artist or pipeline TD opens it, checks the stats, flags problems, sends it back. Multiply by hundreds of assets per milestone and the bottleneck is obvious.
Caliper gives agents the metadata to automate this.
Common pipeline checks
Poly budget enforcement
Every real-time pipeline has triangle budgets. A hero character might get 50K triangles. A background prop gets 2K. When an artist submits a 200K-triangle prop, someone has to catch it.
With Caliper, an agent checks the triangle count automatically:
{
"file_url": "https://assets.studio.internal/props/crate-v2.glb",
}
Response includes total vertex and primitive counts across all meshes in the glTF scene. The agent compares against the budget for that asset category and flags overages immediately — no human opens a 3D viewer.
Format validation
Pipelines typically require specific formats at specific stages:
- Source files: glTF/GLB for interchange
- Engine import: FBX or glTF
- Web delivery: compressed GLB
- 3D printing: STL (binary, watertight)
caliper_detect_format (free, no payment) catches format mismatches at intake:
curl -X POST https://caliper.fit/tools/caliper_detect_format \
-H "Content-Type: application/json" \
-d '{"file_url": "https://assets.studio.internal/characters/hero-knight.fbx"}'
If someone uploads an OBJ where the pipeline expects GLB, the agent catches it before downstream tools fail with cryptic errors.
Scene structure validation (glTF)
For glTF/GLB assets, Caliper returns scene hierarchy metadata: node count, mesh count, material count, and animation data. An agent can enforce rules like:
- No more than 3 materials per prop
- Animation clips must exist for character assets
- Scene must have a single root node
Mesh integrity (STL/OBJ/PLY)
For mesh assets destined for 3D printing or simulation, the agent checks:
- Watertight: required for volume-based operations
- Manifold: no self-intersections or non-manifold edges
- Bounding box: dimensions within expected range for the asset class
- Surface area / volume ratio: catches common issues like inverted normals
Workflow: agent-driven asset intake
Artist uploads asset
↓
Agent calls caliper_detect_format (free)
↓ format OK?
Agent calls caliper_auto_stats
↓
Agent checks metadata against pipeline rules
↓
PASS → asset moves to review queue
FAIL → agent posts specific failure to artist with metadata
For batch uploads (end-of-sprint asset dumps, marketplace submissions), caliper_batch_stats handles up to 10 files per request.
Integration examples
With a CI/CD pipeline
Add a Caliper validation step to your asset CI:
import requests
def validate_asset(file_url, max_triangles, required_format):
# Free format check
fmt = requests.post("https://caliper.fit/tools/caliper_detect_format",
json={"file_url": file_url}).json()
if fmt["format"] != required_format:
return f"Wrong format: expected {required_format}, got {fmt['format']}"
# Full analysis
stats = requests.post("https://caliper.fit/tools/caliper_auto_stats",
json={"file_url": file_url}).json()
if stats.get("triangle_count", 0) > max_triangles:
return f"Over budget: {stats['triangle_count']} triangles (max {max_triangles})"
return "PASS"
With an MCP-enabled agent
Any MCP client (Claude, Cursor, custom agents) discovers Caliper’s tools automatically when you add the endpoint. The agent can then reason about assets in natural language:
“Check if this GLB is under 10K triangles and has at least one animation clip.”
The agent calls caliper_auto_stats, reads the response, and answers directly.
Why a remote API for asset pipelines?
- No geometry libraries in your CI — asset validation runs in lightweight containers or serverless functions
- Format-agnostic — one API handles STL, OBJ, PLY, PCD, LAS, glTF instead of per-format tooling
- Consistent metadata — same JSON structure regardless of input format
- Free format detection — catch the cheapest errors (wrong format) for free before paying for full analysis
For a detailed comparison with local libraries, see Caliper vs trimesh/Open3D.
Getting started
- Add
https://caliper.fit/mcp/to your agent or CI tool configuration - Define validation rules per asset category (poly budgets, required formats, dimension limits)
- Start with
caliper_detect_formatfor free format gating - Add
caliper_auto_statsfor full metadata validation on assets that pass format checks
Guides: Getting Started with MCP | Getting Started with REST