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.
| Field | Type | Required | Description |
|---|---|---|---|
template.id | string | 🟢 | ID of the template created earlier |
template.composition | string | 🟢 | Composition to render (optional for .mogrt) |
assets | array | 🟢 | List of asset overrides |
preview | boolean | ⚪ | Set true for fast low-res preview |
fonts | array | ⚪ | List of font file names to include in render environment |
webhook.url | string | ⚪ | Callback endpoint for job status |
webhook.method | string | ⚪ | Typically POST |
webhook.headers | object | ⚪ | Extra HTTP headers to send with webhook |
webhook.data | object | ⚪ | Custom JSON payload attached to webhook |
webhook.custom | boolean | ⚪ | If true, webhook will send only custom data (no system metadata) |
settings.type | string | ⚪ | Output type: video, image or aep |
settings.frames | int/arr | ⚪ | Single frame (int) or frame range ([start, end]) for still/image render |
settings.quality | string | ⚪ | Render quality: draft or full |
settings.codec | string | ⚪ | Output codec (e.g. h264_vbr_15mbps, prores_422, png) |
upload.prefix | string | ⚪ | Folder path prefix for uploaded outputs (e.g. my-project/outputs/) |
upload.outputUrl | string | ⚪ | Custom base URL for accessing uploaded files |
upload.provider | string | ⚪ | Storage provider (s3 only at present) |
upload.params.endpoint | string | ⚪ | S3-compatible endpoint (default: https://s3.amazonaws.com) |
upload.params.region | string | 🟢* | Cloud storage region |
upload.params.bucket | string | 🟢* | Target bucket name for file uploads |
upload.params.acl | string | ⚪ | Access control (public-read, private) |
upload.params.accessKeyId | string | 🟢* | Access key ID for storage provider |
upload.params.accessKeySecret | string | 🟢* | Secret key for storage provider |
upload block.
Each asset object must have:
type: one of (data, text, image, audio, video, essential, function)layerName: exact layer name from the templateproperty: like "Source Text" or "Source Name"value or src: depending on asset typeYou can inspect availablelayerNameusingGET /templates/:id
layerName overrides are correctYou can build an internal CI pipeline that runs preview renders against all newly uploaded templates.
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).
composition name exists (from template introspection)layerName matches exactly200 OKBearer token authentication using API tokens for team-based access control.
You can generate your own API token at: https://app.nexrender.com/team/settings
Configuration object for creating a new render job with template, assets, and options
Template configuration defining the After Effects project and composition to render
Generate a low-quality preview render instead of full quality output
List of font file names to include in the render environment
Collection of media assets (images, videos, audio, scripts, text, ...) to use in the render
Render configuration settings for output format, quality, and frame selection
Custom upload configuration for output files to external storage providers
Webhook configuration for job status notifications and callbacks
Job successfully created and queued for processing
Render job with current status, progress, and detailed statistics
Unique job identifier used for tracking and API operations
Reference to the template used for this job (null if template was not used)
Current job status (queued, render:dorender, finished, error, etc.)
Render progress as a percentage (0.0 to 100.0)
Detailed timing and metadata statistics for the job
URL to the rendered content