Skip to main content
Once your template is registered and you’ve received the uploadInfo.url, the next step is to upload the actual After Effects file. This file must match the format you declared when creating the template: either .aep, .zip, or .mogrt.

Where to Upload

The uploadInfo.url returned in the response is a presigned URL — a time-limited link that allows you to upload the file without any additional authentication. The method is always PUT, and you must include the correct headers exactly as provided in the uploadInfo.fields.

Example curl Upload Request

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

Required Headers

The following headers must be present if included in the uploadInfo.fields object:
HeaderDescription
Content-TypeUsually application/octet-stream
x-amz-meta-customMay be included for tracking template ID
Content-LengthSet automatically by curl or Postman
Content-EncodingUsually not required; use identity if needed
Do not change the upload URL, append query params, or add any extra headers.

Important: Upload the Correct File Type

The file you upload must match the type field you declared during template creation:
Declared typeExpected File Upload
zipproject.zip
aepproject.aep
mogrtproject.mogrt
If you upload the wrong file type, the template introspection will fail, and you won’t be able to render from it.

Confirming Template Upload Status

Once the upload completes, the template’s status will change from awaiting_upload to uploaded. At this point, Nexrender Cloud will:
  • Extract all available compositions
  • Parse editable layers for use in jobs
  • Make the template immediately available for rendering
You can fetch the template object via:
curl https://api.nexrender.com/api/v2/templates/TEMPLATE_ID \
  -H "Authorization: Bearer YOUR_API_KEY"
I