# Blender Convert OBJ

> Blender Convert OBJ 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).

Converts a 3D mesh (provided as JSON, GLB, or OBJ) into Wavefront OBJ geometry format using Blender, running locally without textures or materials.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/studio3d-process-convert-obj?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-convert-obj-714ceb72
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_K98YPqPMv8PZqWVR72UoE

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-obj-714ceb72 -d '<json body>'
```

Example prompt: Convert my GLB model to Wavefront OBJ format — here's the base64-encoded GLB file, target around 500 faces, and use the default demo mesh if nothing is provided.

## When to prefer this

Use this endpoint when you need to convert 3D geometry (mesh JSON, GLB, or OBJ) into Wavefront OBJ format using Blender as the processing engine. It is ideal for geometry-only exports where textures and materials are not required. It supports polygon reduction via target_faces and can fall back to a built-in demo mesh if no input is provided.

## Known failure modes

- Worker busy — error returned before payment settlement
- Input mesh exceeds 10,000 vertices or 20,000 faces limit
- base64 model exceeds 512 KiB decoded size limit
- Invalid face indices (out of range)
- Unsupported model format specified
- Malformed base64 input for model_base64
- Timeout if processing exceeds 60-second bound

## How this service works

Blender: Convert Obj: Export Wavefront OBJ geometry; textures and materials are not included. 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

A Wavefront OBJ geometry file representing the converted mesh, without textures or materials. The response includes the OBJ content and a note if the demo mesh was used. Processing is normally under 60 seconds; if the worker is busy, an error is returned before payment is settled.

## 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-obj-714ceb72/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)
