Endpoints
GET /convert/jobs/:id
Async job status
Use GET /convert/jobs/:id to check job status.
GET /convert/jobs/:idPoll this endpoint after creating a job with POST /convert/jobs.
Path parameters
Examples
curl
curl https://api.convert3d.org/convert/jobs/job_123 \
-H "Authorization: Bearer YOUR_API_TOKEN"JavaScript
const token = process.env.CONVERT3D_API_TOKEN;
const jobId = "job_123";
const response = await fetch(`https://api.convert3d.org/convert/jobs/${jobId}`, {
headers: {
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
throw new Error(await response.text());
}
console.log(await response.json());Python
import os
import requests
job_id = "job_123"
response = requests.get(
f"https://api.convert3d.org/convert/jobs/{job_id}",
headers={"Authorization": f"Bearer {os.environ['CONVERT3D_API_TOKEN']}"},
timeout=30,
)
response.raise_for_status()
print(response.json())Response fields
Response examples
Queued:
{
"id": "job_123",
"status": "queued",
"progress": 0
}In progress:
{
"id": "job_123",
"status": "in_progress",
"progress": 45,
"message": "Converting model..."
}Success:
{
"id": "job_123",
"status": "success",
"progress": 100,
"message": "Completed",
"signedUrl": "https://storage.convert3d.org/converted/model.glb?signature=..."
}Failed:
{
"id": "job_123",
"status": "failed",
"progress": 0,
"message": "Unsupported file format",
"error": "Unsupported file format"
}Polling
Poll every 2-5 seconds. Stop when:
statusissuccess, then download the result.statusisfailed, then show or log the error.