# Builtin Templates

Templates are usually something you create and manage in your own Workspace. Builtin Templates are different: they are maintained by Transloadit, live inside API2, and can be referenced by `template_id` like any other Template.

Use Builtin Templates when you want a stable, versioned starting point for common transformations without having to create a Template first.

Names starting with `builtin/` are reserved for Builtin Templates. You cannot create, edit, or delete Templates with that name prefix.

## Use a Builtin Template

Set `template_id` to a builtin slug:

![](/_next/static/media/copy.8f7d2926.svg?dpl=dpl_2g7R5sPX3QtASTjewm5UnZagfZHZ)

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

Notes:

* `steps` is optional. You can override or extend steps at runtime, like any other Template.
* Use `builtin/<name>` to resolve to the latest known version.
* Use `builtin/<name>@latest` for an explicit alias to the latest known version.
* Use `builtin/<name>@<version>` to pin to a specific version.

## List Builtin Templates

Builtin Templates can be included in `GET /templates` using the `include_builtin` query parameter. See the [Templates list API](/docs/api/templates-get.md) for details.

## Available Builtin Templates

|Slug|Description|Input|Required fields|Optional fields|
|-|-|-|-|-|
|builtin/encode-hls-videobuiltin/encode-hls-video\@0.0.1|Encode an input video into HLS renditions (270p, 360p, 540p) with an adaptive playlist.|Upload|None|None|
|builtin/generate-imagebuiltin/generate-image\@0.0.1|Generate an image from a prompt using /image/generate.|None|fields.prompt|None|
|builtin/serve-previewbuiltin/serve-preview\@0.0.1|Serve a preview image for a remote file input via /file/preview.|Remote URL|fields.h, fields.input, fields.w|fields.f (default "png"), fields.r (default "fillcrop"), fields.vs (default "artwork")|
