Developer API

Integrate async 3D model conversion directly into your applications. The current public API returns job-based results and supports `gltf`, `glb`, `gltf2`, and `glb2` as target formats.

1. Get your API Key

To authenticate your requests, you need an API key. You can generate one in your developer dashboard. Keep this key secret.

Go to API Keys Dashboard

2. Start a Conversion

Base URL: https://swap3d-backend.onrender.com/api/v1

Upload your file using multipart/form-data. The conversion is asynchronous, so this endpoint will return a jobId immediately.

cURL
curl -X POST https://swap3d-backend.onrender.com/api/v1/openapi/convert \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "targetFormat=gltf" \
  -F "file=@/path/to/your/model.obj"
JavaScript (Fetch)
const formData = new FormData();
formData.append('targetFormat', 'gltf');
formData.append('file', fileInput.files[0]);

const response = await fetch('https://swap3d-backend.onrender.com/api/v1/openapi/convert', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: formData
});

const { jobId, statusUrl } = await response.json();
console.log('Conversion started:', jobId);

3. Check Status & Download

Use the jobId to poll the status endpoint every few seconds. Once completed, the response will contain the download URL.

GET/v1/openapi/convert/status/{jobId}

Response (Completed)

{
  "status": "completed",
  "result": {
    "downloadUrl": "/api/v1/download/converted_1774486667970.gltf",
    "targetFormat": "gltf"
  }
}

Rate Limits & Quotas

Free Plan

  • ✓ 100 conversions / month
  • ✓ Max file size: 100MB
  • ✓ Async queued processing
PRO

Pro Plan

  • ✓ 10,000 conversions / month
  • ✓ Max file size: 100MB
  • ✓ Async queued processing