A batch lets you submit up to 1,000 render jobs in one POST /batches request. Each job in the batch follows the same schema as a single job. The API returns a batchId you can use to track progress and cancel the whole group at once.Batches support partial success - if some jobs fail validation, the rest still proceed. The response tells you exactly which succeeded and which failed, with per-job error details.
"created" if all jobs succeeded, "partial" if some failed or a retry created only the missing jobs, "error" if all failed, "replayed" if a retry found every job already created
totalJobs
integer
Total number of jobs in the request
successCount
integer
Number of successfully created jobs
jobs
array
Details for each successfully created job
errors
array
Details for each failed job (only present when status is "partial" or "error")
If a job fails validation, its entry appears in errors with an index matching its position in the original request. Successfully created jobs proceed normally.
A network error or timeout can leave you unsure whether a batch was created. To make a batch safe to resend, choose its batchId yourself: send a ULID you generate in the request. Sending the batch again with the same batchId creates only the jobs that are not in it yet, so no job is rendered twice.Give each job a batchItemId (up to 255 characters) so a retry can tell the jobs apart. Jobs without one are matched by their position in jobs, so if you leave it out, keep the order the same on every retry.
Every job was already in the batch. Nothing new was created.
partial
The jobs that were missing have been created now.
The jobs array lists every job in the batch, with each index pointing to its position in the request you just sent.Retries are recognised for 30 days, while the batch’s jobs are kept. A retry after that, or a request without a batchId, creates a new batch.
Don’t send two requests with the same batchId at the same time: if they overlap on the server, both can create jobs. A timeout on your side does not mean the server stopped working on the batch. After a timeout, poll GET /batches/:batchId until it stops changing, then retry.
The jobs already in the batch could not be matched with the request. Check GET /batches/:batchId before sending again.
503
BATCH_RETRYABLE
The service was briefly unavailable part-way through. The jobs created so far are listed. Wait for the Retry-After header’s number of seconds, then retry with the same batchId to create the rest.
Array of errors for failed jobs (only present when status is 'partial' or 'error')
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nexrender Cloud Documentation","colors":{"primary":"#A06BC6","light":"#A06BC6","dark":"#A06BC6"},"logo":{"light":"https://mintcdn.com/nexrender/hhU8sut1bRm3T6o4/logo/nx-text-logo-dark.png?fit=max\u0026auto=format\u0026n=hhU8sut1bRm3T6o4\u0026q=85\u0026s=dfd4191163c2c6667fef64145f151792","dark":"https://mintcdn.com/nexrender/hhU8sut1bRm3T6o4/logo/nx-text-logo-light.png?fit=max\u0026auto=format\u0026n=hhU8sut1bRm3T6o4\u0026q=85\u0026s=1c2c9518add002354ffa95e3e3c7a7d9"},"favicon":"https://mintcdn.com/nexrender/EcfHHWVlIZh_8xU2/favicon.svg?fit=max\u0026auto=format\u0026n=EcfHHWVlIZh_8xU2\u0026q=85\u0026s=1924353b78c21a7935bd1746cd89f54f","navbar":{"links":[{"href":"mailto:support@nexrender.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.nexrender.com"}},"footer":{"socials":{"github":"https://github.com/inlife/nexrender","linkedin":"https://www.linkedin.com/company/nexrender"}},"icons":{"library":"lucide"},"integrations":{"ga4":{"measurementId":"G-WR9FJ0LMZF"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nexrender","hasAudioNarration":false,"actualSubdomain":"nexrender","customDomains":["www.nexrender.com"],"gitSource":{"type":"github","owner":"nexrender","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec760ce4c7d04cf75db869","collectionId":"9f05b1c7-91c2-4293-934e-dc542921677b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec760ce4c7d04cf75db869"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aee2e264756570ea998ae6d","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Documentation","count":37},{"language":"default","tag":"API Reference","count":29},{"language":"default","tag":"Rendering Jobs","count":28},{"language":"default","tag":"Templates Management","count":11},{"language":"default","tag":"Functions","count":9},{"language":"default","tag":"Fonts Management","count":8},{"language":"default","tag":"Essentials","count":7},{"language":"default","tag":"Managing Templates","count":5},{"language":"default","tag":"Batch Jobs","count":3},{"language":"default","tag":"Secrets Management","count":3}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cloud/jobs/batch_jobs","slug":"/cloud/jobs/batch_jobs","pageMetadata":{"title":"Batch Jobs","description":"Submit up to 1,000 render jobs in a single API request and track them as a group","openapi":"POST /batches","href":"/cloud/jobs/batch_jobs"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Submit up to 1,000 render jobs in a single API request and track them as a group\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,CodeGroup,Heading,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A batch lets you submit up to 1,000 render jobs in one `,_jsx(_components.code,{children:`POST /batches`}),` request. Each job in the batch follows the same schema as a single job. The API returns a `,_jsx(_components.code,{children:`batchId`}),` you can use to track progress and cancel the whole group at once.`]}),`\n`,_jsx(_components.p,{children:`Batches support partial success - if some jobs fail validation, the rest still proceed. The response tells you exactly which succeeded and which failed, with per-job error details.`}),`\n`,_jsx(Heading,{level:`2`,id:`submit-a-batch`,children:`Submit a Batch`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Request`,numberOfLines:`39`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`39`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.nexrender.com/api/v2/batches`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jobs\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"template\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"id\": \"01JTGM9GCR71JV7EJYDF45QAFD\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"composition\": \"main\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"assets\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"text\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"layerName\": \"name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"value\": \"Alice Johnson\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"url\": \"https://yourdomain.com/webhooks/render-complete\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"template\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"id\": \"01JTGM9GCR71JV7EJYDF45QAFD\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"composition\": \"main\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"assets\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"text\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"layerName\": \"name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"value\": \"Bob Williams\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"url\": \"https://yourdomain.com/webhooks/render-complete\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Response`,numberOfLines:`20`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`20`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01BATCH_ID_HERE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"created\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalJobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"successCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"jobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_A_ID_HERE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"queued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"outputUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://nx1-outputs-eu.nexrender.com/.../job-a.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_B_ID_HERE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"queued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"outputUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://nx1-outputs-eu.nexrender.com/.../job-b.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`Each entry in `,_jsx(_components.code,{children:`jobs`}),` includes an `,_jsx(_components.code,{children:`index`}),` that maps back to its position in the original request array, so you can correlate results even when some fail.`]}),`\n`,_jsx(Heading,{level:`2`,id:`batch-creation-response`,children:`Batch Creation Response`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`batchId`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Unique identifier for this batch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"created\"`}),` if all jobs succeeded, `,_jsx(_components.code,{children:`\"partial\"`}),` if some failed or a retry created only the missing jobs, `,_jsx(_components.code,{children:`\"error\"`}),` if all failed, `,_jsx(_components.code,{children:`\"replayed\"`}),` if a retry found every job already created`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`totalJobs`})}),_jsx(_components.td,{children:`integer`}),_jsx(_components.td,{children:`Total number of jobs in the request`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`successCount`})}),_jsx(_components.td,{children:`integer`}),_jsx(_components.td,{children:`Number of successfully created jobs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`jobs`})}),_jsx(_components.td,{children:`array`}),_jsx(_components.td,{children:`Details for each successfully created job`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`errors`})}),_jsx(_components.td,{children:`array`}),_jsxs(_components.td,{children:[`Details for each failed job (only present when `,_jsx(_components.code,{children:`status`}),` is `,_jsx(_components.code,{children:`\"partial\"`}),` or `,_jsx(_components.code,{children:`\"error\"`}),`)`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`partial-success-example`,children:`Partial Success Example`}),`\n`,_jsxs(_components.p,{children:[`If a job fails validation, its entry appears in `,_jsx(_components.code,{children:`errors`}),` with an `,_jsx(_components.code,{children:`index`}),` matching its position in the original request. Successfully created jobs proceed normally.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`27`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`27`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01BATCH_ID_HERE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"partial\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalJobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"successCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"jobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_A_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"queued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"outputUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://nx1-outputs-eu.nexrender.com/.../job-a.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_C_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"queued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"outputUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://nx1-outputs-eu.nexrender.com/.../job-c.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"errors\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Template not found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"errorCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"TEMPLATE_NOT_FOUND\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`retry-a-batch-safely`,children:`Retry a Batch Safely`}),`\n`,_jsxs(_components.p,{children:[`A network error or timeout can leave you unsure whether a batch was created. To make a batch safe to resend, choose its `,_jsx(_components.code,{children:`batchId`}),` yourself: send a `,_jsx(_components.a,{href:`https://github.com/ulid/spec`,children:`ULID`}),` you generate in the request. Sending the batch again with the same `,_jsx(_components.code,{children:`batchId`}),` creates only the jobs that are not in it yet, so no job is rendered twice.`]}),`\n`,_jsxs(_components.p,{children:[`Give each job a `,_jsx(_components.code,{children:`batchItemId`}),` (up to 255 characters) so a retry can tell the jobs apart. Jobs without one are matched by their position in `,_jsx(_components.code,{children:`jobs`}),`, so if you leave it out, keep the order the same on every retry.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JZ8Q4V6T2M9X3K5R7B1N0C8D\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"jobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchItemId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"invite-alice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"main\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"assets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"layerName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Alice Johnson\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchItemId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"invite-bob\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"main\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"assets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"layerName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bob Williams\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`A retry answers `,_jsx(_components.code,{children:`200`}),` instead of `,_jsx(_components.code,{children:`201`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`replayed`})}),_jsx(_components.td,{children:`Every job was already in the batch. Nothing new was created.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`partial`})}),_jsx(_components.td,{children:`The jobs that were missing have been created now.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`jobs`}),` array lists every job in the batch, with each `,_jsx(_components.code,{children:`index`}),` pointing to its position in the request you just sent.`]}),`\n`,_jsxs(_components.p,{children:[`Retries are recognised for 30 days, while the batch’s jobs are kept. A retry after that, or a request without a `,_jsx(_components.code,{children:`batchId`}),`, creates a new batch.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Don’t send two requests with the same `,_jsx(_components.code,{children:`batchId`}),` at the same time: if they overlap on the server, both can create jobs. A timeout on your side does not mean the server stopped working on the batch. After a timeout, poll `,_jsx(_components.code,{children:`GET /batches/:batchId`}),` until it stops changing, then retry.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`retry-errors`,children:`Retry Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`HTTP`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`errorCode`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_BATCH_ID`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`batchId`}),` is not a valid ULID.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_BATCH_ITEM_ID`})}),_jsxs(_components.td,{children:[`A `,_jsx(_components.code,{children:`batchItemId`}),` is longer than 255 characters.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DUPLICATE_BATCH_ITEM_ID`})}),_jsx(_components.td,{children:`Two jobs in the request have the same identifier.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BATCH_ALREADY_PARTIAL`})}),_jsxs(_components.td,{children:[`The jobs already in the batch could not be matched with the request. Check `,_jsx(_components.code,{children:`GET /batches/:batchId`}),` before sending again.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`BATCH_RETRYABLE`})}),_jsxs(_components.td,{children:[`The service was briefly unavailable part-way through. The jobs created so far are listed. Wait for the `,_jsx(_components.code,{children:`Retry-After`}),` header’s number of seconds, then retry with the same `,_jsx(_components.code,{children:`batchId`}),` to create the rest.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`check-batch-status`,children:`Check Batch Status`}),`\n`,_jsxs(_components.p,{children:[`Poll `,_jsx(_components.code,{children:`GET /batches/:batchId`}),` to see aggregate progress across all jobs in the batch.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Request`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` GET`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.nexrender.com/api/v2/batches/01BATCH_ID_HERE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Response`,numberOfLines:`18`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`18`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01BATCH_ID_HERE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"processing\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"stats\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"total\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"finished\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`67`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pending\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`31`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"jobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_A_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"finished\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"outputUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://nx1-outputs-eu.nexrender.com/.../job-a.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`batch-status-values`,children:`Batch Status Values`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`processing`})}),_jsx(_components.td,{children:`At least one job is still running or queued`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`finished`})}),_jsx(_components.td,{children:`All jobs have completed (some may have errored)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`error`})}),_jsx(_components.td,{children:`All jobs failed`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`batch-stats-fields`,children:`Batch Stats Fields`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`total`})}),_jsx(_components.td,{children:`Total jobs in the batch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`finished`})}),_jsx(_components.td,{children:`Jobs that completed successfully`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`error`})}),_jsx(_components.td,{children:`Jobs that failed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pending`})}),_jsx(_components.td,{children:`Jobs still queued or rendering`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`cancel-a-batch`,children:`Cancel a Batch`}),`\n`,_jsx(_components.p,{children:`Cancel all remaining jobs in a batch with a single call. Jobs that have already finished are not affected.`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Request`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.nexrender.com/api/v2/batches/01BATCH_ID_HERE/cancel`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Response`,numberOfLines:`22`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`22`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batchId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01BATCH_ID_HERE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"cancelled\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalJobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"cancelledCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`33`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"skippedCount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`67`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"jobs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_A_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"skipped\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"finished\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Job already in terminal state\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JOB_F_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"cancelled\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"manually_cancelled\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`cancellation-response-status-values`,children:`Cancellation Response Status Values`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cancelled`})}),_jsx(_components.td,{children:`Every cancellable job was cancelled`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`partial`})}),_jsx(_components.td,{children:`Some jobs were cancelled, others were already in a terminal state`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unchanged`})}),_jsx(_components.td,{children:`No jobs were in a cancellable state`})]})]})]}),`\n`,_jsx(_components.p,{children:`Cancellation cascades to child jobs - if a batch job has nested children, they are cancelled too.`}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-batches`,children:`When to Use Batches`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Rendering personalised videos for a large user list (event invites, product variants, certificates)`}),`\n`,_jsx(_components.li,{children:`Processing a bulk export where you want to submit all jobs upfront and track completion as a group`}),`\n`,_jsx(_components.li,{children:`Any workflow that needs atomic cancellation of many jobs at once`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each job in a batch is a full, independent job - it can include nested job assets, upload configuration, webhooks, and all other job options.`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Rendering Basics`,icon:`microchip`,href:`/cloud/jobs/rendering_basics`,children:_jsx(_components.p,{children:`Learn the full job payload structure and asset types`})}),_jsx(Card,{title:`Nested Jobs`,icon:`diagram-project`,href:`/cloud/jobs/nested_jobs`,children:_jsx(_components.p,{children:`Use nested job assets to render child compositions first`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Batch Jobs","description":"Submit up to 1,000 render jobs in a single API request and track them as a group","openapi":"POST /batches","href":"/cloud/jobs/batch_jobs"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Submit a Batch","slug":"submit-a-batch","depth":2,"children":[]},{"title":"Batch Creation Response","slug":"batch-creation-response","depth":2,"children":[{"title":"Partial Success Example","slug":"partial-success-example","depth":3,"children":[]}]},{"title":"Retry a Batch Safely","slug":"retry-a-batch-safely","depth":2,"children":[{"title":"Retry Errors","slug":"retry-errors","depth":3,"children":[]}]},{"title":"Check Batch Status","slug":"check-batch-status","depth":2,"children":[{"title":"Batch Status Values","slug":"batch-status-values","depth":3,"children":[]},{"title":"Batch Stats Fields","slug":"batch-stats-fields","depth":3,"children":[]}]},{"title":"Cancel a Batch","slug":"cancel-a-batch","depth":2,"children":[{"title":"Cancellation Response Status Values","slug":"cancellation-response-status-values","depth":3,"children":[]}]},{"title":"When to Use Batches","slug":"when-to-use-batches","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create batch of jobs","description":"Submit up to 1,000 render jobs in a single API request and track them as a group","x-mint":{"mcp":{"enabled":true,"name":"create-batch","description":"Submit up to 1000 render jobs in a single batch request. Returns per-job results with a shared batch ID for tracking."}},"requestBody":"b5b5fd55-5bc9-4ebc-b0ce-7f31704bd3f1","responses":{"201":"d89ab7ac-ac82-4655-ab89-bfa827580601","400":"a5ec1c86-8731-4229-a619-cc56f94fa1f1","401":"554265eb-9669-42ea-a10e-a9b8699b26d1","403":"3dfe20b1-adde-4b53-80da-a734848f348c"},"tags":["Batch Management"],"operationId":"createBatch","method":"post","type":"path","servers":["b26400f0-8fbd-4eb4-b804-72ddbb27854e"],"security":["7c33546e-cfd6-4b5d-9793-a4f2e17ef296"],"path":"/batches","baseUrlOptions":["https://api.nexrender.com/api/v2"],"title":"Create batch of jobs","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"Configuration for creating a batch of render jobs in a single request (1 to 1000 jobs)","properties":{"jobs":{"type":"array","description":"Array of job configurations to create as a batch. Each item follows the same schema as a single job creation request.","items":{"type":"object","description":"Configuration object for creating a new render job with template, assets, and options","properties":{"template":{"type":"object","description":"Template configuration defining the After Effects project and composition to render","properties":{"id":{"type":"string","pattern":"^[A-Z0-9]{26}$","description":"Unique template identifier in ULID format (26 characters, uppercase alphanumeric)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].template.id","typeLabel":"string"},"src":{"type":"string","description":"Public HTTP(S), native s3:/gs:, inline data:, or a file: URL inside the current job work directory for an After Effects template (.aep, .mogrt, or .zip file). The worker rejects paths and symlinks escaping that directory and non-public network destinations.","uniqueKey":"jobs.items.[INDEX].template.src","typeLabel":"string"},"composition":{"oneOf":[{"type":"string","description":"Name of the specific composition within the template to render (optional for .mogrt)","uniqueKey":"jobs.items.[INDEX].template.composition.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the specific composition within the template to render (optional for .mogrt)","uniqueKey":"jobs.items.[INDEX].template.composition.oneOf.1","typeLabel":"null"}],"uniqueKey":"jobs.items.[INDEX].template.composition","typeLabel":"string | null"}},"required":["id"],"additionalProperties":true,"isRequired":true,"uniqueKey":"jobs.items.[INDEX].template","typeLabel":"object"},"preview":{"type":"boolean","default":false,"description":"Generate a low-quality preview render instead of full quality output","uniqueKey":"jobs.items.[INDEX].preview","typeLabel":"boolean"},"fonts":{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].fonts.items.[INDEX]","typeLabel":"string"},"default":[],"description":"List of font file names to include in the render environment","uniqueKey":"jobs.items.[INDEX].fonts","typeLabel":"string[]"},"assets":{"type":"array","items":{"oneOf":[{"type":"object","description":"Asset to be used in job rendering, containing source information and target layer details. For function assets, provide the function identifier in `name` and arguments in `params`.","required":["type"],"properties":{"type":{"type":"string","description":"Asset type (e.g., image, video, audio, text, data, script, job)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.type","typeLabel":"string"},"src":{"type":"string","description":"Public HTTP(S), native s3:/gs:, inline data:, or a file: URL inside the current job work directory. The worker rejects local paths and symlinks escaping that directory. Other schemes and non-public network destinations are rejected.","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.src","typeLabel":"string"},"layerName":{"type":"string","description":"Target layer name in the After Effects composition where this asset will be applied","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.layerName","typeLabel":"string"},"name":{"type":"string","description":"Human-readable name for the asset. For function assets (`type: function`), this should be the NX function name (for example, `nx:layer-autoscale`).","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.name","typeLabel":"string"},"conform":{"type":"boolean","description":"When true for video, image, or audio assets, the worker normalizes the downloaded media to a render-engine-safe target format before assembly. If omitted, the API auto-enables conform for known risky inputs such as WebM, WebP, GIF, and OGG/OGA sources. GIF inputs are converted to a ProRes 4444 MOV file and treated as video.","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.conform","typeLabel":"boolean"},"params":{"type":"object","description":"Optional parameters for function assets. For supported NX layer functions (`nx:layer-autoscale`, `nx:layer-duration-set`, `nx:layer-start-set`, `nx:layer-state-set`, `nx:solid-color-set`, `nx:text-params-set`), `params.layerName` accepts a single string or an array of strings. When an array is provided, the API expands the function asset into multiple per-layer assets while preserving the original `assets` order.","properties":{"layerName":{"oneOf":[{"type":"string","description":"Target layer name(s) for function assets","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.params.layerName.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.params.layerName.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Target layer name(s) for function assets","minItems":1,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.params.layerName.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.params.layerName","typeLabel":"string | string[]"}},"additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0.params","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A nested job asset that renders a child job first, then uses its output as a video/image asset in the parent composition. The child job's output URL is automatically injected into the parent's assets.","required":["type","layerName","template"],"properties":{"type":{"type":"string","enum":["job"],"description":"Must be 'job' to indicate this is a nested job asset","isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"layerName":{"type":"string","description":"Target layer name in the parent composition where the child job's output will be placed (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.layerName","typeLabel":"string"},"template":{"type":"object","description":"Template configuration for the child job","properties":{"id":{"type":"string","pattern":"^[A-Z0-9]{26}$","description":"Template ID for the child job (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.template.id","typeLabel":"string"},"composition":{"type":"string","description":"Composition name to render in the child job (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.template.composition","typeLabel":"string"},"name":{"type":"string","description":"Template name (optional)","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.template.name","typeLabel":"string"}},"required":["id","composition"],"isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.template","typeLabel":"object"},"assets":{"type":"array","items":{"type":"object","description":"Asset to be used in job rendering, containing source information and target layer details. For function assets, provide the function identifier in `name` and arguments in `params`.","properties":{"type":{"type":"string","description":"Asset type (e.g., image, video, audio, text, data, script, job)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].type","typeLabel":"string"},"src":{"type":"string","description":"Public HTTP(S), native s3:/gs:, inline data:, or a file: URL inside the current job work directory. The worker rejects local paths and symlinks escaping that directory. Other schemes and non-public network destinations are rejected.","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].src","typeLabel":"string"},"layerName":{"type":"string","description":"Target layer name in the After Effects composition where this asset will be applied","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].layerName","typeLabel":"string"},"name":{"type":"string","description":"Human-readable name for the asset. For function assets (`type: function`), this should be the NX function name (for example, `nx:layer-autoscale`).","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].name","typeLabel":"string"},"conform":{"type":"boolean","description":"When true for video, image, or audio assets, the worker normalizes the downloaded media to a render-engine-safe target format before assembly. If omitted, the API auto-enables conform for known risky inputs such as WebM, WebP, GIF, and OGG/OGA sources. GIF inputs are converted to a ProRes 4444 MOV file and treated as video.","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].conform","typeLabel":"boolean"},"params":{"type":"object","description":"Optional parameters for function assets. For supported NX layer functions (`nx:layer-autoscale`, `nx:layer-duration-set`, `nx:layer-start-set`, `nx:layer-state-set`, `nx:solid-color-set`, `nx:text-params-set`), `params.layerName` accepts a single string or an array of strings. When an array is provided, the API expands the function asset into multiple per-layer assets while preserving the original `assets` order.","properties":{"layerName":{"oneOf":[{"type":"string","description":"Target layer name(s) for function assets","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Target layer name(s) for function assets","minItems":1,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName","typeLabel":"string | string[]"}},"additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params","typeLabel":"object"}},"required":["type"],"additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets.items.[INDEX]","typeLabel":"object"},"description":"Assets to inject into the child job","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.assets","typeLabel":"object[]"},"preview":{"type":"boolean","default":false,"description":"Generate preview quality for the child job","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.preview","typeLabel":"boolean"},"settings":{"type":"object","description":"Render settings for the child job","properties":{"type":{"type":"string","enum":["video","image"],"default":"video","description":"Output type for the child job","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.type","typeLabel":"enum\u003cstring>"},"frames":{"oneOf":[{"type":"integer","description":"Frame specification for image output","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.frames.oneOf.0","typeLabel":"integer"},{"type":"array","items":{"type":"integer","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.frames.oneOf.1.items.[INDEX]","typeLabel":"integer"},"description":"Frame specification for image output","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.frames.oneOf.1","typeLabel":"integer[]"}],"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.frames","typeLabel":"integer | integer[]"},"quality":{"type":"string","enum":["draft","full"],"description":"Render quality","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.quality","typeLabel":"enum\u003cstring>"},"codec":{"type":"string","description":"Output codec","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.codec","typeLabel":"string"},"engine":{"type":"string","enum":["ae2025","ae2026"],"default":"ae2026","description":"After Effects render engine version for the child job","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.engine","typeLabel":"enum\u003cstring>"},"multiFrame":{"type":"boolean","description":"Turn After Effects Multi-Frame Rendering on (true) or off (false) for the child job. If omitted, the worker's own setting applies","uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings.multiFrame","typeLabel":"boolean"}},"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1.settings","typeLabel":"object"}},"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"jobs.items.[INDEX].assets.items.[INDEX]","typeLabel":"object"},"default":[],"description":"Collection of media assets (images, videos, audio, scripts, text) or nested job assets (type: 'job') to use in the render. Nested job assets render as child jobs first, with output injected into the parent composition. For supported NX layer functions, `params.layerName` can be a string or an array of strings; array values are expanded in place while preserving asset order.","uniqueKey":"jobs.items.[INDEX].assets","typeLabel":"object[]"},"settings":{"type":"object","description":"Render configuration settings for output format, quality, and frame selection","properties":{"type":{"type":"string","enum":["video","image","aep","lottie"],"description":"Output render type - 'video' for MP4/MOV files, 'image' for PNG/JPG files, 'aep' for full archive, 'lottie' for a zip of a Lottie export (the team needs Lottie access)","uniqueKey":"jobs.items.[INDEX].settings.type","typeLabel":"enum\u003cstring>"},"frames":{"oneOf":[{"type":"integer","description":"Frame specification - single frame number or [start, end] range. Required for image type.","minimum":0,"uniqueKey":"jobs.items.[INDEX].settings.frames.oneOf.0","typeLabel":"integer"},{"type":"array","items":{"type":"integer","minimum":0,"uniqueKey":"jobs.items.[INDEX].settings.frames.oneOf.1.items.[INDEX]","typeLabel":"integer"},"description":"Frame specification - single frame number or [start, end] range. Required for image type.","maxItems":2,"minItems":2,"uniqueKey":"jobs.items.[INDEX].settings.frames.oneOf.1","typeLabel":"integer[]"}],"uniqueKey":"jobs.items.[INDEX].settings.frames","typeLabel":"integer | integer[]"},"quality":{"type":"string","enum":["draft","full"],"description":"Render quality setting - 'draft' for faster low-quality preview, 'full' for high-quality output","uniqueKey":"jobs.items.[INDEX].settings.quality","typeLabel":"enum\u003cstring>"},"codec":{"type":"string","description":"Output codec specification (e.g., 'h264_vbr_15mbps', 'prores_422', 'png', 'jpeg')","uniqueKey":"jobs.items.[INDEX].settings.codec","typeLabel":"string"},"engine":{"type":"string","enum":["ae2025","ae2026"],"default":"ae2026","description":"After Effects render engine version used when the job is picked up by a worker","uniqueKey":"jobs.items.[INDEX].settings.engine","typeLabel":"enum\u003cstring>"},"multiFrame":{"type":"boolean","description":"Turn After Effects Multi-Frame Rendering on (true) or off (false) for this job. If omitted, the worker's own setting applies","uniqueKey":"jobs.items.[INDEX].settings.multiFrame","typeLabel":"boolean"},"lottie":{"type":"object","description":"Bodymovin settings for a 'lottie' job, e.g. export_modes, should_encode_images, rasterize_text. Only some settings can be changed; see the Lottie docs. Not allowed with other types.","additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].settings.lottie","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"jobs.items.[INDEX].settings","typeLabel":"object"},"upload":{"type":"object","description":"Custom upload configuration for output files to external storage providers","properties":{"prefix":{"type":"string","description":"Folder prefix/path where output files will be stored (e.g., 'my-project/outputs/')","uniqueKey":"jobs.items.[INDEX].upload.prefix","typeLabel":"string"},"outputUrl":{"type":"string","description":"Custom base URL for accessing uploaded files publicly","uniqueKey":"jobs.items.[INDEX].upload.outputUrl","typeLabel":"string"},"provider":{"type":"string","enum":["s3"],"default":"s3","description":"Storage provider - 's3' for Amazon S3 compatible","uniqueKey":"jobs.items.[INDEX].upload.provider","typeLabel":"enum\u003cstring>"},"params":{"type":"object","description":"Provider-specific upload parameters and credentials","properties":{"region":{"type":"string","description":"AWS region or storage region identifier (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].upload.params.region","typeLabel":"string"},"bucket":{"type":"string","description":"Target bucket name for file uploads (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].upload.params.bucket","typeLabel":"string"},"accessKeyId":{"type":"string","description":"AWS access key ID or equivalent credential (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].upload.params.accessKeyId","typeLabel":"string"},"accessKeySecret":{"type":"string","description":"AWS secret access key or equivalent credential (required)","isRequired":true,"uniqueKey":"jobs.items.[INDEX].upload.params.accessKeySecret","typeLabel":"string"},"endpoint":{"type":"string","default":"https://s3.amazonaws.com","description":"Public HTTP(S) S3-compatible endpoint URL. Explicit customer credentials are required; worker credentials are not used for arbitrary endpoints.","uniqueKey":"jobs.items.[INDEX].upload.params.endpoint","typeLabel":"string"},"acl":{"type":"string","description":"Access control list setting for uploaded files (e.g., 'public-read', 'private')","uniqueKey":"jobs.items.[INDEX].upload.params.acl","typeLabel":"string"}},"required":["region","bucket","accessKeyId","accessKeySecret"],"additionalProperties":false,"uniqueKey":"jobs.items.[INDEX].upload.params","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"jobs.items.[INDEX].upload","typeLabel":"object"},"webhook":{"type":"object","description":"Webhook configuration for job status notifications and callbacks","properties":{"url":{"type":"string","description":"Target webhook URL that will receive job status updates","isRequired":true,"uniqueKey":"jobs.items.[INDEX].webhook.url","typeLabel":"string"},"method":{"type":"string","enum":["GET","POST","PUT","DELETE"],"description":"HTTP method to use when calling the webhook endpoint","default":"POST","uniqueKey":"jobs.items.[INDEX].webhook.method","typeLabel":"enum\u003cstring>"},"headers":{"type":"object","description":"Additional HTTP headers to include in webhook requests","additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].webhook.headers","typeLabel":"object"},"data":{"type":"object","description":"Custom data payload to include with webhook notifications","additionalProperties":true,"uniqueKey":"jobs.items.[INDEX].webhook.data","typeLabel":"object"},"custom":{"type":"boolean","default":false,"description":"Flag indicating if webhook should only include custom data provided by the user","uniqueKey":"jobs.items.[INDEX].webhook.custom","typeLabel":"boolean"}},"required":["url"],"uniqueKey":"jobs.items.[INDEX].webhook","typeLabel":"object"}},"required":["template"],"additionalProperties":true,"uniqueKey":"jobs.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":1000,"isRequired":true,"uniqueKey":"jobs","typeLabel":"object[]"}},"required":["jobs"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"jobs":[{"template":{"id":"\u003cstring>","src":"\u003cstring>","composition":"\u003cstring>"},"preview":false,"fonts":[],"assets":[],"settings":{"frames":1,"codec":"\u003cstring>","engine":"ae2026","multiFrame":true,"lottie":{}},"upload":{"prefix":"\u003cstring>","outputUrl":"\u003cstring>","provider":"s3"}}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d89ab7ac-ac82-4655-ab89-bfa827580601":{"description":"Batch created successfully. Check 'status' field: 'created' means all jobs succeeded, 'partial' means some failed (see 'errors' array).","content":{"application/json":{"schema":{"type":"object","description":"Response after creating a batch of jobs, including per-job results and any errors","properties":{"batchId":{"type":"string","description":"Unique batch identifier in ULID format for tracking the entire batch","isRequired":true,"uniqueKey":"batchId","typeLabel":"string"},"status":{"type":"string","enum":["created","partial","error"],"description":"'created' if all jobs succeeded, 'partial' if some failed, 'error' if all failed","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"totalJobs":{"type":"integer","description":"Total number of jobs in the batch request","isRequired":true,"uniqueKey":"totalJobs","typeLabel":"integer"},"successCount":{"type":"integer","description":"Number of successfully created jobs","isRequired":true,"uniqueKey":"successCount","typeLabel":"integer"},"jobs":{"type":"array","description":"Array of successfully created job details","items":{"type":"object","properties":{"index":{"type":"integer","description":"Position of this job in the original request array","uniqueKey":"jobs.items.[INDEX].index","typeLabel":"integer"},"id":{"type":"string","description":"Unique job identifier","uniqueKey":"jobs.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","description":"Initial job status ('queued' or 'pending' for parent jobs)","uniqueKey":"jobs.items.[INDEX].status","typeLabel":"string"},"outputUrl":{"type":"string","description":"URL where the rendered output will be available","uniqueKey":"jobs.items.[INDEX].outputUrl","typeLabel":"string"},"children":{"type":"array","description":"Child job details (only present for jobs with nested job assets)","items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].status","typeLabel":"string"},"outputUrl":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].outputUrl","typeLabel":"string"},"missingFonts":{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].missingFonts.items.[INDEX]","typeLabel":"string"},"uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].missingFonts","typeLabel":"string[]"}},"uniqueKey":"jobs.items.[INDEX].children.items.[INDEX]","typeLabel":"object"},"uniqueKey":"jobs.items.[INDEX].children","typeLabel":"object[]"},"missingFonts":{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].missingFonts.items.[INDEX]","typeLabel":"string"},"description":"Fonts referenced in template but not found in team's font library","uniqueKey":"jobs.items.[INDEX].missingFonts","typeLabel":"string[]"}},"uniqueKey":"jobs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"jobs","typeLabel":"object[]"},"errors":{"type":"array","description":"Array of errors for failed jobs (only present when status is 'partial' or 'error')","items":{"type":"object","properties":{"index":{"type":"integer","description":"Position of the failed job in the original request array","uniqueKey":"errors.items.[INDEX].index","typeLabel":"integer"},"error":{"type":"string","description":"Error message describing why the job failed","uniqueKey":"errors.items.[INDEX].error","typeLabel":"string"},"errorCode":{"type":"string","description":"Machine-readable error code","uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["batchId","status","totalJobs","successCount","jobs"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"batchId":"\u003cstring>","status":"created","totalJobs":123,"successCount":123,"jobs":[{"index":123,"id":"\u003cstring>","status":"\u003cstring>","outputUrl":"\u003cstring>","children":[{"id":"\u003cstring>","status":"\u003cstring>","outputUrl":"\u003cstring>","missingFonts":["\u003cstring>"]}],"missingFonts":["\u003cstring>"]}],"errors":[{"index":123,"error":"\u003cstring>","errorCode":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"a5ec1c86-8731-4229-a619-cc56f94fa1f1":{"description":"Invalid request or all jobs in the batch failed","content":{"application/json":{"schema":{"type":"object","description":"Response after creating a batch of jobs, including per-job results and any errors","properties":{"batchId":{"type":"string","description":"Unique batch identifier in ULID format for tracking the entire batch","isRequired":true,"uniqueKey":"batchId","typeLabel":"string"},"status":{"type":"string","enum":["created","partial","error"],"description":"'created' if all jobs succeeded, 'partial' if some failed, 'error' if all failed","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"totalJobs":{"type":"integer","description":"Total number of jobs in the batch request","isRequired":true,"uniqueKey":"totalJobs","typeLabel":"integer"},"successCount":{"type":"integer","description":"Number of successfully created jobs","isRequired":true,"uniqueKey":"successCount","typeLabel":"integer"},"jobs":{"type":"array","description":"Array of successfully created job details","items":{"type":"object","properties":{"index":{"type":"integer","description":"Position of this job in the original request array","uniqueKey":"jobs.items.[INDEX].index","typeLabel":"integer"},"id":{"type":"string","description":"Unique job identifier","uniqueKey":"jobs.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","description":"Initial job status ('queued' or 'pending' for parent jobs)","uniqueKey":"jobs.items.[INDEX].status","typeLabel":"string"},"outputUrl":{"type":"string","description":"URL where the rendered output will be available","uniqueKey":"jobs.items.[INDEX].outputUrl","typeLabel":"string"},"children":{"type":"array","description":"Child job details (only present for jobs with nested job assets)","items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].status","typeLabel":"string"},"outputUrl":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].outputUrl","typeLabel":"string"},"missingFonts":{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].missingFonts.items.[INDEX]","typeLabel":"string"},"uniqueKey":"jobs.items.[INDEX].children.items.[INDEX].missingFonts","typeLabel":"string[]"}},"uniqueKey":"jobs.items.[INDEX].children.items.[INDEX]","typeLabel":"object"},"uniqueKey":"jobs.items.[INDEX].children","typeLabel":"object[]"},"missingFonts":{"type":"array","items":{"type":"string","uniqueKey":"jobs.items.[INDEX].missingFonts.items.[INDEX]","typeLabel":"string"},"description":"Fonts referenced in template but not found in team's font library","uniqueKey":"jobs.items.[INDEX].missingFonts","typeLabel":"string[]"}},"uniqueKey":"jobs.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"jobs","typeLabel":"object[]"},"errors":{"type":"array","description":"Array of errors for failed jobs (only present when status is 'partial' or 'error')","items":{"type":"object","properties":{"index":{"type":"integer","description":"Position of the failed job in the original request array","uniqueKey":"errors.items.[INDEX].index","typeLabel":"integer"},"error":{"type":"string","description":"Error message describing why the job failed","uniqueKey":"errors.items.[INDEX].error","typeLabel":"string"},"errorCode":{"type":"string","description":"Machine-readable error code","uniqueKey":"errors.items.[INDEX].errorCode","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"required":["batchId","status","totalJobs","successCount","jobs"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"batchId":"\u003cstring>","status":"created","totalJobs":123,"successCount":123,"jobs":[{"index":123,"id":"\u003cstring>","status":"\u003cstring>","outputUrl":"\u003cstring>","children":[{"id":"\u003cstring>","status":"\u003cstring>","outputUrl":"\u003cstring>","missingFonts":["\u003cstring>"]}],"missingFonts":["\u003cstring>"]}],"errors":[{"index":123,"error":"\u003cstring>","errorCode":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"554265eb-9669-42ea-a10e-a9b8699b26d1":{"description":"Unauthorized - invalid or missing API token","content":{"application/json":{"schema":{"type":"object","description":"Standard error response format","properties":{"error":{"type":"string","description":"Human-readable error message explaining what went wrong","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3dfe20b1-adde-4b53-80da-a734848f348c":{"description":"Forbidden - license is not valid","content":{"application/json":{"schema":{"type":"object","description":"Standard error response format","properties":{"error":{"type":"string","description":"Human-readable error message explaining what went wrong","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"7c33546e-cfd6-4b5d-9793-a4f2e17ef296":{"apiToken":{"type":"http","scheme":"bearer","description":"Bearer token authentication using API tokens for team-based access control.\n\nYou can generate your own API token at: https://app.nexrender.com/settings/api-tokens\n","scopes":[],"schemeName":"apiToken"}}},"servers":{"b26400f0-8fbd-4eb4-b804-72ddbb27854e":{"url":"https://api.nexrender.com/api/v2","description":"Production API server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token authentication using API tokens for team-based access control.\n\nYou can generate your own API token at: https://app.nexrender.com/settings/api-tokens\n","scopes":[],"schemeName":"apiToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token authentication using API tokens for team-based access control.\n\nYou can generate your own API token at: https://app.nexrender.com/settings/api-tokens\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiToken","name":"Authorization"}],"title":"apiToken"}]},"originalFileLocation":"openapi.json"},"subdomain":"nexrender","siteName":"Nexrender Cloud Documentation","title":"Batch Jobs - Nexrender Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T17:51:43.404Z","originalFileLocation":"cloud/jobs/batch_jobs.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Submit up to 1,000 render jobs in a single API request and track them as a group\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nexrender Cloud Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Batch Jobs - Nexrender Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submit up to 1,000 render jobs in a single API request and track them as a group\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nexrender Cloud Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nexrender.mintlify.site/docs/_mintlify/api/og/v2?division=Rendering+Jobs\u0026amp;title=Batch+Jobs\u0026amp;description=Submit+up+to+1%2C000+render+jobs+in+a+single+API+request+and+track+them+as+a+group\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=da8b3308108420974554591f8e64a4ca28ab0cb2297508cf75ae317e2df6ec15\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Batch Jobs - Nexrender Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submit up to 1,000 render jobs in a single API request and track them as a group\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nexrender.mintlify.site/docs/_mintlify/api/og/v2?division=Rendering+Jobs\u0026amp;title=Batch+Jobs\u0026amp;description=Submit+up+to+1%2C000+render+jobs+in+a+single+API+request+and+track+them+as+a+group\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=da8b3308108420974554591f8e64a4ca28ab0cb2297508cf75ae317e2df6ec15\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/nexrender/VfYtARxiRd08ZM8o/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nexrender Cloud Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A06BC6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/cloud/jobs/batch_jobs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.nexrender.com/#organization\",\"name\":\"Nexrender Cloud Documentation\",\"url\":\"https://www.nexrender.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nexrender/hhU8sut1bRm3T6o4/logo/nx-text-logo-dark.png?fit=max\u0026auto=format\u0026n=hhU8sut1bRm3T6o4\u0026q=85\u0026s=dfd4191163c2c6667fef64145f151792\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.nexrender.com/docs#website\",\"name\":\"Nexrender Cloud Documentation\",\"url\":\"https://www.nexrender.com/docs\",\"publisher\":{\"@id\":\"https://www.nexrender.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs#webpage\",\"url\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs\",\"name\":\"Batch Jobs\",\"description\":\"Submit up to 1,000 render jobs in a single API request and track them as a group\",\"dateModified\":\"2026-11-06T17:51:43.404Z\",\"isPartOf\":{\"@id\":\"https://www.nexrender.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rendering Jobs\",\"item\":\"https://www.nexrender.com/docs/cloud/jobs/rendering_basics\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Batch Jobs\",\"item\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs#apireference\",\"headline\":\"Batch Jobs\",\"name\":\"Batch Jobs\",\"description\":\"Submit up to 1,000 render jobs in a single API request and track them as a group\",\"url\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs\",\"mainEntityOfPage\":{\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/batch_jobs#webpage\"},\"dateModified\":\"2026-11-06T17:51:43.404Z\",\"publisher\":{\"@id\":\"https://www.nexrender.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.nexrender.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nexrender Cloud Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nexrender Cloud Documentation","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","groups":[{"group":"Essentials","pages":[{"title":"Nexrender Cloud Introduction","sidebarTitle":"Introduction","icon":"power","href":"/cloud/introduction"},{"title":"Quickstart","icon":"fast-forward","href":"/cloud/quickstart"},{"title":"Core Concepts","icon":"map","href":"/cloud/concepts"},{"title":"Clean Room Setup","icon":"shield","href":"/cloud/clean_room"},{"title":"Whitelisting Nexrender IPs","icon":"book-open-check","href":"/cloud/troubleshooting/ip_whitelisting"},{"title":"Automation Recipes","icon":"cooking-pot","href":"/cloud/recipes"},{"title":"Agentic Workflows","icon":"bot","href":"/cloud/agentic-workflows"}]},{"group":"Managing Templates","pages":[{"title":"Templates Basics","icon":"clapperboard","href":"/cloud/templates/basics"},{"title":"Best Practice","icon":"target","href":"/cloud/templates/best_practice"},{"title":"Template Registration","openapi":"POST /templates","href":"/cloud/templates/register_template"},{"title":"Inspecting Templates","openapi":"GET /v3/templates/{id}","href":"/cloud/templates/inspecting"},{"title":"Deleting Templates","openapi":"DELETE /templates/{id}","href":"/cloud/templates/deleting"}]},{"group":"Rendering Jobs","pages":[{"title":"Rendering Jobs Basics","icon":"microchip","href":"/cloud/jobs/rendering_basics"},{"title":"Initiating Renders","openapi":"POST /jobs","href":"/cloud/jobs/initiating_renders"},{"title":"Upload Rendering Results","icon":"cloud-upload","href":"/cloud/jobs/upload_renders"},{"title":"Render Settings","icon":"sliders-horizontal","href":"/cloud/jobs/rendering_settings"},{"title":"Tracking Render Jobs","description":"Poll job status, list jobs with filters, and receive webhook callbacks when rendering completes","openapi":"GET /jobs/{id}","href":"/cloud/jobs/tracking_renders"},{"title":"Batch Jobs","openapi":"POST /batches","href":"/cloud/jobs/batch_jobs"},{"title":"Cancelling Jobs","description":"Cancel a single job, multiple jobs at once, or an entire batch","openapi":"PATCH /jobs/{id}/cancel","href":"/cloud/jobs/job_cancel"},{"title":"Secrets Management","openapi":"PUT /secrets","href":"/cloud/jobs/secrets"},{"title":"Nested Jobs","icon":"brackets","href":"/cloud/jobs/nested_jobs"},{"title":"Join Jobs","icon":"merge","href":"/cloud/jobs/join_job"},{"title":"Handling Rendering Errors","icon":"ticket-x","href":"/cloud/jobs/handling_errors"},{"title":"Advanced Rendering Practices","icon":"boxes","href":"/cloud/jobs/rendering_best_practice"},{"group":"Functions","icon":"code","pages":[{"title":"nx:comp-duration-set","icon":"clock","href":"/cloud/jobs/functions/nx-comp-duration-set"},{"title":"nx:layer-autoscale","icon":"expand","href":"/cloud/jobs/functions/nx-layer-autoscale"},{"title":"nx:layer-duration-set","icon":"timer","href":"/cloud/jobs/functions/nx-layer-duration-set"},{"title":"nx:layer-remove","icon":"trash","href":"/cloud/jobs/functions/nx-layer-remove"},{"title":"nx:layer-start-set","icon":"play","href":"/cloud/jobs/functions/nx-layer-start-set"},{"title":"nx:layer-state-set","icon":"eye","href":"/cloud/jobs/functions/nx-layer-state-set"},{"title":"nx:solid-color-set","icon":"palette","href":"/cloud/jobs/functions/nx-solid-color-set"},{"title":"nx:text-params-set","icon":"type","href":"/cloud/jobs/functions/nx-text-params-set"},{"title":"nx:genai","icon":"wand-magic-sparkles","href":"/cloud/jobs/functions/nx-gen-ai"}]}]},{"group":"Fonts Management","pages":[{"title":"Uploading Fonts","openapi":"POST /fonts","href":"/cloud/fonts/upload"},{"title":"Listing All Fonts","openapi":"GET /fonts","href":"/cloud/fonts/list"},{"title":"Deleting Fonts","openapi":"DELETE /fonts/{id}","href":"/cloud/fonts/delete"},{"title":"Fonts Usage","icon":"check","href":"/cloud/fonts/use"}]}]},{"tab":"API Reference","icon":"square-terminal","pages":[{"title":"API Reference","href":"/api-reference/template-management/list-all-templates-deprecated"}]},{"tab":"Changelog","icon":"history","pages":[{"title":"Changelog","href":"/cloud/changelog"}]}]},"basePath":"","title":"Batch Jobs - Nexrender Cloud Documentation","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CNqlzjVB.js","utils-BqFiXZ79.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CnR4QBe6.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BY2ZM1OO.js","snippetPresets-x-8ACO8V.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ch-SJE05.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CqqG_0NE.js","shallow-BXrZ2b0C.js","getApiPlaygroundDisplay-n7J_wkjq.js","CodeSnippet-CQsp4vyQ.js","CodeSnippets-BfuHqvZx.js","Page-CTxrMSpo.js","getPastedJson-BjrGIK1i.js","icon-7iLZnVOC.js","MethodPill-TBS1m84e.js","DuplicateIcon-BNMrV4Vs.js","createIcon-C5kCqeU2.js","DynamicMarkdown-Bq09mRwR.js","SectionHeading-G4Bflf5Q.js","axios-vUo_bRtp.js","Markdown-BTUds0aX.js","clsx-6wHzaN2_.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BPypQKlo.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-o6bee4ro.js"]}