Skip to main content
POST
/
templates
Create new template
curl --request POST \
  --url https://api.nexrender.com/api/v2/templates \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "aep",
  "displayName": "<string>",
  "src": "<string>"
}'
{
  "id": "<string>",
  "type": "<string>",
  "displayName": "<string>",
  "status": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "compositions": [
    "<string>"
  ],
  "layers": [
    "<string>"
  ],
  "mogrt": {},
  "error": "<string>",
  "uploadInfo": {
    "url": "<string>",
    "method": "PUT",
    "fields": {},
    "expiresIn": 123,
    "key": "<string>"
  }
}
Before Nexrender Cloud can process your project files, you need to register a template object using the API.
This step defines what kind of project you’re uploading and prepares secure storage for it in Nexrender Cloud.
You can register and upload one of the following file types:
  • .aep — Standard After Effects project
  • .zip — Bundled project with all assets included
  • .mogrt — Motion Graphics Template

Example: Register a Template

curl -X POST https://api.nexrender.com/api/v2/templates \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "aep",
    "displayName": "My First Video"
  }'

Uploading Your Files

After registering a template, Nexrender Cloud generates a temporary upload link (uploadInfo.url).
This presigned URL allows you to securely upload your project file without additional authentication.
The uploadInfo.url is a time-limited presigned URL — it grants secure, temporary access to upload the file directly. The method is always PUT.

Example curl Request

You can replace .zip with .aep or .mogrt depending on your project.
curl --location --request PUT \
  'https://your-upload-url-from-uploadInfo.url' \
  --header 'Content-Type: application/octet-stream' \
  --data-binary '@/path/to/your/project.zip'

Limitations

To ensure stable upload performance, a few technical limitations apply:
  • Maximum file size: 2 GiB
  • Upload duration: URLs typically expire after ~1 hour
  • Upload method: Always PUT
  • File format: Must match the declared type (.aep, .zip, or .mogrt)
Files exceeding the 2 GiB limit or uploaded after expiration will fail with an HTTP 403 or similar error.

Download Template Files During Template Registration

Instead of uploading template files manually, you can also provide a direct file URL during registration using the optional ‘src’ field. Nexrender will download the file automatically, process it, and transition the template through the same lifecycle.
 curl -X POST https://api.nexrender.com/api/v2/templates \
 -H "Authorization: Bearer YOUR_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{
   "type": "zip",
   "displayName": "Logo Animation",
   "src": "https://example.com/files/logo-animation.zip"
 }'

What Happens Behind the Scenes?

  • The backend initiates a download of your file from the provided src URL
  • The system validates and processes the project automatically after download
  • Extracts available compositions and layers for later use in render jobs
  • The template status is initially set to downloading, then transitions to processing and finally uploaded.
If the platform cannot download the file, it will retry up to three times before setting the template status to error.

Requirements

  • The src must be a directly downloadable HTTPS link
  • Supported sources include:
    • Secure https:// URLs
    • Google Drive shared links
    • Presigned S3 URLs
  • The maximum supported file size is 2 GiB
  • Maximum download time is 10 minutes

Common Mistakes to Avoid

MistakeResult
Providing a non-secure http:// linkThe request will be rejected
Using an expired or inaccessible URLTemplate enters the error state after retries
File larger than 2 GiBDownload will fail before processing
Once the download and processing are complete, the status will transition to uploaded, and Nexrender Cloud will extract all available compositions and dynamic layers for use in jobs.

Checking Upload Status

Once the upload is complete, the template status will update automatically:
  • From awaiting_upload → uploaded
  • Nexrender will introspect the file to extract available compositions and editable layers
Use this method to check the upload status Inspecting Templates.

API Reference

Authorizations

Authorization
string
header
required

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

application/json

Configuration for creating a new template with project file type and display information

type
enum<string>
required

Template project file type - aep (After Effects Project), zip (compressed project), or mogrt (Motion Graphics Template)

Available options:
aep,
zip,
mogrt
displayName
string
required

Human-readable name for the template shown in UI and listings

src
string

Link to the project file nexrender should create the template from. If not set, presigned upload URL is returned in the response object instead.

Response

Template successfully created with upload information

Complete template object with metadata, processing status, and content information

id
string

Unique template identifier used for referencing in jobs and API operations

type
string

Template file format (aep, zip, or mogrt)

displayName
string

Human-readable name displayed in UI and template listings

status
string

Current processing status (awaiting_upload, processing, uploaded, error)

createdAt
string<date-time>

ISO timestamp when the template was initially created

updatedAt
string<date-time>

ISO timestamp of the most recent template modification

compositions
string[]

List of compositions found within the template that can be rendered

Individual composition name available for rendering

layers
string[]

List of layers available for asset replacement and manipulation

Individual layer name within the template

mogrt
object

Motion Graphics Template specific metadata and properties

error
string | null

Error message if template processing or validation failed (null if successful)

uploadInfo
object

Presigned upload URL and metadata for securely uploading template files to cloud storage