Skip to main content
Once your template is uploaded and inspected, you can submit a render job using the Nexrender Cloud API. A render job ties together:
  • A template (AEP/ZIP/MOGRT)
  • A specific composition (for AEP/ZIP; optional for MOGRT)
  • A set of dynamic assets (text, images, audio, essential properties)
  • Optional render settings (output type, frames, quality, codec)
  • Optional upload target to S3-compatible storage
  • Optional webhooks / preview flag

What Is a Render Job?

Each job is a self-contained instruction set telling Nexrender Cloud how to render a video from a specific template. Jobs are idempotent, meaning the same payload will always produce the same output — unless your template changes. You must specify:
  • template.id (and template.composition for AEP/ZIP)
  • assets[]
  • settings (optional; new) — output type, frames, quality, codec
  • upload (optional; new) — push outputs to your S3-compatible bucket
  • webhook (optional) for status callbacks
  • preview (optional) for quick previews

Job Payload Structure

Here’s what a minimal payload looks like:
Payload Structure
{
  "template": {
    "id": "01JTGM9GCR71JV7EJYDF45QAFD",
    "composition": "main"
  },
  "assets": [
    {
      "type": "text",
      "layerName": "title",
      "value": "Hello World!"
    }
  ]
}

Supported Asset Types

Nexrender Cloud lets you customize your After Effects templates by injecting different types of assets during render time. These assets are defined in the assets array of your render job payload. Each asset must include a type, and typically a layerName, src, or parameters depending on its function.

data — Property Override

Use to change properties in a composition layer.
Property Override
{
  "type": "data",
  "layerName": "title",
  "property": "Source Text",
  "value": "Hello World!"
}

text — Text Override

Use to change text in a composition layer.
Text Override
{
  "type": "text",
  "layerName": "title",
  "value": "Hello World!"
}

image — Replace Image

Replace Image
{
  "type": "image",
  "src": "https://cdn.yourapp.com/assets/avatar.jpg",
  "layerName": "Avatar"
}

audio — Inject Audio

Audio Injection
{
  "type": "audio",
  "src": "https://yourcdn.com/audio/intro.mp3",
  "layerName": "VoiceTrack"
}

video — Replace Footage

Video Injection
{
  "type": "video",
  "src": "https://cdn.site.com/introclip.mp4",
  "layerName": "FootageLayer"
}

essential — Motion Graphics Template fields defined by Essential Properties

Use to set fields in Motion Graphics Templates. The value can be a string, number, or boolean. Layer name in this case is the name of the field in the Motion Graphics Template panel. If the field is a nested object, use a dot notation to access the property. (If there is a dot in the field name, you can switch to using ’->’ instead.)
Essential Properties
{
  "type": "essential",
  "layerName": "FieldName",
  "value": "Hello from Main Comp"
}
Essential Properties
{
  "type": "essential",
  "layerName": "Nested.Field.Name",
  "value": 155
}

function — Declarative Action Blocks

Functions provide powerful declarative actions for advanced template manipulation. You can target specific compositions and perform complex operations.
Function block
{
  "type": "function",
  "name": "nx:text-params-set",
  "params": {
    "composition": "Precomp_1",
    "layerName": "Sub_Title",
    "textValue": "Text inside Precomp"
  }
}

Available Functions

For detailed documentation on all available functions, including parameters, examples, and use cases, see the Functions Reference.Available Functions:
I