Last updated: February 9

<span aria-hidden="true" id="builtin-templates-stable-versioned-transformations"></span>

# Builtin Templates: stable, versioned transformations

![Kevin van Zonneveld](/assets/images/teammates/avatar-kvz-4.jpg?dpl=dpl_6nhQNS5wkVkPZWuKMzXcWrAHNJL5)

**Kevin van Zonneveld**

Co-founder · Amsterdam, The Netherlands · Show bio

[](https://x.com/kvz)[](https://github.com/kvz)

Sometimes you want to start from a solid, well-tested Template instead of building one from scratch. Today, we’re announcing **Builtin Templates**: Transloadit-maintained, versionedTemplates that you can reference by `template_id` like any other Template.

Builtin Templates are designed for common transformations and quick building blocks. They are stable, they are versioned, and you can pin to a specific version when you need a change-controlled deployment.

<span aria-hidden="true" id="what-are-builtin-templates"></span>

## What are Builtin Templates?

Builtin Templates live inside API2 and are identified by slugs that start with `builtin/`, for example:

* `builtin/encode-hls-video@0.0.1`
* `builtin/serve-preview@0.0.1`

You can use them via `template_id`:

* `builtin/<name>` resolves to the latest known version.
* `builtin/<name>@latest` is an explicit alias for the latest known version.
* `builtin/<name>@<version>` pins to a specific version.

<span aria-hidden="true" id="why-use-builtin-templates"></span>

## Why use Builtin Templates?

* Start from an established, known to be good, baseline for common transformations.
* Keep your integration lean: no need to create a Template just to try something out.
* Pin versions for predictable behavior, and upgrade when you’re ready.
* Combine them with your own Steps by overriding at runtime, like any otherTemplate.

<span aria-hidden="true" id="quick-example-create-an-assembly-using-a-builtin-template"></span>

## Quick example: create an Assembly using a Builtin Template

Here’s the shape of an Assembly request using a Builtin Template:

```json
{
  "template_id": "builtin/encode-hls-video"
}

```

You can still override or extend Steps at runtime (for example, to add a storage export Step), the same way you would with any Template. For more information on overriding, see [Templates](/docs/topics/templates.md).

<span aria-hidden="true" id="explore-whats-available"></span>

## Explore what’s available

We keep the canonical list and usage notes in the docs:

* [Builtin Templates](/docs/topics/builtin-templates.md)

If you want them to show up in API listings, you can include them in `GET /templates` with`include_builtin` (see the endpoint reference for details):

* [Retrieve list of Templates](/docs/api/templates-get.md)

<span aria-hidden="true" id="whats-next"></span>

## What’s next

Builtin Templates are a small surface today, and we’ll expand them based on real-world usage. If you have a transformation you run repeatedly and you think it belongs as a Builtin Template, let us know.

If you’re not using Templates yet, start there first:

* [Templates](/docs/topics/templates.md)

[#templates](/blog/tags/templates.md)[#api](/blog/tags/api.md)[#developer-experience](/blog/tags/developer-experience.md)

### 👩‍💻 Join 20k+ developers

Sign up for our [monthly newsletter](/newsletters.md) to receive direct links to 3 exclusive tech — and 2 product updates. No less, no more.

Your email:

Get access

## File uploading and encoding. Made simple.

Transloadit streamlines file handling for developers, trusted by brands like Coursera and The New York Times. We’re known for a reliable API, top-notch support, and a strong commitment to open source, with projects like [Uppy⁠](https://uppy.io) and [Tus⁠](https://tus.io) setting standards in file processing.

[Sign up](/c/)[Book a Demo](https://survey.typeform.com/to/kRg47Xi5)

No credit card needed · 5 GB included in the free plan

Cancel anytime
