Before Nexrender Cloud can process your project files, you need to register a template object using the API.
This step defines what kind of project you’re uploading and prepares secure storage for it in Nexrender Cloud.You can register and upload one of the following file types:
After registering a template, Nexrender Cloud generates a temporary upload link (uploadInfo.url).
This presigned URL allows you to securely upload your project file without additional authentication.The uploadInfo.url is a time-limited presigned URL — it grants secure, temporary access to upload the file directly. The method is always PUT.
If the presigned URL from template registration has expired before you completed the upload, request a fresh one using PUT /templates/{id}/upload. This generates a new presigned URL for the same template without creating a new template object.
curl -X PUT https://api.nexrender.com/api/v2/templates/01JTGM9GCR71JV7EJYDF45QAFD/upload \ -H "Authorization: Bearer YOUR_API_KEY"
Download Template Files During Template Registration
Instead of uploading template files manually, you can also provide a direct file URL during registration using the optional ‘src’ field. Nexrender will download the file automatically, process it, and transition the template through the same lifecycle.
Once the download and processing are complete, the status will transition to uploaded, and Nexrender Cloud will extract all available compositions and dynamic layers for use in jobs.
Once the upload is complete, the template status transitions automatically:awaiting_upload → processing → uploadedOnce uploaded, Nexrender has completed introspection and the template is ready to render jobs. Use the v3 endpoints to inspect discovered compositions and layers - see Inspecting Templates.
Presigned upload URL and metadata for securely uploading template files to cloud storage
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/templates/register_template","slug":"/cloud/templates/register_template","pageMetadata":{"title":"Template Registration","description":"Learn how to register an After Effects template in Nexrender Cloud via API.","openapi":"POST /templates","href":"/cloud/templates/register_template"},"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: \"Learn how to register an After Effects template in Nexrender Cloud via API.\"\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`,br:`br`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Before Nexrender Cloud can process your project files, you need to `,_jsx(_components.strong,{children:`register a template object`}),` using the API.`,_jsx(_components.br,{}),`\n`,`This step defines what kind of project you’re uploading and prepares secure storage for it in Nexrender Cloud.`]}),`\n`,_jsx(_components.p,{children:`You can register and upload one of the following file types:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`.aep`})}),` — Standard After Effects project`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`.zip`})}),` — Bundled project with all assets included`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`.mogrt`})}),` — Motion Graphics Template`]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`example-register-a-template`,children:`Example: Register a Template`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Register a Template`,numberOfLines:`7`,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:`7`,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/templates`}),_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:` \"type\": \"aep\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"displayName\": \"My First Video\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Template Registration Response`,numberOfLines:`20`,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:`20`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`\"template\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"01K8NKEDR9HCGNK3BB7QM6XR8P\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"zip\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"displayName\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"test\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"awaiting_upload\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"2025-10-28T14:27:10.217Z\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"2025-10-28T14:27:10.217Z\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"mogrt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"uploadInfo\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://nx1-assets-eu.hel1.your-objectstorage.com/01JQEGHQFANYJT2Z52G7XV8JQQ/templates/01K8NKEDRBB7479ERKMERGXB7Z.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Content-Sha256=UNSIGNED-PAYLOAD\u0026X-Amz-Credential=LJ0F6FQU9N6ASUST5SQK%2F20251028%2Fauto%2Fs3%2Faws4_request\u0026X-Amz-Date=20251028T142710Z\u0026X-Amz-Expires=3600\u0026X-Amz-Signature=38f4b903ee7f96d68368f8df4c1e7394a3a797716c9b8e838ef86625e39cb82d\u0026X-Amz-SignedHeaders=host\u0026x-amz-checksum-crc32=AAAAAA%3D%3D\u0026x-amz-meta-templateid=01K8NKEDR9HCGNK3BB7QM6XR8P\u0026x-amz-sdk-checksum-algorithm=CRC32\u0026x-id=PutObject\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"method\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"PUT\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"fields\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"application/octet-stream\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"x-amz-meta-custom\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"{`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`templateId`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`01K8NKEDR9HCGNK3BB7QM6XR8P`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},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:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"expiresIn\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 3600,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"01JQEGHQFANYJT2Z52G7XV8JQQ/templates/01K8NKEDRBB7479ERKMERGXB7Z.zip\"`})]}),`\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:`uploading-your-files`,children:`Uploading Your Files`}),`\n`,_jsx(Heading,{level:`3`,id:`upload-via-temporary-link`,children:`Upload via Temporary Link`}),`\n`,_jsxs(_components.p,{children:[`After registering a template, Nexrender Cloud generates a `,_jsx(_components.strong,{children:`temporary upload link`}),` (`,_jsx(_components.code,{children:`uploadInfo.url`}),`).`,_jsx(_components.br,{}),`\n`,`This presigned URL allows you to securely upload your project file without additional authentication.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`uploadInfo.url`}),` is a `,_jsx(_components.strong,{children:`time-limited presigned URL`}),` — it grants secure, temporary access to upload the file directly. The method is always `,_jsx(_components.code,{children:`PUT`}),`.`]}),`\n`,_jsxs(Heading,{level:`3`,id:`example-curl-request`,children:[`Example `,_jsx(_components.code,{children:`curl`}),` Request`]}),`\n`,_jsxs(_components.p,{children:[`You can replace `,_jsx(_components.code,{children:`.zip`}),` with `,_jsx(_components.code,{children:`.aep`}),` or `,_jsx(_components.code,{children:`.mogrt`}),` depending on your project.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Template File Upload Request`,numberOfLines:`4`,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:`4`,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:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PUT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://your-upload-url-from-uploadInfo.url'`}),_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:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/octet-stream'`}),_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:` --data-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@/path/to/your/project.zip'`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`limitations`,children:`Limitations`}),`\n`,_jsx(_components.p,{children:`To ensure stable upload performance, a few technical limitations apply:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Maximum file size: 2 GiB`}),`\n`,_jsx(_components.li,{children:`Upload duration: URLs typically expire after ~1 hour`}),`\n`,_jsx(_components.li,{children:`Upload method: Always PUT`}),`\n`,_jsx(_components.li,{children:`File format: Must match the declared type (.aep, .zip, or .mogrt)`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Files exceeding the 2 GiB limit or uploaded after expiration will fail with an HTTP 403 or similar error.`}),`\n`,_jsx(Heading,{level:`3`,id:`refreshing-an-expired-upload-url`,children:`Refreshing an Expired Upload URL`}),`\n`,_jsxs(_components.p,{children:[`If the presigned URL from template registration has expired before you completed the upload, request a fresh one using `,_jsx(_components.code,{children:`PUT /templates/{id}/upload`}),`. This generates a new presigned URL for the same template without creating a new template object.`]}),`\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:` PUT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.nexrender.com/api/v2/templates/01JTGM9GCR71JV7EJYDF45QAFD/upload`}),_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:`9`,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:`9`,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:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://nx1-assets-eu.cloudflarestorage.com/...?X-Amz-Expires=3600\u0026...\"`}),_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:` \"method\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PUT\"`}),_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:` \"fields\"`}),_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:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/octet-stream\"`})]}),`\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:` \"expiresIn\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3600`}),_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:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JQEGHQFANYJT2Z52G7XV8JQQ/templates/01JTGM9GCR71JV7EJYDF45QAFD.zip\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`Use the returned `,_jsx(_components.code,{children:`url`}),` exactly as you would the original `,_jsx(_components.code,{children:`uploadInfo.url`}),` - a standard `,_jsx(_components.code,{children:`PUT`}),` request with your file as the body.`]}),`\n`,_jsx(Heading,{level:`2`,id:`download-template-files-during-template-registration`,children:`Download Template Files During Template Registration`}),`\n`,_jsxs(_components.p,{children:[`Instead of uploading template files manually, you can also provide a direct file URL during registration using the optional `,_jsx(_components.strong,{children:`‘src’`}),` field. Nexrender will download the file automatically, process it, and transition the template through the same lifecycle.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Register Template with field`,numberOfLines:`8`,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:`8`,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/templates`}),_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:` \"type\": \"zip\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"displayName\": \"Logo Animation\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"src\": \"https://example.com/files/logo-animation.zip\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Register Template with field - Response`,numberOfLines:`11`,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:`11`,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:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tpl_01JZ2M9GCR712V7EJYDF45QAFD\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"zip\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"displayName\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Logo Animation\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"downloading\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"2025-10-28T09:57:43.121Z\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"2025-10-28T09:57:43.121Z\",`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"mogrt\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` null,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` \"src\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://example.com/files/logo-animation.zip\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-happens-behind-the-scenes`,children:`What Happens Behind the Scenes?`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The backend `,_jsx(_components.strong,{children:`initiates a download`}),` of your file from the provided `,_jsx(_components.code,{children:`src`}),` URL`]}),`\n`,_jsxs(_components.li,{children:[`The system `,_jsx(_components.strong,{children:`validates and processes`}),` the project automatically after download`]}),`\n`,_jsxs(_components.li,{children:[`Extracts `,_jsx(_components.strong,{children:`available compositions and layers`}),` for later use in render jobs`]}),`\n`,_jsxs(_components.li,{children:[`The template status is initially set to `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`downloading`})}),`, then transitions to `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`processing`})}),` and finally `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`uploaded`})}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`If the platform cannot download the file, it will `,_jsx(_components.strong,{children:`retry up to three times`}),` before setting the template status to `,_jsx(_components.code,{children:`error`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`requirements`,children:`Requirements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.code,{children:`src`}),` must be a `,_jsx(_components.strong,{children:`directly downloadable HTTPS link`})]}),`\n`,_jsxs(_components.li,{children:[`Supported sources include:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Secure `,_jsx(_components.code,{children:`https://`}),` URLs`]}),`\n`,_jsx(_components.li,{children:`Google Drive shared links`}),`\n`,_jsx(_components.li,{children:`Presigned S3 URLs`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`The maximum supported file size is `,_jsx(_components.strong,{children:`2 GiB`})]}),`\n`,_jsxs(_components.li,{children:[`Maximum download time is `,_jsx(_components.strong,{children:`10 minutes`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-mistakes-to-avoid`,children:`Common Mistakes to Avoid`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mistake`}),_jsx(_components.th,{children:`Result`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Providing a non-secure `,_jsx(_components.code,{children:`http://`}),` link`]}),_jsx(_components.td,{children:`The request will be rejected`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Using an expired or inaccessible URL`}),_jsxs(_components.td,{children:[`Template enters the `,_jsx(_components.code,{children:`error`}),` state after retries`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`File larger than 2 GiB`}),_jsx(_components.td,{children:`Download will fail before processing`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Once the download and processing are complete, the status will transition to `,_jsx(_components.code,{children:`uploaded`}),`, and Nexrender Cloud will extract all available compositions and dynamic layers for use in jobs.`]}),`\n`,_jsx(Heading,{level:`3`,id:`checking-upload-status`,children:`Checking Upload Status`}),`\n`,_jsx(_components.p,{children:`Once the upload is complete, the template status transitions automatically:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`awaiting_upload`}),` → `,_jsx(_components.code,{children:`processing`}),` → `,_jsx(_components.code,{children:`uploaded`})]}),`\n`,_jsxs(_components.p,{children:[`Once `,_jsx(_components.code,{children:`uploaded`}),`, Nexrender has completed introspection and the template is ready to render jobs. Use the v3 endpoints to inspect discovered compositions and layers - see `,_jsx(_components.a,{href:`/cloud/templates/inspecting`,children:`Inspecting Templates`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`api-reference`,children:`API Reference`})]})}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":"Template Registration","description":"Learn how to register an After Effects template in Nexrender Cloud via API.","openapi":"POST /templates","href":"/cloud/templates/register_template"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Example: Register a Template","slug":"example-register-a-template","depth":4,"children":[]},{"title":"Uploading Your Files","slug":"uploading-your-files","depth":2,"children":[{"title":"Upload via Temporary Link","slug":"upload-via-temporary-link","depth":3,"children":[]},{"title":"Example curl Request","slug":"example-curl-request","depth":3,"children":[]},{"title":"Limitations","slug":"limitations","depth":3,"children":[]},{"title":"Refreshing an Expired Upload URL","slug":"refreshing-an-expired-upload-url","depth":3,"children":[]}]},{"title":"Download Template Files During Template Registration","slug":"download-template-files-during-template-registration","depth":2,"children":[]},{"title":"What Happens Behind the Scenes?","slug":"what-happens-behind-the-scenes","depth":2,"children":[]},{"title":"Requirements","slug":"requirements","depth":2,"children":[]},{"title":"Common Mistakes to Avoid","slug":"common-mistakes-to-avoid","depth":2,"children":[{"title":"Checking Upload Status","slug":"checking-upload-status","depth":3,"children":[]}]},{"title":"API Reference","slug":"api-reference","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create new template","description":"Learn how to register an After Effects template in Nexrender Cloud via API.","x-mint":{"mcp":{"enabled":true,"name":"create-or-update-template","description":"Register a new After Effects project (.aep, .mogrt, .zip). Returns upload info for file transfer."}},"requestBody":"27c9c8a1-51e6-46a2-95e0-8952a7c4559f","responses":{"201":"ea74365b-b326-4503-bbd5-94c7154541aa","400":"6fd494ca-bcf7-4bce-9a4a-a1a83ea3af4b","401":"cb225637-b1aa-460f-b17b-677ca9b76d6a"},"tags":["Template Management"],"operationId":"createOrUpdateTemplate","method":"post","type":"path","servers":["b26400f0-8fbd-4eb4-b804-72ddbb27854e"],"security":["7c33546e-cfd6-4b5d-9793-a4f2e17ef296"],"path":"/templates","baseUrlOptions":["https://api.nexrender.com/api/v2"],"title":"Create new template","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"Configuration for creating a new template with project file type and display information","properties":{"type":{"type":"string","enum":["aep","zip","mogrt"],"description":"Template project file type - aep (After Effects Project), zip (compressed project), or mogrt (Motion Graphics Template)","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"displayName":{"type":"string","maxLength":255,"description":"Human-readable name for the template shown in UI and listings","isRequired":true,"uniqueKey":"displayName","typeLabel":"string"},"src":{"type":"string","description":"Link to the project file nexrender should create the template from. If not set, presigned upload URL is returned in the response object instead.","uniqueKey":"src","typeLabel":"string"}},"required":["type","displayName"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"displayName":"\u003cstring>","src":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ea74365b-b326-4503-bbd5-94c7154541aa":{"description":"Template successfully created with upload information","content":{"application/json":{"schema":{"type":"object","description":"Complete template object with metadata, processing status, and content information","properties":{"id":{"type":"string","description":"Unique template identifier used for referencing in jobs and API operations","uniqueKey":"id","typeLabel":"string"},"type":{"type":"string","description":"Template file format (aep, zip, or mogrt)","uniqueKey":"type","typeLabel":"string"},"displayName":{"type":"string","description":"Human-readable name displayed in UI and template listings","uniqueKey":"displayName","typeLabel":"string"},"status":{"type":"string","description":"Current processing status (awaiting_upload, processing, uploaded, error)","uniqueKey":"status","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","description":"ISO timestamp when the template was initially created","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"ISO timestamp of the most recent template modification","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"compositions":{"type":"array","items":{"type":"string","description":"Individual composition name available for rendering","uniqueKey":"compositions.items.[INDEX]","typeLabel":"string"},"description":"List of compositions found within the template that can be rendered","uniqueKey":"compositions","typeLabel":"string[]"},"layers":{"type":"array","items":{"type":"string","description":"Individual layer name within the template","uniqueKey":"layers.items.[INDEX]","typeLabel":"string"},"description":"List of layers available for asset replacement and manipulation","uniqueKey":"layers","typeLabel":"string[]"},"mogrt":{"type":"object","description":"Motion Graphics Template specific metadata and properties","additionalProperties":true,"uniqueKey":"mogrt","typeLabel":"object"},"error":{"oneOf":[{"type":"string","description":"Error message if template processing or validation failed (null if successful)","uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error message if template processing or validation failed (null if successful)","uniqueKey":"error.oneOf.1","typeLabel":"null"}],"uniqueKey":"error","typeLabel":"string | null"},"uploadInfo":{"type":"object","description":"Presigned upload URL and metadata for securely uploading template files to cloud storage","properties":{"url":{"type":"string","description":"Presigned upload URL with temporary access credentials","isRequired":true,"uniqueKey":"uploadInfo.url","typeLabel":"string"},"method":{"type":"string","enum":["PUT","POST"],"description":"HTTP method required for the upload operation","isRequired":true,"uniqueKey":"uploadInfo.method","typeLabel":"enum\u003cstring>"},"expiresIn":{"type":"integer","description":"Time in seconds until the upload URL expires and becomes invalid","isRequired":true,"uniqueKey":"uploadInfo.expiresIn","typeLabel":"integer"},"key":{"type":"string","description":"Unique storage key/path where the uploaded file will be stored","isRequired":true,"uniqueKey":"uploadInfo.key","typeLabel":"string"},"fields":{"type":"object","description":"Additional form fields or headers required for successful upload","additionalProperties":{"type":"string","uniqueKey":"uploadInfo.fields.additionalProperties","typeLabel":"string"},"uniqueKey":"uploadInfo.fields","typeLabel":"object"}},"required":["url","method","expiresIn","key"],"uniqueKey":"uploadInfo","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","type":"\u003cstring>","displayName":"\u003cstring>","status":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","compositions":["\u003cstring>"],"layers":["\u003cstring>"],"mogrt":{},"error":"\u003cstring>","uploadInfo":{"url":"\u003cstring>","method":"PUT","expiresIn":123,"key":"\u003cstring>","fields":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"6fd494ca-bcf7-4bce-9a4a-a1a83ea3af4b":{"description":"Invalid request - missing required fields or invalid template type","content":{"application/json":{"schema":{"type":"object","description":"Validation error response with detailed field information","properties":{"error":{"type":"string","description":"Main error message","uniqueKey":"error","typeLabel":"string"},"details":{"type":"array","description":"Array of specific validation errors for individual fields","items":{"type":"object","properties":{"field":{"type":"string","description":"Field name that failed validation","uniqueKey":"details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","description":"Specific validation error for this field","uniqueKey":"details.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","details":[{"field":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"cb225637-b1aa-460f-b17b-677ca9b76d6a":{"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"}},"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":"Template Registration - Nexrender Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-03T16:20:47.862Z","originalFileLocation":"cloud/templates/register_template.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=\"Learn how to register an After Effects template in Nexrender Cloud via API.\">\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=\"Template Registration - Nexrender Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to register an After Effects template in Nexrender Cloud via API.\">\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/templates/register_template\">\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=Managing+Templates\u0026amp;title=Template+Registration\u0026amp;description=Learn+how+to+register+an+After+Effects+template+in+Nexrender+Cloud+via+API.\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=9274caf4f2eda1c70154a044510c2333e8f0f8cc6312e5104908f1560ac056d5\">\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=\"Template Registration - Nexrender Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to register an After Effects template in Nexrender Cloud via API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nexrender.mintlify.site/docs/_mintlify/api/og/v2?division=Managing+Templates\u0026amp;title=Template+Registration\u0026amp;description=Learn+how+to+register+an+After+Effects+template+in+Nexrender+Cloud+via+API.\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=9274caf4f2eda1c70154a044510c2333e8f0f8cc6312e5104908f1560ac056d5\">\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/templates/register_template\">\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/templates/register_template.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/templates/register_template#webpage\",\"url\":\"https://www.nexrender.com/docs/cloud/templates/register_template\",\"name\":\"Template Registration\",\"description\":\"Learn how to register an After Effects template in Nexrender Cloud via API.\",\"dateModified\":\"2026-07-03T16:20:47.862Z\",\"isPartOf\":{\"@id\":\"https://www.nexrender.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.nexrender.com/docs/cloud/templates/register_template#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.nexrender.com/docs/cloud/templates/register_template#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Managing Templates\",\"item\":\"https://www.nexrender.com/docs/cloud/templates/basics\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Template Registration\",\"item\":\"https://www.nexrender.com/docs/cloud/templates/register_template\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.nexrender.com/docs/cloud/templates/register_template#apireference\",\"headline\":\"Template Registration\",\"name\":\"Template Registration\",\"description\":\"Learn how to register an After Effects template in Nexrender Cloud via API.\",\"url\":\"https://www.nexrender.com/docs/cloud/templates/register_template\",\"mainEntityOfPage\":{\"@id\":\"https://www.nexrender.com/docs/cloud/templates/register_template#webpage\"},\"dateModified\":\"2026-07-03T16:20:47.862Z\",\"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","description":"Best practices managing the templates","href":"/cloud/templates/best_practice"},{"title":"Template Registration","openapi":"POST /templates","href":"/cloud/templates/register_template"},{"title":"Inspecting Templates","description":"Fetch template details, discover compositions and layers, download the source file, and update template properties","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","openapi":"GET /jobs/{id}","href":"/cloud/jobs/tracking_renders"},{"title":"Batch Jobs","openapi":"POST /batches","href":"/cloud/jobs/batch_jobs"},{"title":"Cancelling Jobs","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":"Template Registration - 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"]}