Turn one product photo into a textured 3D model.
Upload a photo, get back a GLB (or OBJ, FBX, USDZ, STL) in a few minutes. 4,495 credits per model, available on paid plans (Starter and up).
Image in, 3D file out. Asynchronous: submit a job, then poll for the result. Runs on a hosted 3D model.
One textured mesh as GLB (default), OBJ, FBX, USDZ or STL. Materials: PBR (default), Shaded, All or None.
JPG, PNG or WebP, max 10 MB, shortest side at least 256 px. A clean product photo on a plain background works best; transparent PNG cut-outs are supported.
Usually a few minutes per model (no guarantee). Up to 2 models in progress per account.
4,495 credits per model. Paid plans only; failed jobs are refunded automatically.
This is the actual output of one validation job, not a hand-picked showcase. It shows what works well and where the model falls short.
Use a sharp, evenly lit photo of one object, filling most of the frame, on a plain background (or a transparent cut-out). Avoid heavy shadows, reflections and cropped edges.
Authenticate with Authorization: Bearer YOUR_API_KEY (create a key in the dashboard). Submit the job, then poll until status is completed or failed.
Accepts multipart/form-data with an image file, or form/JSON with image_url or image_base64.
| Field | Type | Required | Description |
|---|---|---|---|
image | file | one of | Input image (JPG/PNG/WebP, max 10 MB, shortest side ≥ 256 px). |
image_url | string | one of | Public http/https URL of the input image (form or JSON). |
image_base64 | string | one of | Base64-encoded image (form or JSON). |
prompt | string | no | Optional hint about the object, max 400 characters; must not contain --. |
format | string | no | glb (default) | obj | fbx | usdz | stl |
material | string | no | PBR (default) | Shaded | All | None |
Response: generation_id, status: "processing", credits_used, format, estimated_seconds (180) and poll_url. Poll GET /v1/image-to-3d/{generation_id}: status is processing, completed (then output_url is the 3D file) or failed (with error_message; credits refunded).
Requires a paid plan (Starter and up); free-trial accounts receive an error and are not charged. At most 2 models can be in progress per account.
Billed in credits. 1 credit = $0.001 on the Starter plan; the cash value of a credit depends on your plan. Failed jobs are refunded automatically.
Third-party-hosted tool. Image-to-3D runs on a third-party hosted 3D model. Its price covers the provider's charge plus our running costs, and it is not matched to the lowest price on the market. See the pricing page for all third-party-hosted tools.
4,495 credits per 3D model (about $4.50 at 1 credit = $0.001 on the Starter plan; the cash value of a credit depends on your plan). Failed jobs are refunded automatically.
Image-to-3D runs on a third-party hosted 3D model. Its price covers the provider's charge plus our running costs; it is not matched to the lowest price on the market. The same applies to our other third-party-hosted tools (Image-to-Video, VFX Studio paid models and the Memorial Video 'Bring photos to life' mode).
Paid plans only (Starter and up). Free-trial credits cannot be used for image-to-3D. Up to 2 models can be in progress per account at a time.
GLB (default), OBJ, FBX, USDZ and STL. Set format in the request. Materials: PBR (default), Shaded, All or None.
Usually a few minutes (no guarantee). The API is asynchronous: submit, then poll GET /v1/image-to-3d/{generation_id} until status is completed or failed.
A clean product photo on a plain background works best; transparent PNG cut-outs are supported. JPG, PNG or WebP, up to 10 MB, shortest side at least 256 px.
One textured mesh (our validation model had about 36,000 faces; the GLB was about 12 MB). Scale is normalised, not real-world units, so scale the model in your 3D tool.
Thin parts such as straps and cords may be simplified or missing. Colours and gloss can differ slightly from the photo, and small surface blemishes can occur. Check the model before using it in production.
No. The older /v1/3d/ endpoints remain retired. Image-to-3D is a new endpoint: POST /v1/image-to-3d.
Image-to-3D is available on paid plans, starting with Starter. See pricing.