Skip to main content

Get bulk render status

GET /api/render/bulk/{id}

Batch status with per-item job states and results.

Authentication​

  • Option 1: x-api-key: YOUR_API_KEY (header). API key for authentication. Create one in your dashboard.
  • Option 2: Authorization: Bearer YOUR_ACCESS_TOKEN. Dashboard JWT in Authorization: Bearer <token>, only on operations that explicitly list this scheme. Prefer x-api-key for REST integrations. OAuth for hosted MCP is a separate connection at https://mcp.zvid.io/mcp.

Create API keys at app.zvid.io/api-keys. Keep credentials on your server.

Parameters​

ParameterLocationTypeRequiredDescription and constraints
idpathstringYes

Request​

The shell examples read credentials from ZVID_API_KEY (or ZVID_ACCESS_TOKEN for Bearer authentication). Set that variable in your environment. Replace sample project, template, job, and asset identifiers with values from your own account.

This operation does not take a request body.

Request example​

curl --request GET 'https://api.zvid.io/api/render/bulk/YOUR_ID' \
--header "x-api-key: $ZVID_API_KEY"

Responses​

HTTP 200​

Batch and child job results

Content type: application/json.

Required properties: bulk, jobs.

FieldTypeRequiredDescription and constraints
response.bulkobjectYesRequired properties: id, status, totalJobs, counts.
response.jobsarray of BulkJobSummaryYes

Nested field: response.bulk

Required properties: id, status, totalJobs, counts.

FieldTypeRequiredDescription and constraints
response.bulk.idstringYes
response.bulk.namestring / nullNo
response.bulk.templateIdstring / nullNo
response.bulk.type"video" / "image"No
response.bulk.statusstringYes
response.bulk.totalJobsintegerYes
response.bulk.creditsReservednumberNo
response.bulk.countsobjectYesRequired properties: completed, failed, pending.
response.bulk.createdAtstringNoFormat: date-time.

Nested field: response.bulk.counts

Required properties: completed, failed, pending.

FieldTypeRequiredDescription and constraints
response.bulk.counts.completedintegerYes
response.bulk.counts.failedintegerYes
response.bulk.counts.pendingintegerYes

Nested field: response.jobs

Array item: response.jobs[]

Schema: BulkJobSummary.

Representative successful response response

{
"bulk": {
"id": "blk_abcdefghijklmnopqrst",
"name": "One image",
"templateId": null,
"type": "image",
"status": "completed",
"totalJobs": 1,
"creditsReserved": 1,
"counts": {
"completed": 1,
"failed": 0,
"pending": 0
},
"createdAt": "2026-09-22T12:00:00Z"
},
"jobs": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"name": "First image",
"creditsEstimated": 0,
"creditsConsumed": 0,
"videoDuration": null,
"videoResolution": "1200x630",
"outputUrl": "https://example.com/image.png",
"thumbnailUrl": null,
"errorMessage": null,
"createdAt": "2026-09-22T12:00:00Z",
"completedAt": "2026-09-22T12:00:03Z"
}
]
}

HTTP 401​

Unauthorized

Content type: application/json.

Unknown properties are rejected. Required properties: error.

FieldTypeRequiredDescription and constraints
response.errorstringYesError type
response.messagestringNoHuman-readable error message

HTTP 404​

Batch not found No response body is defined.

Schema definitions​

The following definitions describe the fields referenced above. Expand a definition to inspect its complete contract.

BulkRenderDetail

Required properties: bulk, jobs.

FieldTypeRequiredDescription and constraints
BulkRenderDetail.bulkobjectYesRequired properties: id, status, totalJobs, counts.
BulkRenderDetail.jobsarray of BulkJobSummaryYes

Nested field: BulkRenderDetail.bulk

Required properties: id, status, totalJobs, counts.

FieldTypeRequiredDescription and constraints
BulkRenderDetail.bulk.idstringYes
BulkRenderDetail.bulk.namestring / nullNo
BulkRenderDetail.bulk.templateIdstring / nullNo
BulkRenderDetail.bulk.type"video" / "image"No
BulkRenderDetail.bulk.statusstringYes
BulkRenderDetail.bulk.totalJobsintegerYes
BulkRenderDetail.bulk.creditsReservednumberNo
BulkRenderDetail.bulk.countsobjectYesRequired properties: completed, failed, pending.
BulkRenderDetail.bulk.createdAtstringNoFormat: date-time.

Nested field: BulkRenderDetail.bulk.counts

Required properties: completed, failed, pending.

FieldTypeRequiredDescription and constraints
BulkRenderDetail.bulk.counts.completedintegerYes
BulkRenderDetail.bulk.counts.failedintegerYes
BulkRenderDetail.bulk.counts.pendingintegerYes

Nested field: BulkRenderDetail.jobs

Array item: BulkRenderDetail.jobs[]

Schema: BulkJobSummary.

BulkJobSummary

One render job as returned by the job list endpoint.

Required properties: id, status, createdAt.

FieldTypeRequiredDescription and constraints
BulkJobSummary.idstringYes
BulkJobSummary.status"queued" / "processing" / "completed" / "failed"YesJob status
BulkJobSummary.namestring / nullNo
BulkJobSummary.creditsEstimatednumber / nullNo
BulkJobSummary.creditsConsumednumber / nullNo
BulkJobSummary.videoDurationnumber / nullNoOutput duration in seconds (null for images)
BulkJobSummary.videoResolutionstring / nullNo
BulkJobSummary.outputUrlstring / nullNoCDN URL of the finished output (null until completed)
BulkJobSummary.thumbnailUrlstring / nullNo
BulkJobSummary.errorMessagestring / nullNo
BulkJobSummary.templateIdstring / nullNoSource template, when the job was rendered from one
BulkJobSummary.createdAtstringYesFormat: date-time.
BulkJobSummary.completedAtstring / nullNoFormat: date-time.
AuthenticationError

Unknown properties are rejected. Required properties: error.

FieldTypeRequiredDescription and constraints
AuthenticationError.errorstringYesError type
AuthenticationError.messagestringNoHuman-readable error message