Submit the Job
Submit the job with a simple POST request:Job Request Expected Response
Job Request Internals
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
orsrc
: depending on asset type
You can inspect availablelayerName
usingGET /templates/:id
Render Settings
- type: “video”, “image” or “aep”
- frames: single frame number or [start, end] array (required for image)
- quality: “draft” or “full”
- codec: string identifier (e.g., “h264_vbr_15mbps”, “prores_422”, “png”, “jpeg”).
- draft
- full
- video_h264_vbr_1mbps
- video_h264_vbr_5mbps
- video_h264_vbr_15mbps
- video_h264_vbr_40mbps
- video_h264_cbr_1mbps
- video_h264_cbr_5mbps
- video_h264_cbr_15mbps
- video_h264_cbr_40mbps
- video_prores_422
- video_prores_4444
- image_jpeg
- image_png
Examples
Preview Mode vs Final Render
- 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
You can build an internal CI pipeline that runs preview renders against all newly uploaded templates.
Uploading Rendering Results
By default, outputs are stored in Nexrender Cloud storage. With the upload object, you can push rendered outputs directly to your S3-compatible storage.Webhooks
You can extend your rendering job with a webhook:Targeting Layers in Alternate Compositions
By default, assets are injected into the composition defined in thetemplate.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
).
Example
Validate the Assets Before Submitting
Before rendering, always validate:composition
name exists (from template introspection)layerName
matches exactly- URLs for assets return a
200 OK
- Font dependencies have been preloaded
Full API Reference
Authorizations
Bearer token authentication using API tokens for team-based access control.
You can generate your own API token at: https://app.nexrender.com/team/settings
Body
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
Response
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