Suzanne
Browse docs

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

ParamValuesNotes
formatglb, obj, stlThe 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

HTTPcodeMeaning
401unauthorizedMissing / bad API key.
404not_foundNo such job, or the requested format wasn't produced.
409job_not_doneThe job hasn't completed yet; poll GET /v1/jobs/{job_id} first.