> ## Documentation Index
> Fetch the complete documentation index at: https://www.nexrender.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get fresh upload URL for template file

> Generate a new presigned upload URL for uploading or replacing the template file (previous URLs expire)



## OpenAPI

````yaml /openapi.json put /templates/{id}/upload
openapi: 3.0.4
info:
  title: Nexrender API
  version: '2.0'
  description: >
    REST API for the Nexrender cloud rendering platform, enabling programmatic
    control over After Effects template processing, job management, and asset
    handling.


    Features include:


    - Template upload and management (AEP, MOGRT, ZIP files)

    - Job creation and status monitoring with real-time progress

    - Job nesting for multi-composition renders (parent/child jobs)

    - Job stitching to combine multiple videos into one

    - Batch job creation for submitting up to 1000 jobs at once

    - Font library management for typography consistency

    - Secret management for secure API key storage

    - Webhook notifications for job lifecycle events

    - Asset injection for dynamic content replacement


    Authentication is required for all endpoints using Bearer token
    authorization.
servers:
  - url: https://api.nexrender.com/api/v2
    description: Production API server
security:
  - apiToken: []
paths:
  /templates/{id}/upload:
    put:
      tags:
        - Template Management
      summary: Get fresh upload URL for template file
      description: >-
        Generate a new presigned upload URL for uploading or replacing the
        template file (previous URLs expire)
      operationId: getTemplateUploadUrl
      parameters:
        - in: path
          name: id
          required: true
          description: Unique template identifier to get upload URL for
          schema:
            type: string
      responses:
        '200':
          description: Successfully generated fresh upload URL with credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateUploadInfo'
        '401':
          description: Unauthorized - invalid or missing API token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Template not found - the specified template ID does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    TemplateUploadInfo:
      type: object
      description: >-
        Presigned upload URL and metadata for securely uploading template files
        to cloud storage
      properties:
        url:
          type: string
          description: Presigned upload URL with temporary access credentials
        method:
          type: string
          enum:
            - PUT
            - POST
          description: HTTP method required for the upload operation
        fields:
          type: object
          description: Additional form fields or headers required for successful upload
          additionalProperties:
            type: string
        expiresIn:
          type: integer
          description: Time in seconds until the upload URL expires and becomes invalid
        key:
          type: string
          description: Unique storage key/path where the uploaded file will be stored
      required:
        - url
        - method
        - expiresIn
        - key
    ErrorResponse:
      type: object
      description: Standard error response format
      properties:
        error:
          type: string
          description: Human-readable error message explaining what went wrong
      required:
        - error
  securitySchemes:
    apiToken:
      type: http
      scheme: bearer
      description: >
        Bearer token authentication using API tokens for team-based access
        control.


        You can generate your own API token at:
        https://app.nexrender.com/settings/api-tokens

````