Skip to Content

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:

StyleExampleAPI value
BasicBasic caption styleBASIC
ShadowShadow caption styleBASIC_WITH_SHADOW
Stroke and shadowStroke and shadow caption styleBASIC_WITH_STROKE_AND_SHADOW
Poppins whitePoppins white caption stylePOPPINS_WHITE
Poppins white verticalPoppins 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

Thumbnail generation is free of charge, you only pay for the video rendering.

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:

OptionDescriptionAPI value
FormatThe image format of the thumbnail. Currently, the only available option are PNG or JPEG images.PNG / JPG
From encoded videoThe 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

Watermark video generation is free of charge, you only pay for the original video rendering.

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:

Top left
-filter_complex [1]scale=iw*0.2:-1,format=rgba,colorchannelmixer=aa=0.8[watermark];[0][watermark]overlay=10:10[out] -map [out]
Top right
-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]
Bottom left
-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]
Bottom right
-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]
Center
-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:

  1. overlay - used for positioning the watermark on the video.
  2. scale - used for scaling the watermark to the desired size.
  3. format - used for setting the format of the watermark to rgba.
  4. 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