Archived docs Get your API Key
Get started
Tutorials
Guides
Reference
Help for coding agents
๐Ÿค– AI Assistant

Automations

An automation turns a table of rows into videos: one video per row, for every template the table feeds.

Each row holds the content of one video โ€” a product, a property, a job ad, a customer โ€” and each column holds one piece of it: the headline, the price, the photo. Link the table to a template, press Render, and every row becomes a video made from that template.

Automations live at json2video.com/dashboard/automations, between Templates and Render logs in the dashboard menu.

What an automation is made of

Piece What it is
Dataset The table: its columns and its rows. Every automation has exactly one.
Row One video's worth of content.
Column One field, with a type โ€” text, number, date, yes/no, option, colour, an object (a photo with its settings, a voice, subtitles) or a list of items. โ†’ Column types
Template A template the dataset feeds, with its mapping (which column fills which variable) and its filter (which rows it gets). One automation can feed several templates.
Destination Where a template's finished videos are delivered: one of your saved webhooks, FTP or SFTP servers, or Amazon S3 buckets. Optional, but it is the only copy that outlives the 7 days.
Batch One run of a template over its rows.

One row makes one video per linked template. Feed the same rows to a 16:9 template and a 9:16 template and each row makes two videos โ€” each template with its own mapping, its own filter and its own results.

The three tabs

An automation opens on three tabs:

Tab What it shows
Workflow The automation as a diagram: the dataset on the left, the templates it feeds in the middle, their destinations on the right. Each template has its own Render button. โ†’ Templates and the Workflow tab
Input dataset The table. Edit rows and columns, import rows, check them, and see what happened to each row in the Status and Actions columns. โ†’ The dataset
Output videos Every video the automation has rendered, with filters, and every render that failed. โ†’ Rendering videos

The header has the automation's name (the pencil renames it) and a red Delete automation button.

Why not just a spreadsheet and a loop

Because a spreadsheet cannot tell you what happened to each video.

An automation keeps the data and the state of the video made from it. Every row shows its own status, when it rendered, how long its video has left and โ€” if something went wrong โ€” what went wrong, in that row. You can filter to the rows that failed and retry only those.

The other half is that every row is checked before anything is charged. The most common cause of a failed render is a field that arrived empty. An automation finds those rows first, marks them, and leaves them out, so you are not billed for videos that were never going to work. See What makes a row invalid.

The short version

New to automations? At the foot of the Automations list, Start from an example creates a working one โ€” rows, template and mapping โ€” in one step, and its first render is a single video. โ†’ Start from an example

  1. Create an automation. The easiest way is from a template: its variables become the columns, already typed and already mapped. โ†’ Creating an automation
  2. Fill in the rows, import them from a CSV or JSON file, or connect a Google Sheet, a CSV at a URL or your own API and let the automation read it. โ†’ The dataset ยท Syncing a connected source
  3. Link a template, if the automation did not start from one, and say which column feeds which variable. โ†’ Templates and the Workflow tab
  4. Press Validate to see which rows are ready. โ†’ What makes a row invalid
  5. Press Preview on a row to watch its video in your browser, before rendering anything. โ†’ Previewing a row
  6. Press Render. You are told how many rows will render, how many are left out and why, what it will cost and where the videos go โ€” before anything starts. โ†’ Rendering videos

Things worth knowing before you start

These are what people are most often surprised by. Each one is explained in full on the page it belongs to.

  • A rendered video is deleted after 7 days. The link in the table stops working. Add a destination to the template in the Workflow tab โ€” a webhook, an FTP or SFTP server, or an Amazon S3 bucket โ€” and every video is also delivered somewhere that keeps it. โ†’ Destinations
  • A connected source is read-only. If the rows come from a Google Sheet, a CSV at a URL or an API, you edit them at the origin, not here. Import and detach turns them into a table you own โ€” and stops reading the origin for good. โ†’ Syncing
  • A template that repeats scenes needs a list in one cell. A Google Sheet or a CSV cannot hold one. Import a JSON file, connect an API, or type the items in a table you own. โ†’ List columns
  • A photo, a voice or subtitles is not a URL, it is a field with settings. The column that feeds it holds the whole thing and is edited in its own window. A column of plain links still works: the link fills the file and the template's own settings are kept. โ†’ A column of links can feed a photo
  • A row that already has a video is not rendered again unless you ask. Rendering it again is a new video and a new charge, so the Render videos dialog makes you tick a box for it. โ†’ Rendering again
  • A row changed at the origin renders again. When a sync brings a new value for a row, that row is ready to render again on the next run. Its previous video is kept.

Limits

The numbers below are the current defaults. The screens tell you when you have reached one, and why.

Free plan Paid plans
Automations per account 3 25
Rows per automation 10 5,000
Ways to start From a template, a CSV or JSON file, or blank All โ€” including a Google Sheet, a CSV at a URL and an API
Scheduled syncing Not available Every hour at the most frequent
Videos rendering at once 1 5
Rows per batch 10 As many as your credits allow

Your email must be verified before your first batch, on every plan. Until it is, the Render videos dialog says so, with a lock icon, and its button stays disabled.

Whatever the plan, one automation holds at most 20,000 rows or 20 MB, at most 200 columns, and at most 100 items in a list cell. A file you import, and a source you connect, can be at most 5 MB. One automation feeds at most 20 templates, and one template delivers to at most 10 destinations.

Not available through the API

Automations are a dashboard feature. There is no public API, CLI or MCP support for creating them, mapping them or starting batches. To drive the same thing from your own code, call POST /v2/movies once per record with a template and that record's variables โ€” that is what an automation does for each row โ€” and keep the loop on your side. The no-code integrations do exactly that from Make.com, n8n and plain HTTP.

In this section