B
StableMesh
Preview responses and set spending limits for this service through use.mpp.land
Free budget controls, response samples, and reliability routing.
Compliance Checks
All paid ops declare 402 response
MUST
10pt
All x-payment-info valid
MUST
10pt
Challenge has Cache-Control: no-store
MUST
5pt
Challenge digest on POST
SHOULD
3pt
Challenge has expires
SHOULD
3pt
Challenge has Problem Details
SHOULD
2pt
Challenge has required params
MUST
5pt
Challenge has WWW-Authenticate
MUST
5pt
Challenge returns 402
MUST
10pt
Correct Content-Type
MUST
5pt
Has Cache-Control on discovery
SHOULD
5pt
Has input schemas
SHOULD
5pt
Has llms.txt
SHOULD
5pt
Has /openapi.json at root
MUST
10pt
Has required top-level fields
MUST
10pt
Served over HTTPS
MUST
10pt
Uses standard categories
SHOULD
2pt
1 issue
- POST endpoint challenge missing digest parameter (SHOULD per spec)
Paid Operations (7)
POST /api/text-to-3d dynamic
Create a Text to 3D task (preview or refine mode). $0.20–$0.80
- Amount
- map[currency:USD max:1.00 min:0 mode:dynamic]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[currency:USD max:1.00 min:0 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
{
"oneOf": [
{
"properties": {
"ai_model": {
"default": "latest",
"enum": [
"meshy-5",
"meshy-6",
"latest"
],
"type": "string"
},
"art_style": {
"enum": [
"realistic",
"sculpture"
],
"type": "string"
},
"auto_size": {
"default": false,
"type": "boolean"
},
"mode": {
"const": "preview",
"type": "string"
},
"model_type": {
"default": "standard",
"enum": [
"standard",
"lowpoly"
],
"type": "string"
},
"moderation": {
"default": false,
"type": "boolean"
},
"origin_at": {
"enum": [
"bottom",
"center"
],
"type": "string"
},
"pose_mode": {
"enum": [
"a-pose",
"t-pose",
""
],
"type": "string"
},
"prompt": {
"description": "Description of the 3D object to generate",
"maxLength": 600,
"type": "string"
},
"should_remesh": {
"default": false,
"type": "boolean"
},
"symmetry_mode": {
"default": "auto",
"enum": [
"off",
"auto",
"on"
],
"type": "string"
},
"target_formats": {
"items": {
"enum": [
"glb",
"obj",
"fbx",
"stl",
"usdz"
],
"type": "string"
},
"type": "array"
},
"target_polycount": {
"default": 30000,
"maximum": 300000,
"minimum": 100,
"type": "integer"
},
"topology": {
"default": "triangle",
"enum": [
"quad",
"triangle"
],
"type": "string"
}
},
"required": [
"mode",
"prompt"
],
"type": "object"
},
{
"properties": {
"ai_model": {
"default": "latest",
"enum": [
"meshy-5",
"meshy-6",
"latest"
],
"type": "string"
},
"auto_size": {
"default": false,
"type": "boolean"
},
"enable_pbr": {
"default": false,
"type": "boolean"
},
"mode": {
"const": "refine",
"type": "string"
},
"moderation": {
"default": false,
"type": "boolean"
},
"origin_at": {
"enum": [
"bottom",
"center"
],
"type": "string"
},
"preview_task_id": {
"description": "ID of a SUCCEEDED preview task",
"type": "string"
},
"remove_lighting": {
"default": true,
"type": "boolean"
},
"target_formats": {
"items": {
"enum": [
"glb",
"obj",
"fbx",
"stl",
"usdz"
],
"type": "string"
},
"type": "array"
},
"texture_image_url": {
"type": "string"
},
"texture_prompt": {
"maxLength": 600,
"type": "string"
}
},
"required": [
"mode",
"preview_task_id"
],
"type": "object"
}
],
"type": "object"
}
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
POST /api/image-to-3d dynamic
Create an Image to 3D task. $0.20–$1.20
- Amount
- map[currency:USD max:2.00 min:0 mode:dynamic]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[currency:USD max:2.00 min:0 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| ai_model | string | No |
enum: meshy-5, meshy-6, latest default: latest
|
| auto_size | boolean | No | |
| enable_pbr | boolean | No | |
| image_enhancement | boolean | No |
default: true
|
| image_url | string | Yes | Public URL or base64 data URI (.jpg/.jpeg/.png) |
| model_type | string | No |
enum: standard, lowpoly default: standard
|
| moderation | boolean | No | |
| origin_at | string | No |
enum: bottom, center |
| pose_mode | string | No |
enum: a-pose, t-pose, |
| remove_lighting | boolean | No |
default: true
|
| save_pre_remeshed_model | boolean | No | |
| should_remesh | boolean | No | |
| should_texture | boolean | No |
default: true
|
| symmetry_mode | string | No |
enum: off, auto, on default: auto
|
| target_formats | array | No | |
| target_polycount | integer | No |
default: 30000
|
| texture_image_url | string | No | |
| texture_prompt | string | No | |
| topology | string | No |
enum: quad, triangle default: triangle
|
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
POST /api/multi-image-to-3d dynamic
Create a Multi-Image to 3D task (1-4 images). $0.20–$1.20
- Amount
- map[currency:USD max:2.00 min:0 mode:dynamic]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[currency:USD max:2.00 min:0 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| ai_model | string | No |
enum: meshy-5, meshy-6, latest default: latest
|
| auto_size | boolean | No | |
| enable_pbr | boolean | No | |
| image_enhancement | boolean | No |
default: true
|
| image_urls | array | Yes | 1-4 image URLs or base64 data URIs |
| moderation | boolean | No | |
| origin_at | string | No |
enum: bottom, center |
| pose_mode | string | No |
enum: a-pose, t-pose, |
| remove_lighting | boolean | No |
default: true
|
| save_pre_remeshed_model | boolean | No | |
| should_remesh | boolean | No | |
| should_texture | boolean | No |
default: true
|
| symmetry_mode | string | No |
enum: off, auto, on default: auto
|
| target_formats | array | No | |
| target_polycount | integer | No |
default: 30000
|
| texture_image_url | string | No | |
| texture_prompt | string | No | |
| topology | string | No |
enum: quad, triangle default: triangle
|
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
POST /api/retexture dynamic
Retexture an existing 3D model with AI. $0.40
- Amount
- map[amount:0.40 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.40 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| ai_model | string | No |
enum: meshy-5, meshy-6, latest default: latest
|
| enable_original_uv | boolean | No |
default: true
|
| enable_pbr | boolean | No | |
| image_style_url | string | No | URL or data URI for style reference |
| input_task_id | string | No | ID of completed task |
| model_url | string | No | Public URL or data URI (.glb/.gltf/.obj/.fbx/.stl) |
| remove_lighting | boolean | No |
default: true
|
| target_formats | array | No | |
| text_style_prompt | string | No | Text description for texture style |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
POST /api/remesh dynamic
Re-topology and format conversion of 3D models. $0.20
- Amount
- map[amount:0.20 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.20 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| auto_size | boolean | No | |
| convert_format_only | boolean | No | Only convert format, skip remesh processing |
| input_task_id | string | No | ID of completed task to remesh |
| model_url | string | No | Public URL or data URI (.glb/.gltf/.obj/.fbx/.stl) |
| origin_at | string | No |
enum: bottom, center |
| resize_height | number | No | Resize to height in meters (0 = no resize) |
| target_formats | array | No |
default: [glb]
|
| target_polycount | integer | No |
default: 30000
|
| topology | string | No |
enum: quad, triangle default: triangle
|
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
POST /api/rigging dynamic
Auto-rig a humanoid 3D character. $0.20
- Amount
- map[amount:0.20 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.20 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| height_meters | number | No |
Character height in meters
default: 1.7
|
| input_task_id | string | No | ID of completed task |
| model_url | string | No | Public URL or data URI to GLB file |
| texture_image_url | string | No | UV-unwrapped base color texture (PNG) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
POST /api/animation dynamic
Animate a rigged 3D character. $0.12
- Amount
- map[amount:0.12 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: map[amount:0.12 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c0000000000000000000000000000000000001 intent:charge method:tempo]]]
Input Schema
| Field | Type | Required | Description |
|---|---|---|---|
| action_id | integer | Yes | Animation action identifier |
| post_process | object | No | |
| rig_task_id | string | Yes | ID of completed rigging task |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| result | string | The ID of the created task |
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- -
- Currency (challenge)
- USDC.e on Tempo (Tempo)
- Multiple Challenges
- No
Recipients
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
Per-endpoint breakdown
- POST /api/image-to-3d
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
- POST /api/multi-image-to-3d
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
- POST /api/remesh
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
- POST /api/retexture
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
- POST /api/rigging
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
- POST /api/text-to-3d
- 0xfBcA05073748AB9605370732dd70D7A14A0b7146
Security
- TLS Version
- TLSv1.3
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (267ms)
- Challenge
- Reachable (156ms)
- Last Checked
Schema Completeness
- Paid Operations
- 7
- With Input Schema
- 7
- With Description
- 7
Documentation
- Homepage
- -
- API Reference
- -
- llms.txt
- -
Discovery
- OpenAPI URL
- https://stablemesh.dev/openapi.json
- OpenAPI Version
- 3.1.0
- Service Version
- 1.0.0
- Document Size
- 38681 bytes
- Document Hash
- 46f2c73390546d4d50c451a38b13a02def14ed4d6eb0784fb4d6e89c4c23b5ef
Version History (2 snapshots)
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-04-06 | B | 79% | 320ms | Up |
| 2026-04-07 | B | 79% | 502ms | Up |