Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.
Nexrender automatically resolves fonts for most jobs - no fonts array required. When a job runs, the platform searches your team’s font bank for matches against every font the template references, installs the best candidates on the render worker, and lets After Effects make the final selection.The fonts array is only needed when you want to force-include a specific file that auto-resolution isn’t picking up:
{ "fonts": ["Montserrat-SemiBold.ttf"]}
If any filename listed in fonts isn’t in your team account, the job response will include a missingFonts array. The job still queues, but rendering may produce incorrect results - upload the missing files via POST /fonts before resubmitting.
Always upload the original font files bundled with your After Effects project. Fonts downloaded from other sources may share a family name but differ in metrics or kerning, causing layout shifts even when the platform matches the name correctly.
See Font Resolution for a full explanation of the resolution process and how to debug font issues.
"type": "lottie" exports the template to Lottie with Bodymovin instead of
rendering a video. Lottie access is turned on per team: contact support@nexrender.com to have it enabled. Without it,
a Lottie job is refused with 403 and errorCodeLOTTIE_DISABLED.The output is always a zip (outputUrl ends in .zip), with everything in a lottie/ folder:
lottie/data.json: the Lottie animation, with its images in lottie/images/, or inside data.json with
should_encode_images.
lottie/banner/, lottie/demo/, lottie/standalone/ and lottie/report/ when settings.lottie.export_modes
turns those exports on.
settings.lottie takes Bodymovin’s settings. These can be changed, each to a value of the same type as its default:
export_modes: standard (the Lottie JSON, on by default), banner, demo, standalone, reports
should_encode_images: embed images in data.json as base64, for a single self-contained file
rasterize_text: turn text layers into images (see below)
Every other setting has to keep its default value, so a whole settings object saved from Bodymovin’s panel is
accepted as long as nothing outside this list was changed. (export_mode, which the panel saves too, is accepted but
has no effect: use export_modes.) A request that changes any other setting, or sends a key Bodymovin doesn’t have,
is refused with 400 and errorCodeINVALID_SETTINGS, as is one with frames, codec or quality, which don’t
apply to a Lottie export.
Text stays live Lottie text and references its fonts by name, so your Lottie player has to provide the fonts. With
"rasterize_text": true, text layers become images instead and no fonts are needed, which we recommend for banners.
The trade-off: per-character text animation and text that changes over time are frozen, the images have a fixed
resolution, and the text can’t be edited later.
Load the fonts before the animation starts. Players such as lottie-web measure each character when the animation
loads, so text measured before its font is ready keeps the spacing of a fallback font. The fonts are listed in
data.json under fonts.list, as fFamily and fStyle:
// Inter Bold and Inter Medium, already declared on the page with @font-faceawait Promise.all([ document.fonts.load('700 16px "Inter"'), document.fonts.load('500 16px "Inter"'),]);lottie.loadAnimation({ container, renderer: 'svg', animationData });
.mogrt templates: the values from essential assets are applied to the export.
Only PNG and JPEG image layers are supported. A template with other images (PSD, AI, TIFF, SVG, …) or video
footage fails, naming the layers.
Render settings and Preview mode are mutually exclusive.
Nexrender Cloud supports the ability to render videos in preview mode. A fast, low-resolution render is helpful when debugging new templates or job payload changes.Use preview mode when:
Verifying that layerName overrides are correct
Testing a new template or composition
Integrating webhooks or downstream automation
You want to run a batch sanity check before scaling
Previews render faster and are cheaper on infrastructure resources. If your template is broken (bad expression, missing font, wrong composition), it’s better to catch it here.
You can build an internal CI pipeline that runs preview renders against all newly uploaded templates.
By default, outputs are stored in Nexrender Cloud storage. With the upload object, you can push rendered outputs directly to your S3-compatible storage.
By default, assets are injected into the composition defined in the template.composition field.However, you can override this on a per-asset basis using the composition key inside the asset definition.This is useful when you want to render a specific comp (like main), but modify a layer in a supporting comp (like main2).
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.
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.
List of fonts referenced in template but not found in team's font library
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":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cloud/jobs/initiating_renders","slug":"/cloud/jobs/initiating_renders","pageMetadata":{"title":"Initiating Renders","description":"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support. ","openapi":"POST /jobs","href":"/cloud/jobs/initiating_renders"},"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 initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.\"\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`,blockquote:`blockquote`,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,Note,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`submit-the-job`,children:`Submit the Job`}),`\n`,_jsx(_components.p,{children:`Submit the job with a simple POST request:`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Simple Job`,numberOfLines:`16`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`curl`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`X`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` POST`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` https`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`//api.nexrender.com/api/v2/jobs \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"main\"`})]}),`\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:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"assets\"`}),_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:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"layerName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Hello World!\"`})]}),`\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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple Job (with settings + upload)`,numberOfLines:`25`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`25`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`curl`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`X`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` POST`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` https`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`//api.nexrender.com/api/v2/jobs \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` -`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '`}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"main\"`})]}),`\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:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"settings\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"video\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"quality\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"full\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"codec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"video_h264_vbr_15mbps\"`})]}),`\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:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"upload\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"s3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"prefix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"marketing/campaign-42/\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"outputUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://videos.ourcompany.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"params\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"region\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"us-east-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"bucket\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"nexrender-outputs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"accessKeyId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"${secrets.S3_KEY_ID}\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"accessKeySecret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"${secrets.S3_KEY_SECRET}\"'})]}),`\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:`job-request-expected-response`,children:`Job Request Expected Response`}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Expected 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:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"01JTRDF7HCR8QAHYW8GPCP4S9Y\"`}),_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:` \"progress\"`}),_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:` \"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:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2025-05-14T12:00:00.000Z\"`})]}),`\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:` \"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/01K4B3YH2GP215NAWCZX42S2GH/outputs/01K4B3YH6H97ASTA8DS3MX8P8B.mp4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`job-request-internals`,children:`Job Request Internals`}),`\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:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`template.id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`🟢`}),_jsx(_components.td,{children:`ID of the template created earlier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`template.composition`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`🟢`}),_jsxs(_components.td,{children:[`Composition to render (optional for `,_jsx(_components.strong,{children:`.mogrt`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`assets`})}),_jsx(_components.td,{children:`array`}),_jsx(_components.td,{children:`🟢`}),_jsx(_components.td,{children:`List of asset overrides`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`preview`})}),_jsx(_components.td,{children:`boolean`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Set `,_jsx(_components.code,{children:`true`}),` for fast low-res preview`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fonts`})}),_jsx(_components.td,{children:`array`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`List of font `,_jsx(_components.strong,{children:`file names`}),` to include in render environment`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`webhook.url`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsx(_components.td,{children:`Callback endpoint for job status`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`webhook.method`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Typically `,_jsx(_components.code,{children:`POST`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`webhook.headers`})}),_jsx(_components.td,{children:`object`}),_jsx(_components.td,{children:`⚪`}),_jsx(_components.td,{children:`Extra HTTP headers to send with webhook`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`webhook.data`})}),_jsx(_components.td,{children:`object`}),_jsx(_components.td,{children:`⚪`}),_jsx(_components.td,{children:`Custom JSON payload attached to webhook`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`webhook.custom`})}),_jsx(_components.td,{children:`boolean`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`If `,_jsx(_components.code,{children:`true`}),`, webhook will send `,_jsx(_components.strong,{children:`only`}),` custom data (no system metadata)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.type`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Output type: `,_jsx(_components.code,{children:`video`}),`, `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`aep`}),` or `,_jsx(_components.code,{children:`lottie`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.lottie`})}),_jsx(_components.td,{children:`object`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Bodymovin settings for a `,_jsx(_components.code,{children:`lottie`}),` output (see `,_jsx(_components.a,{href:`#lottie-export`,children:`Lottie Export`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.frames`})}),_jsx(_components.td,{children:`int/arr`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Single frame (`,_jsx(_components.code,{children:`int`}),`), frame range (`,_jsx(_components.code,{children:`[start, end]`}),`) or every n-th frame (`,_jsx(_components.code,{children:`[start, end, step]`}),`, step 1-100) for still/image render`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.quality`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Render quality: `,_jsx(_components.code,{children:`draft`}),` or `,_jsx(_components.code,{children:`full`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.codec`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Output codec (e.g. `,_jsx(_components.code,{children:`video_h264_vbr_15mbps`}),`, `,_jsx(_components.code,{children:`video_prores_422`}),`, `,_jsx(_components.code,{children:`image_png`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.engine`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`After Effects engine version: `,_jsx(_components.code,{children:`ae2025`}),` or `,_jsx(_components.code,{children:`ae2026`}),` (default: `,_jsx(_components.code,{children:`ae2026`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`settings.multiFrame`})}),_jsx(_components.td,{children:`boolean`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`After Effects Multi-Frame Rendering: `,_jsx(_components.code,{children:`true`}),` (on) or `,_jsx(_components.code,{children:`false`}),` (off). If omitted, the render node’s default applies`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.prefix`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Folder path prefix for uploaded outputs (e.g. `,_jsx(_components.code,{children:`my-project/outputs/`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.outputUrl`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsx(_components.td,{children:`Custom base URL for accessing uploaded files`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.provider`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Storage provider (`,_jsx(_components.code,{children:`s3`}),` only at present)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.params.endpoint`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`S3-compatible endpoint (default: `,_jsx(_components.code,{children:`https://s3.amazonaws.com`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.params.region`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`🟢*`}),_jsx(_components.td,{children:`Cloud storage region`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.params.bucket`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`🟢*`}),_jsx(_components.td,{children:`Target bucket name for file uploads`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.params.acl`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`⚪`}),_jsxs(_components.td,{children:[`Access control (`,_jsx(_components.code,{children:`public-read`}),`, `,_jsx(_components.code,{children:`private`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.params.accessKeyId`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`🟢*`}),_jsx(_components.td,{children:`Access key ID for storage provider`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`upload.params.accessKeySecret`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`🟢*`}),_jsx(_components.td,{children:`Secret key for storage provider`})]})]})]}),`\n`,_jsx(_components.p,{children:`🟢 = Required parameter`}),`\n`,_jsx(_components.p,{children:`⚪ = Optional parameter`}),`\n`,_jsxs(_components.p,{children:[`* Required only if you provide a custom `,_jsx(_components.code,{children:`upload`}),` block.`]}),`\n`,_jsx(_components.p,{children:`Each asset object must have:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`type`}),`: one of (`,_jsx(_components.code,{children:`data`}),`, `,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`audio`}),`, `,_jsx(_components.code,{children:`video`}),`, `,_jsx(_components.code,{children:`essential`}),`, `,_jsx(_components.code,{children:`function`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`layerName`}),`: exact layer name from the template`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`property`}),`: like `,_jsx(_components.code,{children:`\"Source Text\"`}),` or `,_jsx(_components.code,{children:`\"Source Name\"`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`value`}),` or `,_jsx(_components.code,{children:`src`}),`: depending on asset type`]}),`\n`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`You can inspect available `,_jsx(_components.code,{children:`layerName`}),` using `,_jsx(_components.code,{children:`GET /templates/:id`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`fonts-resolution`,children:`Fonts Resolution`}),`\n`,_jsxs(_components.p,{children:[`Nexrender automatically resolves fonts for most jobs - no `,_jsx(_components.code,{children:`fonts`}),` array required. When a job runs, the platform searches your team’s font bank for matches against every font the template references, installs the best candidates on the render worker, and lets After Effects make the final selection.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`fonts`}),` array is only needed when you want to force-include a specific file that auto-resolution isn’t picking up:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,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:` \"fonts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Montserrat-SemiBold.ttf\"`}),_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:[`If any filename listed in `,_jsx(_components.code,{children:`fonts`}),` isn’t in your team account, the job response will include a `,_jsx(_components.code,{children:`missingFonts`}),` array. The job still queues, but rendering may produce incorrect results - upload the missing files via `,_jsx(_components.code,{children:`POST /fonts`}),` before resubmitting.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Always upload the original font files bundled with your After Effects project. Fonts downloaded from other sources may share a family name but differ in metrics or kerning, causing layout shifts even when the platform matches the name correctly.`})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/cloud/fonts/use`,children:`Font Resolution`}),` for a full explanation of the resolution process and how to debug font issues.`]}),`\n`,_jsx(Heading,{level:`2`,id:`render-settings`,children:`Render Settings`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Render settings and Preview mode are mutually exclusive.`})}),`\n`,_jsx(_components.p,{children:`The settings object allows you to specify the render output:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`type: “video”, “image”, “aep” or “lottie” (see `,_jsx(_components.a,{href:`#lottie-export`,children:`Lottie Export`}),`)`]}),`\n`,_jsx(_components.li,{children:`frames: single frame number, [start, end] or [start, end, step] array (required for image; step between 1 and 100)`}),`\n`,_jsx(_components.li,{children:`quality: “draft” or “full”`}),`\n`,_jsxs(_components.li,{children:[`codec: string identifier (e.g., `,_jsx(_components.code,{children:`video_h264_vbr_15mbps`}),`, `,_jsx(_components.code,{children:`video_prores_422`}),`, `,_jsx(_components.code,{children:`video_vp9`}),`, `,_jsx(_components.code,{children:`image_png`}),`, `,_jsx(_components.code,{children:`image_gif`}),`). See `,_jsx(_components.a,{href:`/cloud/jobs/rendering_settings`,children:`Render Settings`}),` for the full list.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Supported quality list:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`draft`}),`\n`,_jsx(_components.li,{children:`full`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Supported codecs:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`video_h264_vbr_1mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_vbr_5mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_vbr_15mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_vbr_40mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_cbr_1mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_cbr_5mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_cbr_15mbps`}),`\n`,_jsx(_components.li,{children:`video_h264_cbr_40mbps`}),`\n`,_jsx(_components.li,{children:`video_prores_422`}),`\n`,_jsx(_components.li,{children:`video_prores_4444`}),`\n`,_jsx(_components.li,{children:`video_vp8`}),`\n`,_jsx(_components.li,{children:`video_vp9`}),`\n`,_jsx(_components.li,{children:`video_vp8_alpha`}),`\n`,_jsx(_components.li,{children:`video_vp9_alpha`}),`\n`,_jsx(_components.li,{children:`image_jpeg`}),`\n`,_jsx(_components.li,{children:`image_png`}),`\n`,_jsx(_components.li,{children:`image_gif`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`WebM (`,_jsx(_components.code,{children:`video_vp8`}),`, `,_jsx(_components.code,{children:`video_vp9`}),` and their `,_jsx(_components.code,{children:`_alpha`}),` versions) and `,_jsx(_components.code,{children:`image_gif`}),` are converted from a source render; see `,_jsx(_components.a,{href:`/cloud/jobs/rendering_settings#webm-and-gif`,children:`WebM and GIF`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`examples`,children:`Examples`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Draft video`,numberOfLines:`11`,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:`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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"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`,_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:` \"settings\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"video\"`}),_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:` \"quality\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"draft\"`}),_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:` \"codec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"video_h264_vbr_15mbps\"`})]}),`\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(CodeBlock,{filename:`Single-frame still`,numberOfLines:`11`,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:`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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"poster\"`}),_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:` \"settings\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image\"`}),_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:` \"frames\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`125`}),_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:` \"codec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image_png\"`})]}),`\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(CodeBlock,{filename:`Image sequence`,numberOfLines:`11`,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:`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:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"shot_03\"`}),_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:` \"settings\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image\"`}),_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:` \"frames\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`200`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`260`}),_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:` \"codec\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image_jpeg\"`})]}),`\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(CodeBlock,{filename:`Zipped AEP project`,numberOfLines:`16`,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:`16`,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:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"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`,_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:` \"assets\"`}),_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:` \"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:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"Headline\"`}),_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:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"New value example\"`})]}),`\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:` \"settings\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"aep\"`})]}),`\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(CodeBlock,{filename:`Lottie export`,numberOfLines:`13`,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:`13`,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:` \"template\"`}),_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:`\"01M64DG7FD78RQBQF549ZMWG3S\"`})]}),`\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:` \"assets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_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:`\"essential\"`}),_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:`\"Maya Chen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_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:`\"essential\"`}),_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:`\"Accent Color\"`}),_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:`\"#2EE6C5\"`}),_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:` \"settings\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"lottie\"`}),_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:` \"lottie\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"should_encode_images\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_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:`lottie-export`,children:`Lottie Export`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"type\": \"lottie\"`}),` exports the template to `,_jsx(_components.a,{href:`https://lottiefiles.com/what-is-lottie`,children:`Lottie`}),` with Bodymovin instead of\nrendering a video. Lottie access is turned on per team: contact `,_jsx(_components.a,{href:`mailto:support@nexrender.com`,children:`support@nexrender.com`}),` to have it enabled. Without it,\na Lottie job is refused with `,_jsx(_components.code,{children:`403`}),` and `,_jsx(_components.code,{children:`errorCode`}),` `,_jsx(_components.code,{children:`LOTTIE_DISABLED`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The output is always a zip (`,_jsx(_components.code,{children:`outputUrl`}),` ends in `,_jsx(_components.code,{children:`.zip`}),`), with everything in a `,_jsx(_components.code,{children:`lottie/`}),` folder:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`lottie/data.json`}),`: the Lottie animation, with its images in `,_jsx(_components.code,{children:`lottie/images/`}),`, or inside `,_jsx(_components.code,{children:`data.json`}),` with\n`,_jsx(_components.code,{children:`should_encode_images`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`lottie/banner/`}),`, `,_jsx(_components.code,{children:`lottie/demo/`}),`, `,_jsx(_components.code,{children:`lottie/standalone/`}),` and `,_jsx(_components.code,{children:`lottie/report/`}),` when `,_jsx(_components.code,{children:`settings.lottie.export_modes`}),`\nturns those exports on.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`settings.lottie`}),` takes Bodymovin’s settings. These can be changed, each to a value of the same type as its default:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`export_modes`}),`: `,_jsx(_components.code,{children:`standard`}),` (the Lottie JSON, on by default), `,_jsx(_components.code,{children:`banner`}),`, `,_jsx(_components.code,{children:`demo`}),`, `,_jsx(_components.code,{children:`standalone`}),`, `,_jsx(_components.code,{children:`reports`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`should_encode_images`}),`: embed images in `,_jsx(_components.code,{children:`data.json`}),` as base64, for a single self-contained file`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`rasterize_text`}),`: turn text layers into images (see below)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`hiddens`}),`, `,_jsx(_components.code,{children:`guideds`}),`, `,_jsx(_components.code,{children:`original_names`}),`, `,_jsx(_components.code,{children:`skip_default_properties`}),`, `,_jsx(_components.code,{children:`shouldTrimData`}),`, `,_jsx(_components.code,{children:`pretty_print`}),`,\n`,_jsx(_components.code,{children:`useCompNamesAsIds`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`expressions`}),`: `,_jsx(_components.code,{children:`shouldBake`}),` (on by default), `,_jsx(_components.code,{children:`shouldBakeBeyondWorkArea`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`metadata.customProps`}),`: a list of objects with plain values, e.g. `,_jsx(_components.code,{children:`[{ \"name\": \"job\", \"value\": \"abc\", \"active\": true }]`})]}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`demoData.backgroundColor`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`banner`}),`: `,_jsx(_components.code,{children:`lottie_origin`}),` (`,_jsx(_components.code,{children:`local`}),` or `,_jsx(_components.code,{children:`cdnjs`}),`), `,_jsx(_components.code,{children:`lottie_library`}),`, `,_jsx(_components.code,{children:`lottie_renderer`}),`, `,_jsx(_components.code,{children:`use_original_sizes`}),`,\n`,_jsx(_components.code,{children:`width`}),`, `,_jsx(_components.code,{children:`height`}),`, `,_jsx(_components.code,{children:`click_tag`}),`, `,_jsx(_components.code,{children:`shouldIncludeAnimationDataInTemplate`}),`, `,_jsx(_components.code,{children:`shouldLoop`}),`, `,_jsx(_components.code,{children:`loopCount`})]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Every other setting has to keep its default value, so a whole settings object saved from Bodymovin’s panel is\naccepted as long as nothing outside this list was changed. (`,_jsx(_components.code,{children:`export_mode`}),`, which the panel saves too, is accepted but\nhas no effect: use `,_jsx(_components.code,{children:`export_modes`}),`.) A request that changes any other setting, or sends a key Bodymovin doesn’t have,\nis refused with `,_jsx(_components.code,{children:`400`}),` and `,_jsx(_components.code,{children:`errorCode`}),` `,_jsx(_components.code,{children:`INVALID_SETTINGS`}),`, as is one with `,_jsx(_components.code,{children:`frames`}),`, `,_jsx(_components.code,{children:`codec`}),` or `,_jsx(_components.code,{children:`quality`}),`, which don’t\napply to a Lottie export.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Text stays live Lottie text and references its fonts by name, so your Lottie player has to provide the fonts. With\n`,_jsx(_components.code,{children:`\"rasterize_text\": true`}),`, text layers become images instead and no fonts are needed, which we recommend for banners.\nThe trade-off: per-character text animation and text that changes over time are frozen, the images have a fixed\nresolution, and the text can’t be edited later.`]})}),`\n`,_jsxs(_components.p,{children:[`Load the fonts before the animation starts. Players such as lottie-web measure each character when the animation\nloads, so text measured before its font is ready keeps the spacing of a fallback font. The fonts are listed in\n`,_jsx(_components.code,{children:`data.json`}),` under `,_jsx(_components.code,{children:`fonts.list`}),`, as `,_jsx(_components.code,{children:`fFamily`}),` and `,_jsx(_components.code,{children:`fStyle`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Inter Bold and Inter Medium, already declared on the page with @font-face`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Promise`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`all`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`fonts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`load`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'700 16px \"Inter\"'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` document`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`fonts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`load`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'500 16px \"Inter\"'`}),_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:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`lottie`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`loadAnimation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`container`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`renderer:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'svg'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`animationData`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` });`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`.mogrt`}),` templates: the values from `,_jsx(_components.code,{children:`essential`}),` assets are applied to the export.`]}),`\n`,_jsx(_components.li,{children:`Only PNG and JPEG image layers are supported. A template with other images (PSD, AI, TIFF, SVG, …) or video\nfootage fails, naming the layers.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`preview-mode-vs-final-render`,children:`Preview Mode vs Final Render`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Render settings and Preview mode are mutually exclusive.`})}),`\n`,_jsx(_components.p,{children:`Nexrender Cloud supports the ability to render videos in preview mode. A fast, low-resolution render is helpful when debugging new templates or job payload changes.`}),`\n`,_jsx(_components.p,{children:`Use preview mode when:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Verifying that `,_jsx(_components.code,{children:`layerName`}),` overrides are correct`]}),`\n`,_jsx(_components.li,{children:`Testing a new template or composition`}),`\n`,_jsx(_components.li,{children:`Integrating webhooks or downstream automation`}),`\n`,_jsx(_components.li,{children:`You want to run a batch sanity check before scaling`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,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:`7`,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:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"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`,_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:` \"preview\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Previews render faster and are cheaper on infrastructure resources. If your template is broken (bad expression, missing font, wrong composition), it’s better to catch it here.`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`You can build an internal CI pipeline that runs preview renders against all newly uploaded templates.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`uploading-rendering-results`,children:`Uploading Rendering Results`}),`\n`,_jsx(_components.p,{children:`By default, outputs are stored in Nexrender Cloud storage. With the upload object, you can push rendered outputs directly to your S3-compatible storage.`}),`\n`,_jsx(CodeBlock,{filename:`Render Upload`,numberOfLines:`19`,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:`19`,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:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"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`,_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:` \"upload\"`}),_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:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"s3\"`}),_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:` \"prefix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"marketing/campaign-42/\"`}),_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://cdn.example.com/media\"`}),_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:` \"params\"`}),_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:` \"endpoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://s3.amazonaws.com\"`}),_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:` \"region\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"us-east-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:` \"bucket\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"nexrender-outputs\"`}),_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:` \"acl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"public-read\"`}),_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:` \"accessKeyId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${secrets.AWS_KEY_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:` \"accessKeySecret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${secrets.AWS_KEY_SECRET}\"'})]}),`\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(Warning,{children:_jsxs(_components.p,{children:[`Don’t embed raw keys in client-side requests. `,_jsx(_components.a,{href:`/cloud/jobs/secrets`,children:`Use the Secrets API`}),` to manage credentials securely.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`webhooks`,children:`Webhooks`}),`\n`,_jsx(_components.p,{children:`You can extend your rendering job with a webhook:`}),`\n`,_jsx(CodeBlock,{filename:`Webhook Configuration`,numberOfLines:`12`,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:`12`,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:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"main\"`})]}),`\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:` \"webhook\"`}),_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://yourdomain.com/webhooks/render-complete\"`}),_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:` \"data\"`}),_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:` \"customField\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"someValue\"`})]}),`\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:`targeting-layers-in-alternate-compositions`,children:`Targeting Layers in Alternate Compositions`}),`\n`,_jsxs(_components.p,{children:[`By default, assets are injected into the composition defined in the `,_jsx(_components.code,{children:`template.composition`}),` field.`]}),`\n`,_jsxs(_components.p,{children:[`However, you can override this on a per-asset basis using the `,_jsx(_components.code,{children:`composition`}),` key inside the asset definition.`]}),`\n`,_jsxs(_components.p,{children:[`This is useful when you want to render a specific comp (like `,_jsx(_components.code,{children:`main`}),`), but modify a layer in a supporting comp (like `,_jsx(_components.code,{children:`main2`}),`).`]}),`\n`,_jsx(Heading,{level:`4`,id:`example`,children:`Example`}),`\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:` \"template\"`}),_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:`\"01JTGM9GCR71JV7EJYDF45QAFD\"`}),_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:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"main\"`})]}),`\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:` \"assets\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"data\"`}),_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:` \"layerName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"title\"`}),_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:` \"composition\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"main2\"`}),_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:` \"property\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Source Text\"`}),_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:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hello World!\"`})]}),`\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:`validate-the-assets-before-submitting`,children:`Validate the Assets Before Submitting`}),`\n`,_jsx(_components.p,{children:`Before rendering, always validate:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`composition`}),` name exists (from template introspection)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`layerName`}),` matches exactly`]}),`\n`,_jsxs(_components.li,{children:[`URLs for assets return a `,_jsx(_components.code,{children:`200 OK`})]}),`\n`,_jsx(_components.li,{children:`Font dependencies have been preloaded`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`full-api-reference`,children:`Full 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":"Initiating Renders","description":"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support. ","openapi":"POST /jobs","href":"/cloud/jobs/initiating_renders"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Submit the Job","slug":"submit-the-job","depth":2,"children":[{"title":"Job Request Expected Response","slug":"job-request-expected-response","depth":3,"children":[]},{"title":"Job Request Internals","slug":"job-request-internals","depth":3,"children":[]}]},{"title":"Fonts Resolution","slug":"fonts-resolution","depth":2,"children":[]},{"title":"Render Settings","slug":"render-settings","depth":2,"children":[{"title":"Examples","slug":"examples","depth":3,"children":[]}]},{"title":"Lottie Export","slug":"lottie-export","depth":2,"children":[]},{"title":"Preview Mode vs Final Render","slug":"preview-mode-vs-final-render","depth":2,"children":[]},{"title":"Uploading Rendering Results","slug":"uploading-rendering-results","depth":2,"children":[]},{"title":"Webhooks","slug":"webhooks","depth":2,"children":[]},{"title":"Targeting Layers in Alternate Compositions","slug":"targeting-layers-in-alternate-compositions","depth":2,"children":[{"title":"Example","slug":"example","depth":4,"children":[]}]},{"title":"Validate the Assets Before Submitting","slug":"validate-the-assets-before-submitting","depth":2,"children":[]},{"title":"Full API Reference","slug":"full-api-reference","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create new job","description":"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support. ","x-mint":{"mcp":{"enabled":true,"name":"create-job","description":"Submit a new After Effects render job with chosen template, assets (including nested job assets), fonts, and webhooks."}},"requestBody":"e4f35036-910c-4d45-bfd3-35287acde6ee","responses":{"201":"d6b4929a-06bc-42c4-9aae-9f0149bca6e7","400":"2ea5cd37-593b-49a1-9383-129af4d933de","401":"fbef1335-005a-40fe-ba75-7b3c182010a5","404":"8158d2ce-e055-421c-85a9-fb896ebe1608"},"tags":["Render Management"],"operationId":"createJob","method":"post","type":"path","servers":["b26400f0-8fbd-4eb4-b804-72ddbb27854e"],"security":["7c33546e-cfd6-4b5d-9793-a4f2e17ef296"],"path":"/jobs","baseUrlOptions":["https://api.nexrender.com/api/v2"],"title":"Create new job","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"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":"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":"template.src","typeLabel":"string"},"composition":{"oneOf":[{"type":"string","description":"Name of the specific composition within the template to render (optional for .mogrt)","uniqueKey":"template.composition.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name of the specific composition within the template to render (optional for .mogrt)","uniqueKey":"template.composition.oneOf.1","typeLabel":"null"}],"uniqueKey":"template.composition","typeLabel":"string | null"}},"required":["id"],"additionalProperties":true,"isRequired":true,"uniqueKey":"template","typeLabel":"object"},"preview":{"type":"boolean","default":false,"description":"Generate a low-quality preview render instead of full quality output","uniqueKey":"preview","typeLabel":"boolean"},"fonts":{"type":"array","items":{"type":"string","uniqueKey":"fonts.items.[INDEX]","typeLabel":"string"},"default":[],"description":"List of font file names to include in the render environment","uniqueKey":"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":"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":"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":"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":"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":"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":"assets.items.[INDEX].oneOf.0.params.layerName.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"assets.items.[INDEX].oneOf.0.params.layerName.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Target layer name(s) for function assets","minItems":1,"uniqueKey":"assets.items.[INDEX].oneOf.0.params.layerName.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"assets.items.[INDEX].oneOf.0.params.layerName","typeLabel":"string | string[]"}},"additionalProperties":true,"uniqueKey":"assets.items.[INDEX].oneOf.0.params","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"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":"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":"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":"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":"assets.items.[INDEX].oneOf.1.template.composition","typeLabel":"string"},"name":{"type":"string","description":"Template name (optional)","uniqueKey":"assets.items.[INDEX].oneOf.1.template.name","typeLabel":"string"}},"required":["id","composition"],"isRequired":true,"uniqueKey":"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":"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":"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":"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":"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":"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":"assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"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":"assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params.layerName","typeLabel":"string | string[]"}},"additionalProperties":true,"uniqueKey":"assets.items.[INDEX].oneOf.1.assets.items.[INDEX].params","typeLabel":"object"}},"required":["type"],"additionalProperties":true,"uniqueKey":"assets.items.[INDEX].oneOf.1.assets.items.[INDEX]","typeLabel":"object"},"description":"Assets to inject into the child job","uniqueKey":"assets.items.[INDEX].oneOf.1.assets","typeLabel":"object[]"},"preview":{"type":"boolean","default":false,"description":"Generate preview quality for the child job","uniqueKey":"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":"assets.items.[INDEX].oneOf.1.settings.type","typeLabel":"enum\u003cstring>"},"frames":{"oneOf":[{"type":"integer","description":"Frame specification for image output","uniqueKey":"assets.items.[INDEX].oneOf.1.settings.frames.oneOf.0","typeLabel":"integer"},{"type":"array","items":{"type":"integer","uniqueKey":"assets.items.[INDEX].oneOf.1.settings.frames.oneOf.1.items.[INDEX]","typeLabel":"integer"},"description":"Frame specification for image output","uniqueKey":"assets.items.[INDEX].oneOf.1.settings.frames.oneOf.1","typeLabel":"integer[]"}],"uniqueKey":"assets.items.[INDEX].oneOf.1.settings.frames","typeLabel":"integer | integer[]"},"quality":{"type":"string","enum":["draft","full"],"description":"Render quality","uniqueKey":"assets.items.[INDEX].oneOf.1.settings.quality","typeLabel":"enum\u003cstring>"},"codec":{"type":"string","description":"Output codec","uniqueKey":"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":"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":"assets.items.[INDEX].oneOf.1.settings.multiFrame","typeLabel":"boolean"}},"uniqueKey":"assets.items.[INDEX].oneOf.1.settings","typeLabel":"object"}},"uniqueKey":"assets.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"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":"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":"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":"settings.frames.oneOf.0","typeLabel":"integer"},{"type":"array","items":{"type":"integer","minimum":0,"uniqueKey":"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":"settings.frames.oneOf.1","typeLabel":"integer[]"}],"uniqueKey":"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":"settings.quality","typeLabel":"enum\u003cstring>"},"codec":{"type":"string","description":"Output codec specification (e.g., 'h264_vbr_15mbps', 'prores_422', 'png', 'jpeg')","uniqueKey":"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":"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":"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":"settings.lottie","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"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":"upload.prefix","typeLabel":"string"},"outputUrl":{"type":"string","description":"Custom base URL for accessing uploaded files publicly","uniqueKey":"upload.outputUrl","typeLabel":"string"},"provider":{"type":"string","enum":["s3"],"default":"s3","description":"Storage provider - 's3' for Amazon S3 compatible","uniqueKey":"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":"upload.params.region","typeLabel":"string"},"bucket":{"type":"string","description":"Target bucket name for file uploads (required)","isRequired":true,"uniqueKey":"upload.params.bucket","typeLabel":"string"},"accessKeyId":{"type":"string","description":"AWS access key ID or equivalent credential (required)","isRequired":true,"uniqueKey":"upload.params.accessKeyId","typeLabel":"string"},"accessKeySecret":{"type":"string","description":"AWS secret access key or equivalent credential (required)","isRequired":true,"uniqueKey":"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":"upload.params.endpoint","typeLabel":"string"},"acl":{"type":"string","description":"Access control list setting for uploaded files (e.g., 'public-read', 'private')","uniqueKey":"upload.params.acl","typeLabel":"string"}},"required":["region","bucket","accessKeyId","accessKeySecret"],"additionalProperties":false,"uniqueKey":"upload.params","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"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":"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":"webhook.method","typeLabel":"enum\u003cstring>"},"headers":{"type":"object","description":"Additional HTTP headers to include in webhook requests","additionalProperties":true,"uniqueKey":"webhook.headers","typeLabel":"object"},"data":{"type":"object","description":"Custom data payload to include with webhook notifications","additionalProperties":true,"uniqueKey":"webhook.data","typeLabel":"object"},"custom":{"type":"boolean","default":false,"description":"Flag indicating if webhook should only include custom data provided by the user","uniqueKey":"webhook.custom","typeLabel":"boolean"}},"required":["url"],"uniqueKey":"webhook","typeLabel":"object"}},"required":["template"],"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"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":{"d6b4929a-06bc-42c4-9aae-9f0149bca6e7":{"description":"Job successfully created and queued for processing. Returns 'pending' status with children array when nested job assets are present.","content":{"application/json":{"schema":{"type":"object","description":"Response after creating a job, includes children info for parent jobs","properties":{"id":{"type":"string","description":"Unique job identifier","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"status":{"type":"string","enum":["queued","pending"],"description":"'queued' for regular jobs, 'pending' for parent jobs waiting on children","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"outputUrl":{"type":"string","description":"URL where the rendered output will be available","isRequired":true,"uniqueKey":"outputUrl","typeLabel":"string"},"children":{"type":"array","description":"Child job details (only present for parent jobs with nested job assets)","items":{"type":"object","properties":{"id":{"type":"string","description":"Child job identifier","isRequired":true,"uniqueKey":"children.items.[INDEX].id","typeLabel":"string"},"outputUrl":{"type":"string","description":"URL where the child job's rendered output will be available","isRequired":true,"uniqueKey":"children.items.[INDEX].outputUrl","typeLabel":"string"},"status":{"type":"string","description":"Child job status (typically 'queued')","uniqueKey":"children.items.[INDEX].status","typeLabel":"string"},"missingFonts":{"type":"array","items":{"type":"string","uniqueKey":"children.items.[INDEX].missingFonts.items.[INDEX]","typeLabel":"string"},"description":"List of fonts referenced in child's template but not found in team's font library (only present if fonts are missing)","uniqueKey":"children.items.[INDEX].missingFonts","typeLabel":"string[]"}},"required":["id","outputUrl"],"uniqueKey":"children.items.[INDEX]","typeLabel":"object"},"uniqueKey":"children","typeLabel":"object[]"},"missingFonts":{"type":"array","items":{"type":"string","uniqueKey":"missingFonts.items.[INDEX]","typeLabel":"string"},"description":"List of fonts referenced in template but not found in team's font library","uniqueKey":"missingFonts","typeLabel":"string[]"}},"required":["id","status","outputUrl"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","status":"queued","outputUrl":"\u003cstring>","children":[{"id":"\u003cstring>","outputUrl":"\u003cstring>","status":"\u003cstring>","missingFonts":["\u003cstring>"]}],"missingFonts":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"2ea5cd37-593b-49a1-9383-129af4d933de":{"description":"Invalid request - missing required fields or invalid template configuration","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"},"fbef1335-005a-40fe-ba75-7b3c182010a5":{"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"},"8158d2ce-e055-421c-85a9-fb896ebe1608":{"description":"Template not found - the specified template ID does not exist","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":"Initiating Renders - Nexrender Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T12:27:05.367Z","originalFileLocation":"cloud/jobs/initiating_renders.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 initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.\">\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=\"Initiating Renders - Nexrender Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.\">\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/initiating_renders\">\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=Initiating+Renders\u0026amp;description=Learn+how+to+initiate+render+jobs+in+Nexrender+Cloud+by+sending+a+POST+%2Fjobs+request.+Includes+full+payload+structure%2C+asset+injection%2C+settings%2C+preview+mode%2C+\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=5e8cb89d7794f442a695dd2fb7df3de906c282b889857c237b07d5f107bb270f\">\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=\"Initiating Renders - Nexrender Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nexrender.mintlify.site/docs/_mintlify/api/og/v2?division=Rendering+Jobs\u0026amp;title=Initiating+Renders\u0026amp;description=Learn+how+to+initiate+render+jobs+in+Nexrender+Cloud+by+sending+a+POST+%2Fjobs+request.+Includes+full+payload+structure%2C+asset+injection%2C+settings%2C+preview+mode%2C+\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=5e8cb89d7794f442a695dd2fb7df3de906c282b889857c237b07d5f107bb270f\">\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/initiating_renders\">\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/initiating_renders.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/initiating_renders#webpage\",\"url\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders\",\"name\":\"Initiating Renders\",\"description\":\"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.\",\"dateModified\":\"2026-11-05T12:27:05.367Z\",\"isPartOf\":{\"@id\":\"https://www.nexrender.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rendering Jobs\",\"item\":\"https://www.nexrender.com/docs/cloud/jobs/rendering_basics\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Initiating Renders\",\"item\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders#apireference\",\"headline\":\"Initiating Renders\",\"name\":\"Initiating Renders\",\"description\":\"Learn how to initiate render jobs in Nexrender Cloud by sending a POST /jobs request. Includes full payload structure, asset injection, settings, preview mode, uploading results and webhook support.\",\"url\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders\",\"mainEntityOfPage\":{\"@id\":\"https://www.nexrender.com/docs/cloud/jobs/initiating_renders#webpage\"},\"dateModified\":\"2026-11-05T12:27:05.367Z\",\"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","description":"Learn how to create and submit render jobs in Nexrender Cloud. Define compositions, inject dynamic assets like text, images, audio, and trigger renders via API.","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","description":null,"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":"Initiating Renders - 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"]}