Skip to Content

Creating renders

Prerequisites

Before starting your first render, make sure:

  • Your After Effects project is uploaded to Plainly, and it has been analyzed successfully.
  • You have created at least one Plainly template in a project. This template defines the available render parameters and the layers they are connected to

See Project creation guide for more information on how to set up your project and templates.

Available methods

Single render

If you want to quickly render out a single video, you can do that through the Render form in our app.

Select the target project and template, and fill out parameter fields. Depending on the parameter type you will see different input fields. For example, if you have a parameter bounded to a text layer, you will see a text input field, while for a media layer you will see a URL input field with option to upload a media file from your device.

You can also set up additional options, such as output formats, thumbnails and more.

Once you are ready, click Render and that will send render request to Plainly. You will be navigated to Render details page. Note that all your renders are listed on the Renders page, which you can always access from the sidebar.

Render form is also accessible from the Template details page by clicking on the Render button.

Batch render

If you want to send a batch of render requests to Plainly, but don’t want to use our HTTP API, you can do this with the batch render. All you have to do is create a .csv file with all variations you want to render. In the created CSV each column will represent one parameter, and each row will be a new render.

Batch rendering using a CSV file is done in several steps:

Upload CSV file

Go to the Render form, select the project and template and click on the Batch render button. Upload your CSV and select if all rows should be rendered or only a subset.

You can generate CSV example file which is fully tailored to the Plainly template you are using. In the example file, columns will be matching all parameters defined in the template.

Map columns to parameters

Once you upload the CSV, you will be taken to the mapping page. Here you can map each column in the CSV to a parameter in your template. You will be shown example values from the selected CSV column, helping you to double check if the mapping is correct.

Mapping columns to parameters in batch render

You can also use the Auto link button to automatically connect all columns to parameters. It works by matching the column names in the CSV with the parameter names in the template.

If you used example CSV file from the step one, the auto linking will work perfectly.

Webhook and integration passthrough

You can define Webhook URL and the passthrough value for each render, so you can receive an notification once each render from the batch is done.

Passthrough value can reference one or more columns from the CSV file. If more columns are selected, passthrough value will be an escaped JSON object string with key-value pairs.

Same can be done for the integrations passthrough as well.

Define additional options

You can set any of the additional options for the batch render as well.

Preview & render

The final step shows you a preview table with all the renders that will be sent to Plainly. You can review them, and if everything looks good, click on the Render button.

Batch render preview table

Please note that success marker shown after sending a batch only relates to a render being successfully submitted. Renders can still fail during the rendering process, and you will be notified about that through the webhook or in the Renders page.

Download batch

After sending a batch render you can click on the Batch download button, that will take you to the download page. There you can review the state of each render, and once you are ready, download the complete batch.

Batch download

Integrations

Creating renders through integrations is achieved by setting up a render trigger integration type. Read more in the Render triggers section.

Using the API

A powerful HTTP-based API that allows rendering of huge volumes and can fix any workflow.

You can integrate rendering into your own application using our API. Check the Render API documentation for more details.

API cURL example - Create render

curl -X POST \ -H "Content-Type: application/json" \ -u "[API_KEY]:" \ -d '{ "projectId": "[PROJECT_ID]", "parameters": { "editName": "John Doe", "editImage": "https://images.unsplash.com/photo-1575936123452-b67c3203c357?q=80&w=3540&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" }, }' \ https://api.plainlyvideos.com/api/v2/renders

Additional options

There are several options on how to control the rendering process and how to customize the output.

Render states

Render states are used to indicate the current state of a render. Once created, each render can be in one of the following states:

  • Pending — initial state, a render is created and waiting to be processed.
  • Throttled — a render is throttled at the moment, as maximum number of concurrent renders is reached.
  • Queued — a render is sent to rendering queue and is waiting to be pickup by a worker node.
  • In-progress — rendering is in progress.
  • Done — rendering is completed successfully, and a video is available for download.
  • Failed — rendering has failed due to the processing error.
  • Invalid — render input is invalid, usually due to invalid media asset URLs or missing required parameters.
  • Cancelled — render is cancelled by a user.

Usage caveats

Asset handling

Media assets you’re sending to Plainly have to be stored on the Internet, and when invoking the render you will be providing a link for each asset. A link has to represent a public URL, or a signed URL with long-enough validity period.

Before starting the render, Plainly will validate links you provided. If any of the provided links is invalid, does not exist or points to unsupported media type, you will end up with an invalid render.

More on failures to validate and import assets can be found in the troubleshooting section.

When create renders within the app using the Render form, each valid media asset URL will be marked with a green checkmark, and if the URL is invalid, it will be marked with a red cross.

In addition, in the Render form you can also use our native file upload system. This will allow you to upload files from the local machine and get a working URL out of the box.

Use a cloud storage without rate limiting

It’s important to mention that some cloud-based storage solutions have rate limiting, which can cause issues in the way that asset is validated correctly, but then fails to be downloaded during the rendering process.

Special attention should be paid to batch rendering, where multiple requests are sent at the same time, and rate limit can be hit very quickly.

To avoid this, we recommend using following cloud storage solutions:

Avoid using Google Drive, Dropbox, or similar solutions, as they have very low rate limits.

Resubmit render

Resubmit render is a feature that allows you to retry rendering of a video that has failed.

If you get a failed render, which can happen for a lot of reasons, this feature provides an easy retry without resending the data again.

You can invoke the resubmission from the Render details page. You can also resubmit the render using our API, check the relevant docs here.

Resubmitting a video will will create a new render which will have a different ID. This means that the original render will still be there, and you can always go back to it.

Difference between Resubmit and Render again

Resubmit render and Render again are two different options available in the Render details page.

Render again is available for all renders, and it will copy the values of the parameters from the original render and navigate you to the Render form page. There you can edit the values and create a new render.