Template creation
Plainly templates allow you to define which layers in your rendering composition can be changed at render time — a process called parametrization. There are three ways to create templates: manually, automatically, or programmatically via the API.
- Manually - create templates from scratch, and parametrize layers as needed.
- Auto-generate - automatically create templates and optionally parametrize layers that are text, media or colors.
- Via API - create templates programmatically using the Plainly API.
Manually create templates
To start with template creation, navigate to the Project details page, and click Add template, or Add new button within the Templates section. Once you click on the button, you will be redirected to the Templates create page.
Template details
First, you need to enter a name of the template, and select the composition you want to use in a template. The selected composition will be used for rendering, so make sure to choose the one that fits your needs.
We recommend reading the Naming layers section as it provides best practices for naming layers and compositions.
Layer parametrization
Next step leads you to the Parametrize layers page, where you can set up dynamic layers in your template. You will notice that Plainly automatically detects layers that can be parametrized, whether they are text, image, video or similar layers.
Parametrization is the most important feature of Plainly, as it allows you to create dynamic templates that can be easily customized. Make sure to read the Parametrization and Scripting documentation to understand how parametrization works and how to set it up correctly.
Once you finish with the parametrization, you can click on Save button to save your changes.

Your template will be created, and you will be redirected to the Template details page, where you can initiate rendering, or use template actions to manage your template.
Auto generate templates
If you want to get started quickly or have too many layers to make dynamic, you can use the auto-generate feature. This feature analyzes your compositions and can automatically create templates with layer parametrization applied to text, media, or color layers.
Templates are generated by analyzing the project’s compositions, and layer parametrization is applied to layers contained in the selected composition tree. The type of the auto-generate defines which composition will be selected for template creation, and which layer will be selected for parametrization.
To perform auto-generate, click on the Auto-generate button in the Templates list on the Project details page, and choose between All or Prefix auto-generate types.
All type
This type will, without any additional configuration, generate a single template for the root composition with the most nested layers without parametrization of any layers.
You can control the behavior of this auto-generate type by using the following options:
- Greedy - the auto-generate will generate a single template for every root composition in the project.
- All layers - the auto-generate will be done for every layer contained in a target composition.
- Target composition name - the name of the composition that will be used as a target for template creation.
- Exclude adjustment layers - the auto-generate will ignore all adjustment layers.
- Exclude guide layers - the auto-generate will ignore all guide layers.
- Exclude disabled layers - the auto-generate will ignore all disabled layers.
- Exclude shy layers - the auto-generate will ignore all shy layers.
- Apply exclusions to compositions - exclusions will also apply to entire compositions if they are marked as shy, disabled, guide, or adjustment.
API cURL example - Template auto-generate all
type
all
typecurl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"type": "all",
"allLayers": false,
"applyExclusionsToCompositions": true,
"excludeAdjustmentLayers": false,
"excludeDisabledLayers": false,
"excludeGuideLayers": false,
"excludeShyLayers": false,
"greedy": false,
"targetCompositionName": "string"
}' \
https://api.plainlyvideos.com/api/v2/projects/[PROJECT_ID]/templates/auto-generate
Prefix type
This type will generate templates for all compositions that have a specific prefix in their name. This is useful if you have a lot of compositions, and you want to generate templates for a subset only. Auto layer parametrization will also be done based on the provided prefixes, and only prefixed layers will be parametrized.
The available options for this auto-generate type are:
- Prefixes - an array of prefixes that will be used to test if composition and layer names are prefixed with any of the given ones (if prefixes are not provided, the default prefix used is plainly).
- Strip prefix - if enabled, the prefix will be stripped from the template name and layer parameter names.
- Target composition name - the name of the composition that will be used as a target for template creation (optional).
- Exclude adjustment layers - if enabled, the auto-generate will ignore all adjustment layers.
- Exclude guide layers - if enabled, the auto-generate will ignore all guide layers.
- Exclude disabled layers - if enabled, the auto-generate will ignore all disabled layers.
- Exclude shy layers - if enabled, the auto-generate will ignore all shy layers.
API cURL example - Template auto-generate prefix
type
prefix
typecurl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"type": "prefix",
"allLayers": false,
"applyExclusionsToCompositions": true,
"excludeAdjustmentLayers": false,
"excludeDisabledLayers": false,
"excludeGuideLayers": false,
"excludeShyLayers": false,
"greedy": false,
"targetCompositionName": "string",
"prefixes": "[\"plainly\"]",
"stripPrefix": false
}' \
https://api.plainlyvideos.com/api/v2/projects/[PROJECT_ID]/templates/auto-generate
The target composition name has priority over greedy or prefixes option with respect to choosing a rendering composition.
Create via API
You can integrate template creation into your own application using the Plainly API. Check the Template API documentation for more details.