# What is a Template?

A Template securely stores Transloadit Assembly Instructions in a Workspace and is referenced in API requests through a `template_id`. It lets clients invoke a predefined processing workflow without sending its full instructions.

Request + files

Processing platform

Results + status

A processing platform accepts an authenticated request, executes a workflow, and returns observable results. This diagram shows platform workflows broadly, not specifically Templates.

<span aria-hidden="true" id="how-it-works"></span>

## How Templates work

A Transloadit Template is a Workspace-managed workflow definition whose JSON describes named Assembly Steps, their parameters, and how outputs from earlier Steps flow into later ones. Referencing a server-side definition reduces payload duplication and keeps sensitive workflow details away from untrusted clients, but it does not freeze the workflow. Properties supplied in `params` at request time, except `allow_steps_override` itself, are recursively merged over the loaded Template. That merge also enables controlled runtime variation. Templates sit between application requests and Assembly execution, so their change management is part of the integration contract.

<span aria-hidden="true" id="key-facts"></span>

## Key facts

1. 1Step names form references within Assembly Instructions, so renaming a step can break downstream `use` relationships even when every individual operation remains syntactically valid.
2. 2A `template_id` selects stored instructions but does not by itself authenticate an API request; account authentication and any request-signing requirements remain separate controls.
3. 3Templates created in a Workspace have no version pinning. To make a backward-incompatible change safely, create a new Template with its own `template_id` and move callers over. Only Transloadit’s Builtin Templates are versioned by Transloadit.

<span aria-hidden="true" id="when-it-matters"></span>

## When Templates matter

Use a Template to centralize workflow changes and avoid exposing complete Assembly Instructions in clients. To keep callers from altering the workflow, also set `allow_steps_override` to `false` and require Signature Authentication, because request params are otherwise merged over the stored instructions at runtime. Updating a shared Template can affect every caller, so incompatible changes may require a new Template.

<span aria-hidden="true" id="category-use-cases"></span>

## Common use cases for platform workflows

These examples cover platform workflows broadly, not specifically Templates.

* Running repeatable upload, import, processing, AI, storage, and notification pipelines.
* Tracking long-running media work independently from an application request.
* Referencing centrally stored credentials by name instead of sending storage secrets with each request.

<span aria-hidden="true" id="at-scale"></span>

## Working with platform workflows

This guidance covers platform workflows broadly, not just Templates.

A client authenticates and submits files or references together with workflow instructions. The platform validates the request, schedules dependent operations, records state transitions, and exposes results through a response, polling endpoint, or notification.

Platform concepts become reliable only when their lifecycle is explicit. Authentication, idempotency, retries, timeouts, observability, quotas, and terminal states should be designed together rather than added after failures occur.

### What you gain

* Reusable workflows separate application intent from processing infrastructure.
* Stable job identifiers and lifecycle events improve observability and recovery.
* Managed queues and workers let products scale without embedding every media tool.

### What it costs

* Synchronous responses are simple but keep connections open while long work executes.
* Aggressive retries improve recovery from transient faults but can duplicate work or overload a dependency.
* Higher concurrency reduces queue time until resource contention or a downstream limit becomes the bottleneck.

### Before production

1. 1Define authentication, authorization, idempotency, retries, and terminal error behavior.
2. 2Observe queue time, execution time, callbacks, and partial results with stable identifiers.
3. 3Exercise malformed, duplicate, interrupted, and unauthorized requests before launch.

[← Technical Metadata](/glossary/technical-metadata.md)[Template Credentials →](/glossary/template-credentials.md)

More in platform workflows

* [Signature Authentication for Notification](/glossary/signature-authentication-for-notification.md)
* [SPA (Single-Page Application)](/glossary/spa-single-page-application.md)
* [Sync Mode](/glossary/sync-mode.md)
* [Template Credentials](/glossary/template-credentials.md)
* [Template Editor](/glossary/template-editor.md)
* [Turbo Mode](/glossary/turbo-mode.md)

[All 505 terms](/glossary.md)

## Turn media knowledge into a working pipeline

Connect uploads, processing, AI, storage, and delivery through one declarative API — with the encoding stack, scaling, and format churn handled for you.

[Try Transloadit for free](/c/signup/)
