Skip to main content
In this guide, you will submit a toy sports car generation, wait for it to complete, and download its USD asset. You need a Moonlake account and a reference image saved locally as reference.png.

Get an API key

Create a key in your account settings. Each account has one active key; regenerating it immediately revokes the old key. Store the key in an environment variable:
Every request authenticates with it:

Create an asset

Send a text prompt and your image to POST /api/v1/assets. mode=generate is what runs the generation; in its default quote mode the endpoint returns a price quote and generates nothing.
The API returns immediately with the generation in pending status. Save its id; you use it to retrieve the result.

Wait for completion

Generations usually complete within a few hours. Duration depends on the asset’s complexity, the supplied references, and the selected effort level. Poll the asset every 30–60 seconds until its status is completed or failed:
curl
When status is completed, result.artifacts contains a presigned download_url for every output. Download the artifact with format: "usdz", extract the ZIP, and open its *_root.usda file in Isaac Sim.
A download_url expires after seven days. Fetch the asset again to receive freshly signed URLs.

Next steps