How It Works
Submit aPOST /jobs/join request with an ordered assets array. Each asset is either:
type: "video"- a direct URL to an existing video filetype: "job"- a job definition that Nexrender renders first, then uses the output
Basic Example - Static Videos
The simplest case: stitch two existing video files together.Mixed Example - Render and Stitch
Render a personalized middle segment from a template and stitch it between a static intro and outro.pending while the child job renders. Once the child finishes, the stitch runs automatically and the parent transitions to finished.
Request Fields
Top-level
| Field | Type | Required | Description |
|---|---|---|---|
assets | array | Yes | Ordered list of clips to stitch (minimum 1) |
settings.preset | string | No | Output format - currently "mp4" |
upload | object | No | Push output to your S3-compatible bucket (same schema as regular jobs) |
webhook | object | No | Callback URL for status notifications |
Video Asset (type: "video")
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "video" |
src | string | Yes | URL to the video file |
Job Asset (type: "job")
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be "job" |
template.id | string | Yes | Template ID for the child job |
template.composition | string | Yes | Composition to render |
assets | array | No | Assets to inject into the child job |
preview | boolean | No | Render child at preview quality |
settings.quality | string | No | "draft" or "full" |
settings.codec | string | No | Output codec |
settings.engine | string | No | AE engine version: "ae2025" or "ae2026" |
Tracking a Join Job
Track the join job withGET /jobs/:id as you would any other job. When all child jobs are rendering, the parent is pending. Once children complete and the stitch begins, the parent moves to render:dorender, then finished.
The outputUrl in the creation response is populated immediately and points to where the final stitched file will be available once the job is finished.
When to Use Join Jobs
Join jobs are the right choice when you want to concatenate clips end-to-end:- Intro + personalized body + outro for marketing emails or event invites
- Chapter-by-chapter assembly of a long-form video from separate renders
- Combining a rendered animation with pre-recorded footage clips
Nested Jobs
Composite child renders as layers inside a parent composition
Batch Jobs
Submit up to 1,000 jobs in a single request

