To render versioned video in a batch with Templater, you rig one template, put every version you need into a data source as one row each, set a data range, and click Render. The part that decides whether the batch goes well is not the click. It is how you design the rows, and what you check before the first frame renders.
This guide is for one reader in particular. You are an editor, and you have a finished After Effects template that now has to come out in many languages and many sizes. Somebody has handed you a translation sheet and a list of delivery formats. You would rather not open the project forty times. We will walk through the setup the way our own support documentation describes it, add what we have learned about keeping a run of this kind from going sideways, and say plainly where our documentation is silent so you can test instead of guess.
Start with the rows, because one row is one finished video
Templater works through a data source. Each row in a spreadsheet, or each object in a JSON array, becomes one output. The column headers, or the JSON keys, are matched to the names of layers in your project. That one idea carries the whole job. If you can say what a row means, you can build the batch.
Take a concrete case. You have a thirty second product promo with a headline, a tagline, a call to action and a voiceover clip. The client wants four languages and three sizes: a wide version, a square version and a tall version for stories. Four times three is twelve videos, so you need twelve rows. Each row carries the headline, tagline and call to action for one language, plus a way to say which size that row is. This is an example we made up to show the shape of the work, not a customer story.
Here is how the row columns break down. Some columns are yours, and some are reserved by Templater. Your own columns are named after the dynamic layers in the template, so a text layer you renamed headline takes its text from the column called headline. Reserved columns do special jobs, and our documentation lists them. These four matter most for a language and size batch.
The id column holds your own label for each row. By default Templater identifies an output by the row index in a spreadsheet, or the position of the object in a JSON array. If you give each row an id, the value is appended to the output file name when there is no output column, or when the output column is blank. The output column sets the file name for each job, and if you leave it out Templater makes up a name for you. The target column chooses which composition in the project gets processed for that row. If Templater cannot find a composition with the name you gave, or if the column is absent, it processes the default target composition. And the module and render-settings columns let a row name its own After Effects output module and render settings template. Their values are case sensitive.
Read that list against the promo. The target column is how three sizes live in one project: you build a wide composition, a square composition and a tall composition, and each row names the one it wants. The output column is how twelve files end up called something you can read, such as a language code plus a size, instead of a folder of look-alikes. The module and render-settings columns let the story versions use a different output than the wide ones without anyone changing a dropdown between runs.
There is a fourth idea worth knowing, and it comes from flags. A flag is a term wrapped in double braces or double brackets inside a data cell, and Templater treats it as an instruction instead of text. Two of them are useful here. The off flag hides a dynamic layer for a particular job. The composition name flag, when it is mapped to a composition layer, swaps that layer’s source with the named project composition. So if the German version needs a different end card than the others, you can switch it in the data and keep one project. Flags are case sensitive. Our post on flags in data sources shows more of what they can do, and you will find it at using flags in Templater data sources.
Now the part where we have to be honest about limits. Our documentation says Templater maps data to a single worksheet of a single data source. It does not pull from several tabs. If your translation team keeps one tab per language, you will have to bring them together into one sheet before the batch, or export one data file. We also document that a single text layer holds one font, size, weight and style, so you cannot mix bold and italic words inside one layer through the data. If a headline in one language needs a different weight, that is a design decision for the template, not something a row can do.
Prepare the template so the odd row does not break the batch
Before you click anything, our documentation lists the conditions for a versioned render. They are plain, and every one of them is a place where a batch of languages and sizes goes wrong. The Templater Settings effect must be applied to every layer you want to be dynamic. The column names or property keys in your data source must match the names of the dynamic layers. The data source, the footage folder and the output folder must be entered in the Batch Assets section of the Templater panel. You need a target composition. And under Output Options you pick a render settings template and an output module.
Take the layer names seriously. Our mapping guide says layers must be explicitly renamed after you create them, even if the name you typed when making the layer matches the column. If you skip the rename, Templater may not treat the layer as dynamic. It also says not to use spaces in layer names, and not to apply the Templater Settings effect to a layer twice, because that gives unexpected results. If you use an online spreadsheet as the data source, the documentation adds that column headers should not begin with a numeral or contain spaces, low-line characters or the dollar sign. A header like headline_de would fail that rule. Write headlineDE, or better, keep one headline column and give each language its own row.
That choice, one column per language or one row per language, matters more than it looks. When each language is a row, the template has one headline layer and the data decides what it says. When each language is a column, you need a layer per language and a way to hide the ones you do not want. The first is simpler to rig and simpler to check. Use the second only if the design needs several languages visible at once.
Now think about what happens to a layout when a translated line is longer than the English one. This is general practice, not a Dataclay measurement, and we are not going to give you a number for it. Some languages need more room for the same meaning, and some scripts read right to left. Templater supports diverse languages and right-to-left scripts, according to our write-up on automated news video, but that means the text will go in. It does not mean the design will look right. That is the job of layout rules.
Layout rules are settings on the Templater Settings effect that tell a dynamic layer how to behave when new data changes its size or position. A layer can scale to a percentage of its parent composition, align to the composition, and attach to a sibling layer so a chain of layers follows one master layer. In our documentation’s own example, a text layer is forced to scale to ninety percent of its composition’s width and height and sit in the bottom left corner, while a footage layer in the same composition aligns to the bottom right. One caution applies. The documentation warns that layout rules do not work on properties that have Separate Dimensions enabled, so check any layer you rigged that way. Because each size has its own composition, you can give the tall version different rules from the wide one. We cover this in more depth in our post on layout rules.
Voiceover and music need a mention. Our sources describe footage and audio layers being updated from a footage source folder. They also list a case where footage layers do not update: if the layer was first made by inserting a placeholder object, or if the footage folder in the main panel is missing or wrong. The fix our troubleshooting guide gives is to remove the problem layer and its project item, import a real footage file, drag it into the composition, rename the layer, and reapply the Templater Settings effect. For a language batch, that means testing each audio file name from your sheet against the folder before you trust the run. Our documentation does not say what Templater does when a named file simply does not exist beyond pointing at that folder check, so confirm it in a trial instead of assuming.
Finally, trim the project. Templater evaluates every layer, so unused layers, effects and compositions are extra work on every version, and the saving repeats across all twelve renders. Our guide on speeding up After Effects exports goes through purging, pre-composing and cropping, and cache habits.
Run the batch, and check it before you trust it
With the template ready, the run itself is short. In the Templater panel, under Transport, enter a valid data range from your data source. Our documentation gives the rule for the numbers. The start row must be greater than 1 for tab-delimited files and online spreadsheets, because row 1 is the header. For JSON object arrays, the start row must be greater than 0. And the end row must always be greater than the start row. As the rule is written, the smallest range is two rows, so plan your single-row tests around that. Next, enter an identifying prefix in the Job prefix field, so every output file in this run starts the same way. Then click Render.
Pick your render settings carefully, because Templater installs a set of templates for exactly this. Four render settings templates ship with it. Two render the full duration of the target composition, one at best quality and one at draft quality. Two render only the work area, again at best and draft quality. The best quality, full duration template is the one for production output. It also matters if you use Time Sculpting, because it makes sure the whole composition is rendered no matter how Templater adjusts the length. The draft templates are for speed. Our documentation says their output quality is very low, and that they let you push through many jobs to test your output.
The output modules cover the common containers. They include uncompressed and animation codec movies, a ProRes option, an AVI option, and PNG sequences, with and without an alpha channel. The documentation points out the trade-offs. Uncompressed output renders quickly but makes very large files. The ProRes option gives good compression and quality, but After Effects renders it more slowly than uncompressed formats, because it has to compute the compression for each frame. If you need a delivery codec that After Effects does not offer, the answer in our FAQ is Adobe Media Encoder, which we come to below.
Here is the check we would never skip, and it uses those same templates. Set the target composition’s work area to a single frame, choose a PNG sequence output module, and render the batch. You get one still image for every row. Our documentation describes this as a way to spot check how Templater treats your data in each video. For twelve rows you could watch twelve videos, but for three hundred rows you cannot, and a folder of stills tells you in a minute that the Spanish tagline runs off the frame or that one row has no photo. Do it at draft quality first. If something is wrong, you fix a cell in the sheet instead of a finished file.
Templater also has a dedicated spot check feature in Pro and Bot. It exports still images or short clips of chosen frames. You name composition timeline markers to say which frames you want, and when there are no markers it samples an evenly spread number of frames across the composition. For a language batch, put named markers on the frames where the text is largest, since those frames are where a long translation fails first. Our post on generating spot checks has the details, including the command line route.
Now do the pre-flight we recommend for timing. Render one video that looks like the rest of the set, on a machine similar to the one you will use for production. Do not test with the shortest or simplest row. Multiply the time by the number of videos, and you have a fair estimate for a sequential run. For the promo, that means timing one wide render and one tall render, because we cannot tell you whether sizes differ in cost. Our documentation lists output resolution and video length among the things that affect render time, but it gives no figure for how much, so measure it on your own template.
When a run does fail, read the record. Templater has a console at the bottom of its panel and a log you can switch on in Preferences, where you choose the folder it writes to. Reset Log creates the log files, and Show Log opens the colored output. If Templater hangs, the last log message is your first clue. Our troubleshooting guide lists a few likely causes, such as a Templater Settings effect on a layer type it does not support, or a parameter that is invalid for the layer type, like a scale factor other than zero percent on an audio layer.
Choose your renderer, and know when this is the wrong tool
Render is not the only way to get files out. Replicate does something else. It takes your project, inserts the data, and saves a copy of the project for each version into a tidy folder structure. You can then send those copies to Adobe Media Encoder, which our FAQ says supports output codecs that After Effects does not include. Switching between Render and Replicate takes one checkbox. For our editor, Replicate makes sense in one situation: the client needs a codec After Effects lacks, or one of the twelve versions needs a hand fix before it renders. Otherwise Render gives you finished files with less handling.
Our sources do not include the full Media Encoder walkthrough on this page, only its title in a list of related topics and the short FAQ answer. If you go this route, test it first with two rows and check that the copies land where you expect.
If nobody should have to click, there is The Bot. It runs as a background process, checks the data source on a schedule, and picks up rows marked ready. You add a column named render-status and enter the word ready on each row you want processed. Templater changes the value to queued, then processing, then done. If it hits a problem it writes a code such as ERR::MEDIA, which means it had trouble locating or importing a media asset, or ERR::AFXHOST, which means After Effects itself hit an error. The documentation notes that with a media error the video may have rendered with a flaw inside it, so do not treat a finished file as a good file until you have looked. For an online spreadsheet, the Bot checks at intervals no shorter than about eighteen seconds.
Two warnings from our Bot documentation apply directly to a language and size batch. The Bot will overwrite existing files if two rows render to the same output name, so make sure your id or output values are unique for every row. Twelve rows named only by language would overwrite each other across sizes. And if you use a URL feed as the data source, the Bot cannot update the render-status value, so you must register a custom script on the right events to avoid rendering the same ready rows again.
If one machine is too slow for the deadline, you can run several Bots against one sheet. Each Bot gets a unique name in Templater Preferences, and you add a column named bot where each row names the Bot that should process it. Our FAQ says the total time falls by half with two machines and by a third with three. Projector is the other route to speed. It renders several videos at once on a single machine, using the After Effects engine in parallel according to the number of cores. See Projector for what it covers. When the data starts to come from several systems, QUE can take over as the data source, and our documentation notes it does not balance load between satellites, so you assign jobs to machines yourself and make sure fonts, plugins and assets are installed on each one.
Which edition you need is a fair question, and the answer is short. Rig prepares the project and previews real data. The Render and Replicate functions work only in Pro, and Enable Bot works only in Bot. The free trial is a fully featured Bot, which surprises people when a Rig license later has disabled buttons. Check the edition before you plan a batch around a button. For the license terms, see the Templater licensing guide, and for the plugin itself, Templater.
This approach is the wrong choice in a few cases. If you only need two or three versions, rigging a template, building a sheet and running a pre-flight will take longer than doing it by hand. If every version is a different design, there is no master to version, and you are back to managing a render queue. If no one on your side works in After Effects, the first step is a problem, because Templater runs inside it. In that case, our custom development team or a pre-rigged Autograf is the way in. And more machines do not rescue a slow template. If a single render is slow, ten machines give you ten slow machines. Fix the template first.
If this is your first time, our overview of batch rendering in After Effects sets out the whole ladder of options, and using Templater for localization covers the language side in more depth.
Bottom line. Treat a row as a finished video, and name everything it needs: text in the language, a target composition for the size, a unique output name. Build the sizes as separate compositions so each one gets its own layout rules. Render a single-frame PNG sequence at draft quality before you commit, and fix problems in the sheet instead of the output. Then time one real render, multiply, and decide whether one machine will do. Where our documentation is silent, such as how a missing audio file behaves or how much a tall size costs against a wide one, run a two-row test on your own template. It takes minutes, and it is cheaper than a wrong batch of twelve.
That covers the main path. Here are the questions editors ask us most when they set up a batch like this one.
Frequently Asked Questions
How do I output several sizes of the same template in one batch?
Build one composition for each size in the same project, then add a target column to your data source and put the composition name in each row. Templater processes the composition named in that row. If the name is missing from the project, or the column is absent, it processes the default target composition. Give each size its own layout rules, because a layer that fits a wide frame may not fit a tall one. Check the result with a single-frame PNG sequence render before you commit to the full run.
Does every row need its own output file name?
Yes, in practice. If you add an output column, Templater uses it for the file name. If you leave it out, Templater makes up a name, and if the output column is blank the id value is added to the name. The Bot overwrites existing files when two rows render to the same name, so use unique values. For a language and size batch, combine both, such as a language code plus a size label, so you can find and route each file afterward.
What start row and end row should I enter?
For tab-delimited files and online spreadsheets, the start row must be greater than 1, since row 1 holds the column headers. For JSON object arrays, the start row must be greater than 0. The end row must always be greater than the start row. As the rule is written, the smallest range covers two rows, so use two rows for a quick test. Enter the range under Transport in the Templater panel, then add a job prefix so the files from this run are easy to group.
How can I check a hundred versions without watching them all?
Set the target composition’s work area to a single frame, choose a PNG sequence output module, and render at draft quality. You get one still per row, and you can scan them quickly for text that overflows or media that is missing. In Pro and Bot you can also use spot checks, which export chosen frames. Name timeline markers on the frames you care about, or let Templater sample frames evenly across the composition. Fix any bad rows in the data source, then render for real.
When should I use Replicate instead of Render?
Use Replicate when you need an output format After Effects does not include, or when a version needs hand finishing before it renders. It inserts the data and saves a copy of the project for each version, and you can send those copies to Adobe Media Encoder. Use Render when you want finished files with the least handling. Switching takes one checkbox. Both Render and Replicate need Templater Pro or Bot, and they are not available in Rig.
Can the batch start by itself when new rows arrive?
Yes, with Templater Bot. It checks the data source at regular intervals, picks up rows with a render-status of ready, and moves each through queued, processing and done. A problem produces a code such as ERR::MEDIA or ERR::AFXHOST. The Bot supports QUE, online spreadsheets, URL feeds and local JSON and tab-delimited files as data sources. With a URL feed, it cannot write render-status back, so you register a script on the job events to stop ready rows from rendering twice.
How long will twelve or twelve hundred versions take?
We cannot give you a number, because it depends on video length, output resolution, your hardware, the ratio of dynamic to static frames, how heavy your effects are, and how the template is built. Render one representative video on a machine like your production machine and multiply by the number of videos for a sequential estimate. Running Bot on several machines divides that total, so two machines take half the time and three take a third. Measure each size separately, since your sizes may not cost the same.