Skip to main content
3D generation is asynchronous. POST /v1/3d/generations creates a TokenLab task; completed status responses return downloadable model assets such as model_url and, when available, format-specific URLs.

Choose the input type

This API does not use an operation field. A model with text-to-3d accepts prompts; a model with image-to-3d accepts image input.
Do not assume every 3D model supports both input types or every output format. Check the selected model details before sending image, image_url, format, quality, style, or seed.

Create a 3D task

For image-to-3D, use an https URL when the source can be fetched from the internet. Use inline base64 image when the source must stay private and your server can accept the larger request body.

Output formats

  • glb works well for web previews.
  • fbx and obj are useful for DCC pipelines when the selected model supports them.
  • usdz is useful for Apple AR workflows when exposed by the model.
  • Higher quality values can increase wait time and cost. Show that choice to the user.
  • seed affects repeatability only on models that support it.

Get the finished model

Use the returned poll_url. If your client needs a fixed URL, use GET /v1/tasks/{id}.
Completed tasks return model_url and may include glb_url, fbx_url, obj_url, or usdz_url. Download or cache the selected asset in your own product if users need repeat access, version history, or long-lived downloads.

Keep the result available

  • Persist task_id, poll_url, model, requested format, and your own asset record ID.
  • Resume polling after page refresh rather than creating a duplicate task.
  • Validate source image size and reachability before creating the task.
  • Keep generated asset URLs out of public pages unless the user has permission to access the asset.
  • Record billing_transaction_id when present for later reconciliation.

Common Errors

API Reference