# Blender: Convert GLB

> Blender: Convert GLB 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-16).

Converts mesh geometry and PBR materials (from JSON mesh, GLB, or OBJ) to a binary glTF (.glb) model using Blender, running locally.

## Facts

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

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-convert-glb-0dd5604a -d '<json body>'
```

Example prompt: Convert my OBJ geometry to a binary GLB file — it's a small model, about 800 vertices, with a blue color (#6688bb), roughness of 0.4, metallic at 0.2, and target it to around 500 faces at 256 resolution.

## When to prefer this

Use this endpoint when you need to convert raw mesh data (vertex/face JSON), OBJ geometry, or a small GLB into a standards-compliant binary glTF with PBR material settings, especially when you need Blender-quality geometry processing without running Blender locally. Ideal for small-to-medium models (under 512 KiB, under 10k vertices) where you want control over PBR parameters like metallic, roughness, and color at conversion time.

## Known failure modes

- Busy worker returns an error before payment settlement if the worker queue is full
- Input mesh exceeds 10,000 vertices or 20,000 faces — request rejected
- Base64 model exceeds 512 KiB decoded size limit
- model_base64 and mesh fields supplied simultaneously (mutually exclusive)
- Invalid hex color format for color field
- Blender processing timeout for complex geometry near limits
- Unsupported face polygon size (fewer than 3 or more than 16 indices per face)

## How this service works

Blender: Convert Glb: Convert geometry and supported PBR materials to a binary glTF model. 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 binary glTF (.glb) file containing the converted 3D geometry with PBR material properties applied. The response identifies if the demo mesh was used instead of a user-supplied model. Processing is bounded to under 60 seconds for small models.

## 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-convert-glb-0dd5604a/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)
