Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters ‘pending’ state until all children complete.
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":"api-reference/render-management/create-joinstitch-job","slug":"/api-reference/render-management/create-joinstitch-job","pageMetadata":{"title":"Create join/stitch job","description":"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters 'pending' state until all children complete.","deprecated":null,"version":null,"openapi":"/openapi.json post /jobs/join","href":"/api-reference/render-management/create-joinstitch-job","autogeneratedByOpenApi":true},"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: \"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters ‘pending’ state until all children complete.\"\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create join/stitch job","description":"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters 'pending' state until all children complete.","deprecated":null,"version":null,"openapi":"/openapi.json post /jobs/join","href":"/api-reference/render-management/create-joinstitch-job","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create join/stitch job","description":"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters 'pending' state until all children complete.","x-mint":{"mcp":{"enabled":true,"name":"create-join-job","description":"Create a job that stitches multiple videos together. Supports both static video URLs and nested render jobs."}},"requestBody":"9a115196-8435-40a0-b9db-7f2e2d98d694","responses":{"201":"050df3d1-2e53-42b6-b578-e86747ded816","400":"308829fa-6904-4be2-9689-d8ca6a1c1cae","401":"b45997c0-4868-46bb-acd4-a9f82c1e762a","404":"bf15a434-4098-419a-b360-5db3ce6a25de"},"tags":["Render Management"],"operationId":"createJoinJob","method":"post","type":"path","servers":["b26400f0-8fbd-4eb4-b804-72ddbb27854e"],"security":["7c33546e-cfd6-4b5d-9793-a4f2e17ef296"],"path":"/jobs/join","baseUrlOptions":["https://api.nexrender.com/api/v2"],"title":"Create join/stitch job","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"Configuration for creating a join/stitch job that combines multiple videos into one","properties":{"assets":{"type":"array","description":"Ordered list of video or job assets to stitch together","items":{"oneOf":[{"type":"object","description":"A static video asset for the join/stitch operation","required":["type","src"],"properties":{"type":{"type":"string","enum":["video"],"description":"Must be 'video' for static video assets","isRequired":true,"uniqueKey":"assets.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"src":{"type":"string","description":"URL to the video file to include in the stitch","isRequired":true,"uniqueKey":"assets.items.[INDEX].oneOf.0.src","typeLabel":"string"}},"uniqueKey":"assets.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A job asset that will be rendered first and its output included in the stitch","required":["type","template"],"properties":{"type":{"type":"string","enum":["job"],"description":"Must be 'job' for render job assets","isRequired":true,"uniqueKey":"assets.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"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","isRequired":true,"uniqueKey":"assets.items.[INDEX].oneOf.1.template.id","typeLabel":"string"},"composition":{"type":"string","description":"Composition name to render","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","uniqueKey":"assets.items.[INDEX].oneOf.1.preview","typeLabel":"boolean"},"settings":{"type":"object","description":"Render settings for the child job","properties":{"frames":{"oneOf":[{"type":"integer","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"},"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"],"uniqueKey":"assets.items.[INDEX].oneOf.1.settings.quality","typeLabel":"enum\u003cstring>"},"codec":{"type":"string","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"},"minItems":1,"isRequired":true,"uniqueKey":"assets","typeLabel":"object[]"},"settings":{"type":"object","description":"Settings for the stitch/join operation","properties":{"preset":{"type":"string","enum":["mp4"],"description":"Output format preset","uniqueKey":"settings.preset","typeLabel":"enum\u003cstring>"}},"uniqueKey":"settings","typeLabel":"object"},"upload":{"type":"object","description":"Custom upload configuration (same as regular job creation)","properties":{"prefix":{"type":"string","uniqueKey":"upload.prefix","typeLabel":"string"},"outputUrl":{"type":"string","uniqueKey":"upload.outputUrl","typeLabel":"string"},"provider":{"type":"string","enum":["s3"],"default":"s3","uniqueKey":"upload.provider","typeLabel":"enum\u003cstring>"},"params":{"type":"object","properties":{"region":{"type":"string","isRequired":true,"uniqueKey":"upload.params.region","typeLabel":"string"},"bucket":{"type":"string","isRequired":true,"uniqueKey":"upload.params.bucket","typeLabel":"string"},"accessKeyId":{"type":"string","isRequired":true,"uniqueKey":"upload.params.accessKeyId","typeLabel":"string"},"accessKeySecret":{"type":"string","isRequired":true,"uniqueKey":"upload.params.accessKeySecret","typeLabel":"string"},"endpoint":{"type":"string","uniqueKey":"upload.params.endpoint","typeLabel":"string"},"acl":{"type":"string","uniqueKey":"upload.params.acl","typeLabel":"string"}},"required":["region","bucket","accessKeyId","accessKeySecret"],"uniqueKey":"upload.params","typeLabel":"object"}},"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":["assets"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"assets":[{"type":"video","src":"\u003cstring>"}],"settings":{"preset":"mp4"},"upload":{"prefix":"\u003cstring>","outputUrl":"\u003cstring>","provider":"s3"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"050df3d1-2e53-42b6-b578-e86747ded816":{"description":"Join job successfully created","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"},"308829fa-6904-4be2-9689-d8ca6a1c1cae":{"description":"Invalid request - missing required fields or invalid asset 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"},"b45997c0-4868-46bb-acd4-a9f82c1e762a":{"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"},"bf15a434-4098-419a-b360-5db3ce6a25de":{"description":"Template not found - a nested job references a template ID that 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":"Create join/stitch job - Nexrender Cloud Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T17:24:39.456Z","originalFileLocation":"api-reference/render-management/create-joinstitch-job.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=\"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters \u0026#x27;pending\u0026#x27; state until all children complete.\">\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=\"Create join/stitch job - Nexrender Cloud Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters \u0026#x27;pending\u0026#x27; state until all children complete.\">\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/api-reference/render-management/create-joinstitch-job\">\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=Create+join%2Fstitch+job\u0026amp;description=Create+a+job+that+stitches+multiple+videos+together.+Assets+can+be+static+video+URLs+or+nested+job+definitions+that+render+first.+When+assets+include+nested+job\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=443d65d0bca314be1a5253280969b259af43929996d193e2f2aebc5df79015ab\">\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=\"Create join/stitch job - Nexrender Cloud Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters \u0026#x27;pending\u0026#x27; state until all children complete.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nexrender.mintlify.site/docs/_mintlify/api/og/v2?division=Rendering+Jobs\u0026amp;title=Create+join%2Fstitch+job\u0026amp;description=Create+a+job+that+stitches+multiple+videos+together.+Assets+can+be+static+video+URLs+or+nested+job+definitions+that+render+first.+When+assets+include+nested+job\u0026amp;theme=925e007d6b0f78ad7b8f0c04\u0026amp;signature=443d65d0bca314be1a5253280969b259af43929996d193e2f2aebc5df79015ab\">\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/api-reference/render-management/create-joinstitch-job\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/render-management/create-joinstitch-job.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/api-reference/render-management/create-joinstitch-job#webpage\",\"url\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job\",\"name\":\"Create join/stitch job\",\"description\":\"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters 'pending' state until all children complete.\",\"dateModified\":\"2026-11-06T17:24:39.456Z\",\"isPartOf\":{\"@id\":\"https://www.nexrender.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rendering Jobs\",\"item\":\"https://www.nexrender.com/docs/api-reference/render-management/list-jobs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create join/stitch job\",\"item\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job#apireference\",\"headline\":\"Create join/stitch job\",\"name\":\"Create join/stitch job\",\"description\":\"Create a job that stitches multiple videos together. Assets can be static video URLs or nested job definitions that render first. When assets include nested jobs, child jobs are created and rendered before the parent stitch operation. The parent job enters 'pending' state until all children complete.\",\"url\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job\",\"mainEntityOfPage\":{\"@id\":\"https://www.nexrender.com/docs/api-reference/render-management/create-joinstitch-job#webpage\"},\"dateModified\":\"2026-11-06T17:24:39.456Z\",\"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","pages":[{"title":"Documentation","href":"/cloud/introduction"}]},{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"Templates Management","pages":[{"title":"List all templates (deprecated)","deprecated":true,"version":null,"openapi":"/openapi.json get /templates","href":"/api-reference/template-management/list-all-templates-deprecated"},{"title":"List templates (v3)","deprecated":null,"version":null,"openapi":"/openapi.json get /v3/templates","href":"/api-reference/template-management/list-templates-v3"},{"title":"Create new template","deprecated":null,"version":null,"openapi":"/openapi.json post /templates","href":"/api-reference/template-management/create-new-template"},{"title":"Get template details","deprecated":null,"version":null,"openapi":"/openapi.json get /templates/{id}","href":"/api-reference/template-management/get-template-details"},{"title":"Get template metadata (v3)","deprecated":null,"version":null,"openapi":"/openapi.json get /v3/templates/{id}","href":"/api-reference/template-management/get-template-metadata-v3"},{"title":"List template compositions (v3)","deprecated":null,"version":null,"openapi":"/openapi.json get /v3/templates/{id}/compositions","href":"/api-reference/template-management/list-template-compositions-v3"},{"title":"List template layers (v3)","deprecated":null,"version":null,"openapi":"/openapi.json get /v3/templates/{id}/layers","href":"/api-reference/template-management/list-template-layers-v3"},{"title":"Update template","deprecated":null,"version":null,"openapi":"/openapi.json patch /templates/{id}","href":"/api-reference/template-management/update-template"},{"title":"Delete template","deprecated":null,"version":null,"openapi":"/openapi.json delete /templates/{id}","href":"/api-reference/template-management/delete-template"},{"title":"Get download URL for template file","deprecated":null,"version":null,"openapi":"/openapi.json get /templates/{id}/download","href":"/api-reference/template-management/get-download-url-for-template-file"},{"title":"Get fresh upload URL for template file","deprecated":null,"version":null,"openapi":"/openapi.json put /templates/{id}/upload","href":"/api-reference/template-management/get-fresh-upload-url-for-template-file"}]},{"group":"Rendering Jobs","pages":[{"title":"List jobs","deprecated":null,"version":null,"openapi":"/openapi.json get /jobs","href":"/api-reference/render-management/list-jobs"},{"title":"Create new job","deprecated":null,"version":null,"openapi":"/openapi.json post /jobs","href":"/api-reference/render-management/create-new-job"},{"title":"Cancel multiple jobs","description":"Cancel multiple jobs by ID. Each explicitly requested job must be in a cancellable state. Related parent, child, or sibling jobs discovered through nesting are cancelled on a best-effort basis and included in the response, including sibling cascades from child cancellation.","deprecated":null,"version":null,"openapi":"/openapi.json post /jobs/cancel","href":"/api-reference/render-management/cancel-multiple-jobs"},{"title":"Create join/stitch job","deprecated":null,"version":null,"openapi":"/openapi.json post /jobs/join","href":"/api-reference/render-management/create-joinstitch-job"},{"title":"Get job details","description":"Retrieve complete information about a specific job including status, progress, assets, and statistics","deprecated":null,"version":null,"openapi":"/openapi.json get /jobs/{id}","href":"/api-reference/render-management/get-job-details"},{"title":"Get job render logs","deprecated":null,"version":null,"openapi":"/openapi.json get /jobs/{id}/logs","href":"/api-reference/render-management/get-job-render-logs"},{"title":"Cancel job","deprecated":null,"version":null,"openapi":"/openapi.json patch /jobs/{id}/cancel","href":"/api-reference/render-management/cancel-job"}]},{"group":"Batch Jobs","pages":[{"title":"Create batch of jobs","deprecated":null,"version":null,"openapi":"/openapi.json post /batches","href":"/api-reference/batch-management/create-batch-of-jobs"},{"title":"Get batch status","deprecated":null,"version":null,"openapi":"/openapi.json get /batches/{id}","href":"/api-reference/batch-management/get-batch-status"},{"title":"Cancel batch jobs","deprecated":null,"version":null,"openapi":"/openapi.json post /batches/{id}/cancel","href":"/api-reference/batch-management/cancel-batch-jobs"}]},{"group":"Fonts Management","pages":[{"title":"List all fonts for team","deprecated":null,"version":null,"openapi":"/openapi.json get /fonts","href":"/api-reference/font-management/list-all-fonts-for-team"},{"title":"Upload new font","deprecated":null,"version":null,"openapi":"/openapi.json post /fonts","href":"/api-reference/font-management/upload-new-font"},{"title":"Get font metadata","deprecated":null,"version":null,"openapi":"/openapi.json get /fonts/{id}","href":"/api-reference/font-management/get-font-metadata"},{"title":"Delete font","deprecated":null,"version":null,"openapi":"/openapi.json delete /fonts/{id}","href":"/api-reference/font-management/delete-font"}]},{"group":"Secrets Management","pages":[{"title":"List all secrets","deprecated":null,"version":null,"openapi":"/openapi.json get /secrets","href":"/api-reference/secret-management/list-all-secrets"},{"title":"Create a new secret","deprecated":null,"version":null,"openapi":"/openapi.json put /secrets","href":"/api-reference/secret-management/create-a-new-secret"},{"title":"Delete secret","deprecated":null,"version":null,"openapi":"/openapi.json delete /secrets/{id}","href":"/api-reference/secret-management/delete-secret"}]},{"group":"Team","pages":[{"title":"Get your team","deprecated":null,"version":null,"openapi":"/openapi.json get /team","href":"/api-reference/team/get-your-team"}]}]},{"tab":"Changelog","icon":"history","pages":[{"title":"Changelog","href":"/cloud/changelog"}]}]},"basePath":"","title":"Create join/stitch job - 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"]}