Measured geometry in. Verifiable physics out.

Make a GLB ready for physics—without asking an AI to guess.

Rupa3D audits geometry, builds a measured collider, and can add real-scale mass, inertia, and a tested resting pose. Every result carries a Proof Profile your receiver can recompute.

Technical preview · authorized API access · checkout coming soon

Output from our own machine-made asset

One hull hides empty space. Decomposition gets closer—and still faces the gate.

Both images use a table assembled from our own boxes. Every value and verdict below is loaded from the actual local engine output, and both colliders are judged by the same gate. When a result misses it, the page says so.

Block table inside one oversized red convex hull that spans the empty space between the legs
Single convex hullLoading…
Collider / mesh volume
Loading…×
Max gap, collider → mesh
Loading…% of diagonal
Gate
≤ Loading…% of diagonal
Measured reason
Loading…
Block table covered by separate steel-blue VHACD convex parts that follow the top and each leg
VHACD decompositionLoading…
Convex parts
Loading…
Collider / mesh volume
Loading…×
Max gap, collider → mesh
Loading…% of diagonal
Gate
≤ Loading…% of diagonal
Measured reason
Loading…

Chair mass

— kgdensity supplied with the job

Inertia tensor diagonal

—kg·m²

Resting-pose edge margin

— manalytic support + Rapier drop

Collider in this physics-ready chair output: Loading… Loading…. The gate is a request parameter (default shown above); a looser gate is recorded in the proof, never applied silently.

A short, inspectable chain

Upload → job → evidence you recompute

1

Upload one GLB

Binary upload only. The server never fetches a user URL.

2

Choose an operation

Audit, collider, or a physics-ready output with an explicit scale and density.

3

Verify at the receiver

Re-run every claim against the delivered GLB. A one-byte BIN mutation changes the canonical fingerprint.

Quickstart

REST in two calls

Set RUPA3D_API_URL to https://api.migan3d.com and supply your authorized key. For local development, use http://127.0.0.1:8787. No key is embedded here.

curl -H "Authorization: Bearer $RUPA3D_API_KEY" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @model.glb \
  "$RUPA3D_API_URL/v1/aset"

curl -H "Authorization: Bearer $RUPA3D_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: buyer-order-0001" \
  -d '{"aset_id":"aset_...","operasi":"siap_fisika","parameter":{"meter_per_unit":1,"kerapatan_kg_m3":700}}' \
  "$RUPA3D_API_URL/v1/job"

Remote MCP

Use the same metered operation from an MCP client

The technical preview endpoint is https://mcp.migan3d.com/mcp. Supply your authorized key; public checkout is not enabled.

{
  "mcpServers": {
    "rupa3d": {
      "type": "streamable-http",
      "url": "https://mcp.migan3d.com/mcp",
      "headers": {
        "Authorization": "Bearer ${RUPA3D_API_KEY}"
      }
    }
  }
}

Simple credits

Pay for the operation, not a subscription tier

Starter

$950 credits

Studio

$791,000 credits
Credit cost per completed operation
OperationCreditsWhat it returns
Audit1Geometry measurements + Proof Profile
Collider3Single hull or VHACD decomposition + proof
Physics-ready5Scale, collider, mass/inertia when closed, resting pose + proof

Checkout

No Polar link is configured yet. Separate links will be used for each launch channel so attribution remains auditable.

MCP registryComing soon — no payment link configured.
Public launchComing soon — no payment link configured.

Honest limits

What the API will not pretend to know

Privacy by deletion

Inputs and results are deleted after 24 hours.

The service stores only what is needed to process and retrieve a job. An append-only verification log keeps hashes and claim verdicts—not the model itself. No third-party tracker, analytics script, remote font, or advertising pixel is present on this site.

Loading measured proof excerpt…

FAQ

Before you spend a credit

Does Rupa3D fix arbitrary broken meshes?

No. Audit reports what it can measure. Physics-ready mass is withheld when the measured primitives are not closed.

Can I verify a result without trusting your database?

Yes. The delivered GLB embeds the claim inputs and recomputation recipes. The receiver runs the frozen verifier against that file.

Is checkout live?

No. The page reads channel-specific checkout configuration; empty configuration stays visibly “Coming soon.”

How do I ask a technical question?

Email fahmiwol@gmail.com. This public contact address is intentional.