The /file/compress Robot

We can both archive and extract entire media libraries.

The /file/compress Robot creates archives of files or file conversion results.


Name Type Default Description
use (required) String / Array of Strings


Specifies which Step(s) to use as the input to this Robot.

Special Step names

A special Step name is ":original", which provides user uploads handled by Transloadit.

Providing several Steps as input

You can add arrays to use several Steps:
"use": [

Step bundling

Some Robots can gather several Step results for a single invocation. For example, the /file/compress Robot would normally create one Zip file for each file passed to it. If you'd set bundle_steps to true, however, it will create one archive containing all the result files from all Steps you give it. To enable bundling, provide an object like the one below to the use parameter:
  "use": {
    "steps": [
    "bundle_steps": true
This is a crucial parameter for the /video/adaptive Robot, otherwise you'll generate 1 playlist for each viewing quality.
Keep in mind that all input Steps must be present in your Template. If one of them is missing, no result is generated because the Robot waits indefinitely for all input Steps to be finished.

Group by original

Sticking with the /file/compress Robot example, you can set group_by_original to true, in order to create a separate Zip file for each of your uploaded or imported files, instead of creating one archive containing all originals (or one per resulting file). This is a crucial parameter for the /media/playlist Robot.


See a demo for the use parameter here.
format String "tar" The format of the archive to be created. Supported values are "tar" and "zip". Note that "tar" without setting gzip to true results in an archive that's not compressed in any way.
gzip Boolean false Determines if the result archive should also be gzipped. Gzip compression is only applied if you use the "tar" format.
compression_level Integer -6 Determines how fiercly to try to compress the archive. -0 is compressionless, which is suitable for media that is already compressed. -1 is fastest with lowest compression. -9 is slowest with the highest compression. If you are using -0 in combination with the tar format with gzip enabled, consider setting gzip to false instead. This results in a plain Tar archive, meaning it already has no compression.
file_layout String "advanced" Determines if the result archive should contain all files in one directory (value for this is "simple") or in subfolders according to the explanation below (value for this is "advanced"). Files with same names are numbered in the "simple" file layout to avoid naming collisions.


Our /file/compress Robot can be used in combination with other Robots, to create powerful workflows unique to your use case. Here are a few example scenarios that you can try live on our website:

Blog posts about the /file/compress Robot

We wrote the following posts about the /file/compress Robot on our blog:

Did you know?

You can easily combine Robots to create powerful workflows, unique to your business.
This is the power of Transloadit.