Render options
Advanced rendering options are accessed through the top right button in the single render form, and can be configured as well using batch rendering, integration-based invocation or API. These options allow you to add captions, export thumbnails, etc.
Rendering options can also be set on a template level, which means that every time you render a video from that template, these options will be applied.
Captions
To enable captions, go to the Captions section of the Output Format settings and provide the URL to the captions .srt
file.
Optionally, you can choose one of pre-defined caption styles, and you can also choose the position where the caption should be displayed. If you don’t provide these options, the Basic option will be used for style, and the position will be at the bottom.
Captions styles
There are five built-in caption styles:
Style | Example | API value |
---|---|---|
Basic | ![]() | BASIC |
Shadow | ![]() | BASIC_WITH_SHADOW |
Stroke and shadow | ![]() | BASIC_WITH_STROKE_AND_SHADOW |
Poppins white | ![]() | POPPINS_WHITE |
Poppins white vertical | Poppins with adaptations for the story formats (9x16). | POPPINS_WHITE_VERTICAL |
The Poppins variants should be used with bottom position, due to the additional vertical margin of the style.
Captions position
Currently, the available caption positions are Bottom (default), Center and Top, with API values being BOTTOM
, CENTER
and TOP
.
API cURL example - Render with captions option
curl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"projectId": "[PROJECT_ID]",
"options": {
"captions": {
"srtFileUrl": "https://raw.githubusercontent.com/andreyvit/subtitle-tools/master/sample.srt",
"captionsStyle": "BASIC",
"captionsPosition": "BOTTOM"
}
}
}' \
https://api.plainlyvideos.com/api/v2/renders
Thumbnails
With thumbnails option example, Plainly will not only export the video but also thumbnails which you can, for example, use as a poster on social medias.
There are two options on how you can get thumbnails:
- At seconds - you provide exact time points in a video when thumbnails should be taken.
- Frequency - you provide an interval in seconds, and thumbnails will be taken at “every N seconds”.
Thumbnails will be visible in the Render details page, as well as in the Render API model under thumbnailsUris
array field.
Additional options when generating thumbnails are:
Option | Description | API value |
---|---|---|
Format | The image format of the thumbnail. Currently, the only available option are PNG or JPEG images. | PNG / JPG |
From encoded video | The source of the thumbnail generation, where you can choose between original video or encoded video. | boolean |
Source of thumbnail generation matters
The thumbnails can be generated from the original video output by After Effects, or from the encoded video after the post encoding step. The source is controlled using the From encoded video option.
When taking thumbnails from the original video, the quality might be better, but due to the variable frame rate and different encoder used by After Effects, the time points might not be exact.
When taking thumbnails from the encoded video the time points should always be exact, unless you added custom encoding parameters which would influence the frame rate.
API cURL example - Create render with thumbnail generation
curl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"projectId": "[PROJECT_ID]",
"options": {
"thumbnails": {
"atSeconds": [1, 5, 7],
"format": "JPG",
"fromEncodedVideo": true
}
}
}' \
https://api.plainlyvideos.com/api/v2/renders
Watermark
With watermark option you can pass a link to an image or video, that you want to use as a watermark on the video. Plainly always generates two videos in this case, one with the watermark and one without it.
A watermark video will be available for download on the Render details page. The URL to the video will be available as well as in the Render API model under outputWatermark
field.
Watermark positioning
You can also pass encoding parameters for the watermark. Having encoding params allows controlling on how is watermark added. If not passed, the watermark will be placed in the top left corner of the video.
Here are some examples of encoding parameters that you can use for the watermark:
-filter_complex [1]scale=iw*0.2:-1,format=rgba,colorchannelmixer=aa=0.8[watermark];[0][watermark]overlay=10:10[out] -map [out]
-filter_complex [1]scale=iw*0.2:-1,format=rgba,colorchannelmixer=aa=0.8[watermark];[0][watermark]overlay=W-w-10:10[out] -map [out]
-filter_complex [1]scale=iw*0.2:-1,format=rgba,colorchannelmixer=aa=0.8[watermark];[0][watermark]overlay=10:H-h-10[out] -map [out]
-filter_complex [1]scale=iw*0.2:-1,format=rgba,colorchannelmixer=aa=0.8[watermark];[0][watermark]overlay=W-w-10:H-h-10[out] -map [out]
-filter_complex [1]scale=iw*0.2:-1,format=rgba,colorchannelmixer=aa=0.8[watermark];[0][watermark]overlay=(W-w)/2:(H-h)/2[out] -map [out]
As you’ve noticed, we are using multiple filters here:
overlay
- used for positioning the watermark on the video.scale
- used for scaling the watermark to the desired size.format
- used for setting the format of the watermark to rgba.colorchannelmixer
- used for setting the transparency of the watermark.
You can read more about the filters and other possibilities at the FFmpeg documentation .
API cURL example - Create render with watermark video
curl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"projectId": "[PROJECT_ID]",
"options": {
"watermark": {
"url": "https://example.com/watermark.png"
}
}
}' \
https://api.plainlyvideos.com/api/v2/renders
Download options
Video file
Instant download
By default, most Internet browsers will open a link pointing to a rendered video in a new tab and start playing it.
If you want to force a browser to download a video instead of playing it, you can enable the Instant download option. This options is available on the UI under the Output Format settings.
Change file name
By default, the file name of a rendered video will be randomly generated, for example, 1e89f1b8-076c-4e2b-a750-373ab227346a.mp4
. In most cases this is fine, however this is not perfect for the use cases when the file is downloaded by the end user, or when you want to have a more descriptive file name.
When using the Instant download option you can additionally specify the file name as well using the Instant download file name option.
The name of the file must be given without the extension, as the extension will be added automatically based on the output format.
Reference render parameters in a file name
File name can also be dynamic. This can achieved by referencing a render parameter value. For example, setting the Instant download file name to:
{{name}} - {{season:Winter}}
Will take value of name
(mandatory) and season
(not mandatory, defaults to Winter
) render parameters. Thus, you could get a files named John Doe - Winter.mp4
or Susan Smith - Summer.mp4
.
API cURL example - Create render with video file download options
curl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"projectId": "[PROJECT_ID]",
"options": {
"attachment": true,
"attachmentFileName": "my-cool-video"
}
}' \
https://api.plainlyvideos.com/api/v2/renders
Project files
If you need to make further changes to your After Effects project after rendering, you can enable the project files upload option. This will collect all modified files, compress them into a ZIP file, and upload the modified project to the server for easy download.
To enable this feature using the UI, you need to check the Upload project files option under the Project settings.
The project files will be available for download on the Render details page, and the URL to the project files will be available as well as in the Render API model under projectZipUrl
field.
API cURL example - Create render with project files download option
curl -X POST \
-H "Content-Type: application/json" \
-u "[API_KEY]:" \
-d '{
"projectId": "[PROJECT_ID]",
"options": {
"projectFiles": {
"uploadEnabled": true
}
}
}' \
https://api.plainlyvideos.com/api/v2/renders