Skip to Content

Output formats

In Plainly, you have the flexibility to control the output format of your rendered video. This includes options for video encoding, resolution, quality and other properties that can be customized to suit your needs.

The render output format 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.

The output format 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.

Default behavior

By default, Plainly will render out a video in the MP4 format using with following encoding properties:

  • libx264 codec for video encoding (yuv420p pixel format)
  • aac codec for audio encoding
  • frame rate of 25fps

Render format is controlled by the Output Format settings, and there are two ways you can control and adjust the rendering format to your needs.

  1. Use After Effects output module settings
  2. Use post encoding settings

Output module settings can be combined with post encoding settings. However, if neither is defined Plainly will use the default behavior mentioned above.

Use After Effects output module settings

First way is to explicitly control the output of the After Effects rendering process. If output module is set during the rendering Plainly will provide exact video as produced by After Effects without any additional encoding by default. This provides few benefits:

  • Get original frame rate, as defined in an After Effects project rendering composition.
  • Get output with an alpha channel.
  • Get faster rendering times when no additional encoding is specified, but then the video file size will be larger.

Currently, the available options for output module are:

NameVideo extensionAPI value
H.264 - Match Render Settings - 5 Mbps.mp4H_264
H.264 - Match Render Settings - 15 Mbps.mp4H_264_HIGH_BIT_RATE
High Quality.movHQ
High Quality with Alpha.movHQ_ALPHA

API cURL example - Create render with output module

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "outputFormat": { "outputModule": "H_264_HIGH_BIT_RATE" } }' \ https://api.plainlyvideos.com/api/v2/renders

Use post encoding settings

Second way is to use post encoding settings which add additional step of encoding the video output by After Effects using the FFmpeg library.

There are few different post encoding types you can use:

NameDescriptionAPI type
DefaultThis will render out a video using the default settings mentioned above.default
NoneThis explicitly defines that no additional encoding should be done, and you’ll get original video as produced by After Effects.none
SmallestThis will render out a video using the smallest possible file size, with an acceptable quality using H.265 codec.smallest
CustomThis allows you to define custom encoding settings on your own.custom
ScaleThis allows you to scale the video to a desired resolution.scale
CaptionsThis allows you to attach captions to your video, and can be used with other post encoding types.
Should not be used directly, use the Captions render option.
captions

API cURL example - Create render with no post encoding

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "outputFormat": { "postEncoding": { "type": "none" } } }' \ https://api.plainlyvideos.com/api/v2/renders

API cURL example - Create render with smallest post encoding

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "outputFormat": { "postEncoding": { "type": "smallest" } } }' \ https://api.plainlyvideos.com/api/v2/renders

Custom encoding

Custom encoding settings can be defined using one of or both of the following parameters:

  • Encoding format - this is the short name of the encoding format you want to use and where encoding parameters are pre-defined. Currently, the available options are MP4, MP4_H265, GIF, MOV, MXF, which will result in a video being delivered in the desired format.
  • Encoding parameters - any custom FFmpeg encoding parameters you want to use, allowing you to have full control over the encoding process.

If both encoding format and parameters are provided, the final video format will be determined by the format, however the provided parameters will be used as additional encoding parameters.

API cURL example - Create render with custom post encoding

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "outputFormat": { "postEncoding": { "type": "custom", "encodingFormat": "MP4", "encodingParamsLine": "-c:a aac -b:a 192k" } } }' \ https://api.plainlyvideos.com/api/v2/renders

Scale resolution

If you want to scale the resolution of the rendered video, this can be done with the Scale post encoding type.

You need to provide the percentage as the scaling factor, which can range from 1 to 400. A scaling percentage of 100% will keep the video at its original resolution, while values less will reduce and values greater will increase the resolution.

For example, if you want to scale the video down to 50% of its original size, you can set the scaling percentage to 50, or if you want to scale the video up to double its original size, you can set the scaling percentage to 200.

API cURL example - Create render with scale post encoding

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "outputFormat": { "postEncoding": { "type": "scale", "scalingPercentage": 50, } } }' \ https://api.plainlyvideos.com/api/v2/renders

Draft render

If you want to quickly check how the video looks like, you can use the draft render option. This will render out a video in a half resolution and lower quality, but it will be done much faster.

The draft render option is available under Settings Template of the Output Format settings, and currently it’s free of charge.

For the fastest rendering times, you can use the draft render option combined with None post encoding type.

API cURL example - Create draft render

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "outputFormat": { "settingsTemplate": "DRAFT" } }' \ https://api.plainlyvideos.com/api/v2/renders