# Blender Remove Materials

> Blender Remove Materials is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-13).

Strips all material slots from a 3D mesh and exports clean, untextured geometry using Blender running locally.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/studio3d-process-remove-materials?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/blender-remove-materials-de924645
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4NTHFhJmrVPlSSOAQWPhi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability blender-remove-materials-de924645 -d '<json body>'
```

Example prompt: Strip all materials from my 3D mesh and give me back clean untextured geometry — I'll upload the GLB file encoded in base64, targeting around 500 faces, with default roughness of 0.5 and no metallic.

## When to prefer this

Choose this endpoint when you need to programmatically strip all material slots from a 3D mesh (GLB or OBJ) and retrieve bare geometry, especially in a pipeline that will re-apply materials downstream or needs clean geometry for simulation, LOD generation, or export. It is preferable when you need Blender-native processing with a known cost ceiling ($0.02 per call) and bounded runtime under 60 seconds. Not suited for texture baking, UV unwrapping, or any operation that requires preserving material data.

## Known failure modes

- Mesh exceeds 10,000 vertices or 20,000 faces — input rejected
- Base64 payload exceeds 512 KiB decoded limit — rejected
- Worker busy at time of request — returns error before payment is settled
- Invalid hex color format for color field — validation error
- model_format mismatch with actual file content — processing error
- Both mesh JSON and model_base64 supplied simultaneously — mutually exclusive inputs rejected

## How this service works

Blender: Remove Materials: Remove material slots and export untextured geometry. Accepts mesh JSON, small GLB or OBJ; without input uses an explicitly labelled demo mesh. Runs locally in Blender. Bounded small-model processing, normally under 60 seconds; a busy worker returns an error before payment settlement.

## Output

Returns a 3D mesh with all material slots removed and clean untextured geometry, exported from Blender. The response identifies whether the demo mesh or a user-supplied mesh was processed. Output geometry reflects the requested target face count and any specified color, roughness, or metallic overrides.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "mesh": {
   "type": "object",
   "required": [
    "vertices",
    "faces"
   ],
   "properties": {
    "faces": {
     "type": "array",
     "items": {
      "type": "array",
      "items": {
       "type": "integer",
       "minimum": 0
      },
      "maxItems": 16,
      "minItems": 3
     },
     "maxItems": 20000
    },
    "vertices": {
     "type": "array",
     "items": {
      "type": "array",
      "items": {
       "type": "number"
      },
      "maxItems": 3,
      "minItems": 3
     },
     "maxItems": 10000
    }
   },
   "description": "Optional mesh in Blender Z-up coordinates. Max 10,000 vertices and 20,000 faces; each face has 3..16 indices.",
   "additionalProperties": false
  },
  "seed": {
   "type": "integer",
   "default": 42,
   "maximum": 2147483647,
   "minimum": 0
  },
  "angle": {
   "type": "number",
   "default": 45,
   "maximum": 180,
   "minimum": -180
  },
  "color": {
   "type": "string",
   "default": "#6688bb",
   "pattern": "^#[0-9a-fA-F]{6}$"
  },
  "count": {
   "type": "integer",
   "default": 3,
   "maximum": 8,
   "minimum": 2
  },
  "amount": {
   "type": "number",
   "default": 0.05,
   "maximum": 0.5,
   "minimum": 0.001
  },
  "factor": {
   "type": "number",
   "default": 1,
   "maximum": 5,
   "minimum": 0.1
  },
  "sample": {
   "enum": [
    "demo"
   ],
   "type": "string",
   "default": "demo",
   "description": "If no model is supplied, process the included demonstration mesh; response identifies this explicitly."
  },
  "metallic": {
   "type": "number",
   "default": 0,
   "maximum": 1,
   "minimum": 0
  },
  "roughness": {
   "type": "number",
   "default": 0.5,
   "maximum": 1,
   "minimum": 0
  },
  "resolution": {
   "type": "integer",
   "default": 256,
   "maximum": 512,
   "minimum": 128
  },
  "model_base64": {
   "type": "string",
   "maxLength": 699052,
   "description": "Optional base64 GLB (geometry and PBR values, without images/animations) or OBJ geometry, at most 512 KiB decoded. Mutually exclusive with mesh. No URLs or local paths."
  },
  "model_format": {
   "enum": [
    "glb",
    "obj"
   ],
   "type": "string",
   "default": "glb"
  },
  "target_faces": {
   "type": "integer",
   "default": 500,
   "maximum": 20000,
   "minimum": 20
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/blender-remove-materials-de924645/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
