Skip to content

Batch render videos from a CSV

One template, one file per row

Forty name cards, a price for every product, a clip for every city: the animation is the same and only the words change. Premation exposes those words as template fields and renders one file per row of a table, from the app or from a terminal with no window.

Download Premation

Free · AGPL-3.0-only · macOS & Windows

The panel that does it

ExportDocked · Window ▸ Export
Format category
Format preset
Range
Resolution
Quality
1920×1080 · 60 fps · 243 frames · ~7 MB

The editor’s own panel, rebuilt on its chrome. It works: drag, toggle, queue.

How to do it

  1. 01

    Build the composition once

    Animate it as usual. Name the layers that will change, because the field ids come from the layer names.

  2. 02

    Expose the fields

    In the Template fields panel, pick a layer and expose the property that varies: text, a colour or a number. Each field gets an id your table's columns will match.

  3. 03

    Write the table

    A CSV with one column per field id and one row per video. Extra columns are ignored and missing columns keep the authored value.

  4. 04

    Render the rows

    premation render LowerThird.motion --data people.csv --out "out/{index}-{name}.mp4" writes one file per row. A failed row is recorded and the rest still render.

Questions

Can I trigger renders from n8n or Zapier?
Not directly yet. The premation command line runs on your own machine, so any workflow that can run a shell command can render a row.
Can a row swap an image or a video?
Not from a CSV: media columns are reported as skipped.
Does the command line need the editor open?
No. Each render is its own process with no window, and it uses the same engine as the Export dialog. It still needs a working GPU.