Deterministic · Agent-first · No score

The QA gate between AI 3D generators and everything downstream.

POST a GLB or glTF. Get back a machine-readable report card — geometry defects, UV problems, performance-budget violations, plus rendered screenshots. Same file, same profile, same report, byte for byte. An instrument, not an oracle.

Try the live demoRead the docs
curl -X POST https://api.meshcheck.dev/v1/validate \
  -H "X-Api-Key: mc_live_..." \
  -F file=@barrel.glb \
  -F profile=web
Three-quarter studio render of a damaged helmet model produced by meshcheck's fixed camera rig
DamagedHelmet.glbrig: studio · rv 30 rh 45

What gets measured

Eight families of checks. Every result is a measurement.

Each check declares what it measures, its threshold, and a verdict — passwarn fail. Thresholds come from a budget profile you pick (web, mobile, pc,hero) and can be overridden per request. No 0–100 score — a rollup, and the numbers behind it.

SPEC

File & spec conformance

  • SPEC-001 — glTF spec conformance (Khronos validator)
  • SPEC-003 — External references resolvable
  • SPEC-004 — File size vs budget
GEO

Geometry integrity

  • GEO-002 — Open boundaries (holes)
  • GEO-003 — Inconsistent winding / flipped normals
  • GEO-004 — Degenerate triangles
XFM

Transforms & scale

  • XFM-001 — Real-world scale sanity
  • XFM-002 — Origin / pivot placement
  • XFM-003 — Non-uniform node scale
UV

Texture coordinates

  • UV-001 — Missing UVs on textured mesh
  • UV-002 — UV overlap
  • UV-004 — Texel stretch
MAT

Materials & textures

  • MAT-001 — Texture resolution vs budget
  • MAT-002 — Estimated GPU texture memory
  • MAT-004 — Material count
PERF

Performance budget

  • PERF-001 — Triangle count
  • PERF-002 — Vertex count
  • PERF-003 — Draw call estimate
RND

Render checks

  • RND-001 — Renders without error
  • RND-002 — Visible pixels
  • RND-003 — Silhouette coverage
TOP

Topology & surface structure

  • TOP-001 — Quad reconstructibility
  • TOP-002 — Vertex valence regularity
  • TOP-004 — Hard-edge share

The full catalog — every ID, method, and default severity — is in theChecks reference. Vision checks (VIS-*) are the one non-deterministic surface and live behind a separate /inspect endpoint, always labelled deterministic: false.

Live demo

Drop a model. Read the report.

This runs the real API on a rate-limited demo key. Screenshots are watermarked; uploaded bytes are deleted immediately after processing. Bring your own .glb/.gltf/.zip (up to 4.4 MB here), or try the bundled sample.

Drop a model here, or click to browse
.glb · .gltf · .zip bundle — up to 4.4 MB · profile: web

For agents

Built to be driven without a human.

Structured JSON, stable check IDs, a versioned schema, and one-fetch orientation. Themeshcheck-mcp server hands any MCP client — Claude Code, Claude Desktop, Cursor — the four tools: validate_model, render_model, inspect_model,get_report. It reads models straight off disk by path.

Register in Claude Code

claude mcp add meshcheck -s project \
  -e MESHCHECK_API_KEY=mc_live_... \
  -- npx -y meshcheck-mcp

Or drop into any MCP config

{
  "mcpServers": {
    "meshcheck": {
      "command": "npx",
      "args": ["-y", "meshcheck-mcp"],
      "env": { "MESHCHECK_API_KEY": "mc_live_..." }
    }
  }
}

Agent orientation in one fetch: llms.txt. Machine contract:openapi.json and thereport JSON Schema. Full walkthrough in theMCP guide.

Pricing

Credits, not seats.

A full validation (checks + renderer) costs 2 credits; checks-only costs 1. Re-fetching a stored report, the account endpoint, and schema fetches are free.

PlanPriceCredits/moRate limitMax file
Free$030010/min25 MB
Indie$103,00030/min100 MB
Studio$3910,00060/min250 MB
Scale$13940,000120/min250 MB

Free is generous but limiting on purpose: 300 credits is roughly 150 full validations a month — enough to wire a pipeline and feel the ceiling. Unused credits don't roll over. Scale is a hard cap at 40,000 credits a month — no metered overage in v1; larger volumes are handled directly. Paid plans run on Polar, our merchant of record: pick a plan, check out, and the month's credits land on your account. The free tier and the demo above need no card.

Privacy is a feature

What we keep, and for how long.

These are product commitments — stated here, enforced in code, and repeated verbatim in llms.txt.

  • Uploaded model bytes: deleted immediately after processing completes (success or failure). Never written to logs or backups.
  • Reports (JSON): 30 days, then hard-deleted.
  • Screenshots: stored 30 days, served only via signed URLs bound to report expiry.