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

  1. Add https://caliper.fit/mcp/ to your agent or CI tool configuration
  2. Define validation rules per asset category (poly budgets, required formats, dimension limits)
  3. Start with caliper_detect_format for free format gating
  4. Add caliper_auto_stats for full metadata validation on assets that pass format checks

Guides: Getting Started with MCP | Getting Started with REST