How It All Fits Together

Concepts
Template
A template is an After Effects project file uploaded to Nexrender Cloud. It’s the reusable foundation for all render jobs. Once uploaded, Nexrender introspects the file and extracts its available compositions and editable layers, which you can then target in job payloads. Supported formats:Job
A job is a single render instruction. It references a template and composition, defines which assets to inject dynamically, and optionally specifies output settings, a webhook callback, and an upload destination. Jobs are stateless and idempotent - the same payload will always produce the same output, as long as the template hasn’t changed. A job moves through the following statuses:Assets
Assets are the dynamic inputs injected into a job at render time. Each asset targets a named layer in the composition and replaces or overrides its content.Batch
A batch is a way to submit up to 1,000 jobs in a single API request. Each job in the batch follows the same schema as a regular job. The API returns abatchId you can use to track the group’s overall progress.
Batches support partial success - if some jobs fail validation, the rest still proceed. The response tells you exactly which jobs succeeded and which failed, along with error details per job.
Use a batch when:
- Rendering a large set of personalised videos (e.g. event invites, product variants)
- You need to submit high volumes quickly and track them as a unit
- You want to cancel the entire group in one call if needed
Nested Jobs
A nested job is a child render whose output is automatically injected as a video or image layer into a parent job. You define it inline as an asset oftype: "job" inside the parent’s asset list.
When Nexrender sees a nested job asset, it:
- Creates and renders the child job first
- Waits for the child to finish (
pendingstate on the parent) - Injects the child’s
outputUrlinto the specified layer of the parent - Renders the parent
Join Job
A join job stitches multiple video clips into a single output. It is submitted to a dedicated endpoint (POST /jobs/join) and takes an ordered list of assets - either static video URLs or nested job definitions that render first.
Use a join job when:
- You want to concatenate intro, main content, and outro segments
- Each segment is rendered separately and needs to be assembled in sequence
- You want the full pipeline - render + stitch - handled in one API call
Webhook
A webhook is an HTTP callback you configure on a job to receive a notification when rendering completes or fails. Rather than pollingGET /jobs/:id repeatedly, Nexrender will POST the job result to your endpoint.
Nexrender retries failed webhook deliveries up to 3 times with exponential backoff.
Fonts
Fonts are.ttf files you upload once to your Nexrender team account. Once uploaded, you reference them by filename in the fonts array of any job payload. Nexrender installs them on the render worker before After Effects starts, ensuring your typography renders correctly.
If a job references a font that hasn’t been uploaded, Nexrender will flag it in the missingFonts field of the job creation response.
Secrets
Secrets are encrypted key-value pairs stored at the team level. You reference them in job payloads using${secrets.NAME} syntax - for example in upload.params to avoid embedding S3 credentials directly in requests. Secret values are never returned in API responses once stored.
Which Mode Should I Use?
Next Steps
Template Setup
Upload your first After Effects template via the API
Rendering Basics
Learn about asset types, settings, and job payload structure
Batch Jobs
Submit up to 1,000 jobs in a single request
Nested Jobs
Render child compositions and inject their output into a parent job

