Getting Started
Not all of our endpoints are available via the API. If you would like to request beta access to the rest of the web app features via the API, please contact us.
After you have obtained your API key, you can start making requests. We will walk through the entire flow of creating a Text to 3D task and retrieving the outputs in this article.
Creating a Text to 3D task
Start by sending a Create Text to Model Task request.
You will receive a HTTP 201 response with the Task resource json data.
Task Status
The Task status property will be either queued
or in_progress
for newly created tasks.
This will change to either succeeded
or failed
at some point in the future. The processing time varies from 30 to 120 seconds depending on the Task type and whether it is a cold start or not.
If a task takes longer than 5 minutes to process it will be marked as failed, this implies an issue on our end, please try again and contact us if the issue persists.
Tasks in the queued
state will transition to in_progress
when a worker is available, although both are a valid start state depending on the Task type.
Our Infrastructure
We host all our AI models on serverless endpoints internally and scale with demand. When an endpoint is not in use the worker will go to sleep, so if your task takes a long time to complete, subsequent requests will be faster.
Using seeds
The seed is used to add variance to the output of AI models. Each AI model responds to changing the seed differently.
Please note that some AI models consider the seed 0 to be the same as not providing a seed. To make this behaviour consistent, the API considers sending a seed with the value 0 the same as not sending a seed, and a random one will be used.
The seed can be retrieved from the Task resource seed
property.
Concurrency
We apply limits to how many tasks you can generate at the same time. The limit is applied per task type.
Free accounts have a limit of one concurrent task of each type.
Paid accounts have a limit of 10 concurrent tasks of each type.
Thumbnails
Thumbnails for 3D models are normalized to PNG format and a size of 256x256.
Getting your output
After submitting your task you have the choice between using polling or using an SSE endpoint to receive the result when the task finishes.
Use the Get Task endpoint to regularly poll (every 2-10 seconds) and check for changes to the status
property of the Task resource.
When status
changes to succeeded
, the output
object will contain your generated 3D model in the glb
key. For all other states, the output
property contains an empty object.
We apply generous rate limits. We recommend not polling more than once per second, and scaling your polling interval to be slower in the beginning as tasks are generally not going to complete faster than 20 seconds.
Contact us for information regarding custom rate limits.
The Task resource contains two objects called input
and output
. The contents of these objects differs based on the Task type
.
The premium-text-to-3d
task type has the following outputs:
"output": {
"glb": "url to the glb mesh",
"thumbnail": "url to the thumbnail image"
}
Although we store your tasks for long term usage, we highly recommend downloading the output and uploading it to your own storage if you intend on keeping it, as inactive accounts without a subscription are subject to inactivity cleanup.
Please do not use our CDN as a distribution mechanism for your own production use cases and use an object storage provider.