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
| Parameter | Location | Type | Required | Description and constraints |
|---|---|---|---|---|
id | path | string | Yes |
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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.bulk | object | Yes | Required properties: id, status, totalJobs, counts. |
response.jobs | array of BulkJobSummary | Yes |
Nested field: response.bulk
Required properties: id, status, totalJobs, counts.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.bulk.id | string | Yes | |
response.bulk.name | string / null | No | |
response.bulk.templateId | string / null | No | |
response.bulk.type | "video" / "image" | No | |
response.bulk.status | string | Yes | |
response.bulk.totalJobs | integer | Yes | |
response.bulk.creditsReserved | number | No | |
response.bulk.counts | object | Yes | Required properties: completed, failed, pending. |
response.bulk.createdAt | string | No | Format: date-time. |
Nested field: response.bulk.counts
Required properties: completed, failed, pending.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.bulk.counts.completed | integer | Yes | |
response.bulk.counts.failed | integer | Yes | |
response.bulk.counts.pending | integer | Yes |
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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
response.error | string | Yes | Error type |
response.message | string | No | Human-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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
BulkRenderDetail.bulk | object | Yes | Required properties: id, status, totalJobs, counts. |
BulkRenderDetail.jobs | array of BulkJobSummary | Yes |
Nested field: BulkRenderDetail.bulk
Required properties: id, status, totalJobs, counts.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
BulkRenderDetail.bulk.id | string | Yes | |
BulkRenderDetail.bulk.name | string / null | No | |
BulkRenderDetail.bulk.templateId | string / null | No | |
BulkRenderDetail.bulk.type | "video" / "image" | No | |
BulkRenderDetail.bulk.status | string | Yes | |
BulkRenderDetail.bulk.totalJobs | integer | Yes | |
BulkRenderDetail.bulk.creditsReserved | number | No | |
BulkRenderDetail.bulk.counts | object | Yes | Required properties: completed, failed, pending. |
BulkRenderDetail.bulk.createdAt | string | No | Format: date-time. |
Nested field: BulkRenderDetail.bulk.counts
Required properties: completed, failed, pending.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
BulkRenderDetail.bulk.counts.completed | integer | Yes | |
BulkRenderDetail.bulk.counts.failed | integer | Yes | |
BulkRenderDetail.bulk.counts.pending | integer | Yes |
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.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
BulkJobSummary.id | string | Yes | |
BulkJobSummary.status | "queued" / "processing" / "completed" / "failed" | Yes | Job status |
BulkJobSummary.name | string / null | No | |
BulkJobSummary.creditsEstimated | number / null | No | |
BulkJobSummary.creditsConsumed | number / null | No | |
BulkJobSummary.videoDuration | number / null | No | Output duration in seconds (null for images) |
BulkJobSummary.videoResolution | string / null | No | |
BulkJobSummary.outputUrl | string / null | No | CDN URL of the finished output (null until completed) |
BulkJobSummary.thumbnailUrl | string / null | No | |
BulkJobSummary.errorMessage | string / null | No | |
BulkJobSummary.templateId | string / null | No | Source template, when the job was rendered from one |
BulkJobSummary.createdAt | string | Yes | Format: date-time. |
BulkJobSummary.completedAt | string / null | No | Format: date-time. |
AuthenticationError
Unknown properties are rejected. Required properties: error.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
AuthenticationError.error | string | Yes | Error type |
AuthenticationError.message | string | No | Human-readable error message |