Download Results
Get signed download URLs after all jobs are complete.
Authorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v2/download" \ -H "Content-Type: application/json" \ -d '{ "task_uuid": "123e4567-e89b-12d3-a456-426614174000" }'{ "error": "NO_SUCH_TASK", "list": [ { "url": "string", "name": "string" } ]}Identifier
Send the generation response's top-level uuid as task_uuid. This differs from the jobs.subscription_key used by Check Status.
Examples Input
curl --fail-with-body --request POST 'https://api.hyper3d.com/api/v2/download' \
--header "Authorization: Bearer ${RODIN_API_KEY}" \
--header 'Content-Type: application/json' \
--data '{"task_uuid":"123e4567-e89b-12d3-a456-426614174000"}'
import os
import requests
api_key = os.environ["RODIN_API_KEY"]
response = requests.post(
"https://api.hyper3d.com/api/v2/download",
headers={"Authorization": f"Bearer {api_key}"},
json={"task_uuid": "123e4567-e89b-12d3-a456-426614174000"},
timeout=30,
)
response.raise_for_status()
print(response.json())
Response
{
"list": [
{
"name": "model.glb",
"url": "https://example.invalid/download/model.glb"
}
]
}
Availability and errors
Call this endpoint only after every job is Done; the endpoint does not promise to reject an incomplete task. HTTP 201 returns the files currently available, 400 indicates an invalid request, 401 indicates invalid authentication, and 429 indicates throttling. Download URLs can expire, so fetch files promptly rather than storing the URLs.