Opens in a new tab

After Effects Templates for Batch Rendering: Best Practices

Published November 12, 2026

Build the template so the layout follows the text, clean the data before you render, test a few rows first, and run the batch on machines you control. Templater has a tool for each step: layout rules, attachments, per-row text styling, footage settings, spot checks, and a Bot that can run on one machine or many. This handbook covers them in the order a batch usually goes wrong.

We make Templater, an After Effects plugin, so every tip here comes from Dataclay’s own documentation. Where our docs say nothing, we say so instead of guessing.

Build the template so the layout follows the text

Longer text breaks a data-driven template first. A long German headline or a right-to-left name will not fit a box sized for the English sample. Stop placing things by hand and let rules do it.

Templater scales and repositions dynamic layers when new data changes their size, alignment, or position. You set the rules per layer with the Templater Settings effect. Scale Factor, for example, rescales a layer to a percentage of its parent composition, so 100% fills the comp. Two cautions: layout rules do not work correctly on properties with Separate Dimensions turned on, and the effect cannot be applied to Shape layers, so pre-compose the shape and apply it to the pre-comp.

Attachments handle the layers beside a changing text block. Attach a label or a rule line to the headline layer and Templater moves it when the text grows, with optional padding. You can chain several layers so a stack follows one master layer. Our post on managing text expansion across languages works through an example.

Languages also change fonts and direction. Add a column or JSON key named after the text layer with “@style” on the end, such as “title@style”, and put the font, direction, or justification in it. Use the PostScript name of the font. If you mix left-to-right and right-to-left rows, set direction and justification explicitly on every row. Use an installed font that covers the language. If it is installed but lacks the characters, no text appears for that row. If it is not installed, Windows uses the system default font and macOS gives unexpected results. A blank style cell falls back to your Preferences defaults. See dynamic text styling in Templater.

Two more design facts. One text layer uses one font, size, weight, and style, so you cannot bold one word from data. A partial workaround is adjacent text layers with Attachment properties. And TSV and JSON text files must be UTF-8 so international characters read correctly.

Our docs give no character limit and no guide to how much longer a given language runs. Set your own limits by rendering your longest and shortest real rows first.

Data first: clean rows, blank cells, long values, missing media

Many batch problems start in the data, so check before the render and after it.

Match names exactly. Each row, or each object in a JSON array, is one render job, and each column or key maps to a dynamic layer by name. Rename the layer yourself after you create it, because a layer you did not explicitly rename may not be processed as dynamic. Avoid spaces in layer names. In a Google Sheet, column names that begin with a number or contain spaces, the _ character, or a dollar sign are a listed cause of layers not updating.

Avoid reserved names. id, target, output, aep, render-status, bot, module, and render-settings are reserved and case-sensitive, and using them as dynamic layer names can cause an error. Give every row a unique id or output value. The Bot overwrites files that share an output name, and a blank output column falls back to the id.

Decide what a blank footage cell does. In Preferences, in the Footage group, the box “Consider empty cells or null values as faulty” controls it. Off, and a blank cell makes Templater hold over the item from the previously previewed row, which is how row 12’s image shows up in row 13. On, and the blank is handled like any bad reference.

Choose what happens when footage is missing. You pick one of five behaviors: ask what to do, let you find the file, skip the row, use a branded placeholder, or cancel. Our docs recommend the placeholder because it keeps a batch moving, and Templater 2.9.5 and later uses it by default. Skip the row if a missing asset means the video should not exist. See handling missing and remote footage. A “Failed at N/A” error means After Effects did not find an asset, footage, or font where the project expects it.

Missing Footage Options

Five behaviors when footage is missing

Behavior What it does Recommended?
Ask Ask what to do No
Find the file Let you find the file No
Skip the row Row is skipped; video does not exist If missing asset means video should not exist
Branded placeholder Keeps the batch moving Yes, default since 2.9.5
Cancel Cancel the batch No
Templater 2.9.5 and later uses the placeholder by default.

Know where our docs stop. They do not say what an empty cell does to a text layer, or give a maximum value length or row count. Test a blank row and a very long row in a preview.

Preview, then spot check. Preview mode steps through rows one at a time or cycles through a range. A small range makes previews faster. Spot checks export stills or short clips of chosen frames from each data-merged job. Name timeline markers to pick the frames, or Templater samples evenly. They need Pro or Bot and Templater 3.0 or later. A PNG sequence output module with the work area set to one frame gives you one still per video for quality control.

Watch the status column. With the Bot, each row’s render-status moves from ready to queued to processing to done. ERR::MEDIA means Templater had trouble finding or importing a media asset, and the video may have rendered with a media problem in it. ERR::AFXHOST means After Effects hit an error and likely stopped working normally. After a run, look for any row that is not done. With a URL feed the Bot cannot write render-status back, so register a script on its After Job or After Batch events to avoid re-rendering rows still marked ready. Templater also writes log files to a folder you choose in Preferences. If a batch stalls, start at the last log message.

Expressions and pre-comps in data-driven templates

For expressions, map your data to a dynamic text layer and point the expression at that layer’s Source Text with the pickwhip. Templater passes all data as strings, so cast when the code needs another type: parseInt(), parseFloat(), parseNumber(), or eval() for objects and arrays. Our docs call the JSON footage route experimental because it can raise a dialog that interrupts a batch, and recommend the text layer route as more stable. Steps are in using Templater data in After Effects expressions. Our docs do not say what an expression costs at render time, so measure it on your own template.

For pre-comps, Dynamic Essential Properties lets data control properties on a pre-comp layer (Templater 3.5 or later). Promote the properties in the primary comp, nest it, give the pre-comp layer a new name with no spaces, and apply the Templater Settings effect to it. In JSON, use “layer name@egp” for a group of properties or “layer name@[property name]” for one. A spreadsheet header uses the same syntax. Property names must match the Essential Properties panel exactly, including any group name, and values must match the type: colors as an RGB array or hex code, numbers as numbers, booleans as true or false. A mismatched property is skipped and logged. A missing or null key uses the default from the primary comp.

Our docs advise against swapping video footage this way, because After Effects does not support Time Sculpting, audio files, or videos with audio there. They do not state a limit on pre-comp nesting depth, so keep nesting shallow and test a few rows. Time Sculpting needs a target composition, and time cropping adjusts a composition’s duration however deeply it is nested.

Speeding up batch renders

Our FAQ lists what drives render time: length, resolution, hardware, the ratio of dynamic to static frames, how processor-intensive your effects are, and how the template is built. Our post speed up After Effects exports adds more.

  • Purge what you do not use. Templater evaluates every layer, so delete unused layers, effects, and comps.
  • Pre-compose and crop any layer that is scaled far down or only partly visible, so After Effects processes fewer pixels.
  • Use proxies for heavy footage during playback and preview.
  • Test with draft settings. The render settings templates that install with Templater include draft versions that render at very low quality for fast test runs. Switch to a best-quality version for the real batch, and use the “comp” version with Time Sculpting so the full duration renders.
  • Pre-flight. Render one video on a machine like your production machine, then multiply by the batch size for a fair estimate when jobs run in a queue.
  • Run in parallel. Our FAQ says two Bot machines cut the time in half and three cut it to a third.
  • Turn off caching on long Bot runs. Our docs say the Bot can slow down over an extended run because of After Effects layer caching, and give steps to disable the layer cache and, on a machine used only for automation, the disk cache. Since After Effects 24.3 the purge-memory-caches preference no longer empties the disk cache, so clear it by hand if you leave it on.

On pre-rendering, our documentation is quiet. It does not describe rendering a static section once and reusing it across rows. Test any pre-render idea on a few rows before you trust it.

Where the work runs

Templater renders in After Effects on machines you control. Our FAQ says you can run it on one or more Windows Server machines in a cloud environment, with no special license from Dataclay. After Effects must be installed and running there, and Adobe’s standard license does not permit After Effects on a server, so talk to Adobe about the right license. Cloud or on-premise: how to choose covers the trade-offs.

To scale out with the Bot, several machines can read the same Google Sheet, even in different places. To split rows between them, give each Bot a unique name in Preferences and add a “bot” column that assigns each row to a Bot. The Bot also has a command line interface, and Dataclay provides open-source tools to get started.

With QUE, the cloud app that holds your jobs, the rendering machines are called satellites: your own machines with After Effects and Templater installed, added from Templater’s preferences with your organization key. QUE does not load balance jobs between satellites, so you assign jobs to a satellite by hand and make sure every font, plugin, and asset the job needs is available on it. Your QUE plan limits how many satellites you can add. If a satellite is deleted, its jobs become unassigned.

Projector is an installed desktop application, and our docs say your video assets are never visible to another party. It renders several videos in parallel across your computer’s cores. By default it uses half of them, so on a quad-core machine it works on two videos at a time, and you can adjust that. It must run on the same computer where you use Templater and store its output, and it can archive finished videos to an S3 cloud storage bucket in an account you provide. See what Projector is, and the Templater page for the plugin.

Our docs do not describe what happens when a satellite or render node drops mid-job, or any automatic retry or failover. Plan for that with the render-status column and the Bot’s After Job and After Batch events.

Bottom line

Let layout rules and attachments carry the text. Style fonts and direction per row for other languages. Keep names exact and rows unique, and decide on purpose what blank and missing media do. Preview, spot check, and read the log. Use text-layer expressions and well-named pre-comps, trim the project before you scale it, and run on machines you control. Where our docs have no answer, such as character limits or failover, test it yourself first.

Frequently Asked Questions

How do I stop long text from breaking a template?

Set layout rules per dynamic layer with the Templater Settings effect, and attach nearby layers to the text layer so they move with it. Then render your longest real values before the full batch. Our docs give no character limits, so you set your own by testing.

What does Templater do with an empty cell?

For footage, it depends on a Preferences setting. With “Consider empty cells or null values as faulty” ticked, the cell is treated like a bad reference. With it off, Templater holds over the item from the previously previewed row. Our docs do not say what an empty cell does to a text layer.

What happens if a footage file is missing?

You choose one of five behaviors: ask, let you find the file, skip the row, use a branded placeholder, or cancel. Our docs recommend the placeholder because it keeps the batch running.

Can I run batch rendering on my own servers or in the cloud?

Yes. Templater can run on one or more Windows Server machines in a cloud environment, with no special Dataclay license. After Effects must be installed there, and Adobe’s standard license does not permit After Effects on a server, so contact Adobe.

How do I make a batch render faster?

Purge unused layers, effects, and comps. Pre-compose and crop partly visible layers. Use proxies and draft render settings while testing. Run several Bots in parallel on separate machines, or use Projector, which renders in parallel across your computer’s cores.

Can I control pre-comp properties from my data?

Yes, with Dynamic Essential Properties in Templater 3.5 or later. Promote the properties in the primary comp, name the pre-comp layer, apply the Templater Settings effect, and use “layer name@egp” or “layer name@[property name]” in your data. Names and data types must match exactly or Templater skips the property.

Leave the first comment

Sign up

Stay up to date with Datclay's newsletter. We won't spam your inbox.

Newsletter Signup
Name
Name
First
Last

By submitting your email, you agree to our Terms and Privacy Policy. You can opt out at any time.