<

Getting Started

Authentication & Quickstart

Sign up at console.zazimfind.com to obtain your API key. Then make your first request — upload at least three images and receive a 3D model in seconds.

1. Submit an image

Coming Soon
bash · cURL
curl -X POST https://api.zazimfind.com/v1/render3d \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "image=@product.jpg" \
  -F "output_format=glb"

2. Check processing status

Coming Soon
bash · cURL
curl https://api.zazimfind.com/v1/status/req_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

3. Completed response

Coming Soon
JSON · Response 200
{
  "status": "completed",
  "model_url": "https://cdn.zazimfind.com/models/abc123.glb",
  "thumbnail_url": "https://cdn.zazimfind.com/thumbs/abc123.png",
  "metrics": {
    "chamfer_distance": 0.32,
    "psnr": 28.4
  }
}

Copy-Paste Ready

Code Samples

Production-ready samples for the most popular environments. All samples assume your API key is stored in an environment variable.

Python

Coming Soon
Python
import zazhree_client

client = zazhree_client.ZazhreeClient(api_key="YOUR_API_KEY")

with open("product.jpg", "rb") as f:
    result = client.render_3d(image=f, output_format="glb")

print(result.model_url)  # https://cdn.zazimfind.com/models/...

JavaScript (Node.js)

Coming Soon
JavaScript · Node.js
import { ZazhreeClient } from '@zazimfind/api';
import { createReadStream } from 'fs';

const client = new ZazhreeClient({ apiKey: process.env.ZAZIMFIND_KEY });

const result = await client.render3d({
  image: createReadStream('product.jpg'),
  outputFormat: 'glb',
  webhookUrl: 'https://your.domain/webhooks/zazimfind',
});

console.log(result.modelUrl);

React Component

Coming Soon
JSX · React
import { ZazhreeViewer } from '@zazimfind/web-sdk';

function ProductPage() {
  return (
    <ZazhreeViewer
      modelUrl="https://cdn.zazimfind.com/models/abc123.glb"
      arMode="webxr"
      enableRotation={true}
    />
  );
}

Common Questions

FAQs

JPEG, PNG, and WebP. Maximum 10 MB per image, up to 5 images per request. For best results, ensure adequate lighting and minimal motion blur.

Opaque, matte objects with clear edges yield the highest accuracy. Reflective or transparent items (glass, mirrors, polished metal) may have reduced fidelity.

Free tier: 10 requests/day. Pro: 5,000/month. Enterprise: custom SLA. Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are included in all responses.

30 days for the free tier; indefinitely for paid plans (configurable retention policy via the developer console). Use DELETE /v1/models/{id} to remove a model early.

Yes. Pass webhook_url in your POST /render3d request. ZazimFind will POST a signed payload to your endpoint when rendering completes. Verify the X-Zazimfind-Signature header using HMAC-SHA256.


API Reference

Endpoints

Base URL: https://api.zazimfind.com/v1 — all requests require a Bearer token in the Authorization header.

Coming Soon
POST /render3d

Submit up to 5 images for 3D reconstruction. Returns immediately with a request_id; use the status endpoint to poll or configure a webhook.

Parameter Type Required Description
image file Yes Product photos (up to 5). JPEG, PNG, or WebP, max 10 MB each.
output_format string No glb (default), usdz, or obj.
webhook_url string No HTTPS endpoint to receive a signed completion notification.
GET /status/{request_id}

Poll the processing status. Returns processing, completed, or failed.

Parameter Type Required Description
request_id path Yes The ID returned from POST /render3d.
DELETE /models/{model_id}

Permanently delete a stored 3D model. Returns HTTP 204 No Content on success.

Parameter Type Required Description
model_id path Yes Model ID from the completed status response.

Async Events

Webhooks

Configure a webhook_url in your render request. ZazimFind POSTs a HMAC-SHA256 signed payload to your endpoint on completion. Always verify the X-Zazimfind-Signature header before processing.

Coming Soon
JSON · Webhook Payload
{
  "event": "render.completed",
  "request_id": "req_abc123",
  "model_url": "https://cdn.zazimfind.com/models/abc123.glb",
  "thumbnail_url": "https://cdn.zazimfind.com/thumbs/abc123.png",
  "metadata": { "your_custom_id": "value" }
}

Limits

Rate Limits

Tier Limit Models stored Support
Free10 req / day30 daysCommunity
Pro5,000 req / monthIndefiniteEmail (48 h SLA)
EnterpriseCustomConfigurableDedicated CSM

SDKs

Web SDK

Install via npm for programmatic control over upload, model generation, and rendering. TypeScript definitions included; supports React, Vue, and Angular wrappers.

Coming Soon
bash · npm
npm install @zazimfind/web-sdk

Mobile SDKs

iOS (Swift)

Native ARKit integration, LiDAR support on Pro devices, background upload and model caching. SwiftUI compatible. Requires iOS 14+.

iOS Guide →

Android (Kotlin)

ARCore depth API for occlusion, Kotlin coroutines for async upload, Jetpack Compose examples. Requires Android 8.0+.

Android Guide →

React Native

Wraps iOS and Android native SDKs. Supports hooks (useZazhreeModel) for seamless cross-platform integration.

RN Guide →

Unity & XR

Import ZazimFindUnity.unitypackage from the Developer Portal. Use the ZazhreeModelImporter component to download and display glTF models at runtime with AR Foundation plane detection and XR Interaction Toolkit support.

Coming Soon
C# · Unity
using ZazimFind.Unity;

public class ProductLoader : MonoBehaviour {
    async void Start() {
        var model = await ZazhreeClient.Render3dAsync(imageBytes);
        var go = ZazhreeModelImporter.Import(model.url);
        go.transform.position = new Vector3(0,0,2);
    }
}

Responsible AI

Model Card — Zazhree v1.2

We publish model cards for every core algorithm as part of our commitment to transparent, responsible AI. Each card includes performance benchmarks, known limitations, and ethical considerations.

Intended Use
Converting 2D photos of furniture, home interiors, apparel, and consumer products into textured 3D meshes for AR/VR visualisation.
Performance
Mean Chamfer distance 0.34, PSNR 28 dB on held-out test set. Inference time under 5 seconds on A100 GPU.
Training Data
50,000+ product images across 50 categories, plus 10,000 interior room scans. All data anonymised; no personal identifiers retained.
Limitations
Low accuracy on transparent/reflective objects. Poor lighting degrades quality. Does not reconstruct moving objects or people.
Ethics
No facial reconstruction (face detection blocks upload). Training data balanced across object colours and textures. Human-in-the-loop for flagged content.
Version
v1.2, released March 2026.
Privacy

Data Retention & Privacy

Images are retained only for the duration of processing (max 24 hours) unless the user explicitly opts in to the training dataset via a separate consent toggle.

  • Opted-in images are anonymised (EXIF stripped, random ID applied) and stored for up to 1 year to improve model accuracy.
  • Users can withdraw consent at any time; data is removed from active training within 30 days.
  • ZazimFind never sells or rents data to third parties.
  • All processing occurs on AWS London (eu-west-2) — UK sovereign cloud.
Accessibility & i18n

Accessibility & Localisation

This documentation is WCAG 2.1 AA compliant — keyboard-navigable with visible focus indicators, descriptive alt text on all images, syntax-highlighted code blocks with screen-reader announcements, and support for high-contrast and reduced-motion preferences.

Planned locales (Q2 2027): en-GB, fr, de, zh. Localised content includes API error messages, date formats, and currency examples. User locale is auto-detected via Accept-Language; a manual switcher is available in the footer.