GET /v1/models/{job_id}/download
Download the mesh. Returns a 302 redirect to a fresh 15-minute presigned S3 URL.
Returns a 302 Found redirect to a fresh 15-min presigned S3 URL for the requested format. Follow the redirect (most HTTP clients do automatically with -L / redirect: 'follow').
Query parameters
| Param | Values | Notes |
|---|---|---|
format | glb, obj, stl | The format must have been listed in the job's outputs array. |
Curl
curl -sSL "$BASE/v1/models/job_<uuid>/download?format=glb" \
-H "Authorization: Bearer $KEY" \
-o out.glb-L tells curl to follow the redirect to the presigned S3 URL.
URL handling
The URL is unguessable but not private. Treat it like an S3 link. Don't paste it into public chat. Regenerate if it leaks.
The presigned URL is valid for 15 minutes. Re-request this endpoint anytime to mint a fresh one.
Errors
| HTTP | code | Meaning |
|---|---|---|
| 401 | unauthorized | Missing / bad API key. |
| 404 | not_found | No such job, or the requested format wasn't produced. |
| 409 | job_not_done | The job hasn't completed yet; poll GET /v1/jobs/{job_id} first. |