Are you new to Transloadit and feeling lost in the sea of technical terms? Not to worry, we've got your back! In this post, we'll go through some Transloadit-specific jargon, so you can feel confident when you next find yourself navigating the Transloadit documentation.

Robots and Jobs

Under the hood, Transloadit operates by running tools such as FFmpeg on a file. Running a tool like this creates a Job, which is the smallest logical unit on which everything else is built.

Jobs can't perform themselves, however, and that is where our Robots come in. Every Robot in our arsenal is specialized in one unique task, and there is an endless number of potential Robot combinations that can create complex functionality, such as a music card generator.

Templates, Assemblies and Assembly Instructions

Assembly line

One Robot by itself can already do impressive things, but when we start piecing multiple Robots together into an assembly line – or, as we like to say, Assembly Instructions – we can create some truly great things. Each Robot performs a single Step in the process, which ultimately results in functionality greater than the sum of any individual part.

Transloadit's servers can then parse your Assembly Instructions and run the necessary back-end tools to output your transcoded files. We use the term Assembly when referring to a single execution of the Assembly Instructions.

It is, of course, not always ideal to pass a fresh set of Assembly Instructions each time you want to create an Assembly. That is why we created Templates. With Templates, you simply point Transloadit to the name of your Template, and we will follow your carefully crafted JSON recipe from there. We outlined some of the benefits of using Templates in a recent blog post: 5 ways to get the most out of Transloadit.

Sync vs Async

By default, Transloadit will return the current state of the Assembly as part of the Assembly Status JSON, which you can subscribe to and poll in order to check for Assembly completion. This is referred to as using Transloadit synchronously or in Sync Mode.

However, we also offer the option to interact with Transloadit asynchronously. Provide a notify_url, and set waitForEncoding to false, and we will send a POST request to your back-end when the Assembly has finished encoding. This way, your user will not be blocked while your servers wait for transcoding to finish. You can learn more about how to set up Async Mode in our Working asynchronously with PHP blog.

Another benefit of using Transloadit asynchronously comes in the form of Assembly Replays. If there was a problem while running your Assembly, and the files were already successfully uploaded, then Transloadit can replay the Assembly within 24 hours. This will happen automatically in the case of a server malfunction, but it can also be manually triggered from the Transloadit console.

That's all folks!

With that, we've reached the end of our whistle-stop tour through Transloadit terminology. For a full list of our technical terms and their definitions, check out our Glossary.

Any confusion you may have had, has hopefully been cleared up as a result of this post. As always though, please reach out to us if you need guidance on any of the Transloadit features.