The /file/compress Robot

Transloadit can both archive and extract entire media libraries.

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

Parameters

Name Type Default Description
use (required) String / Array of Strings General
Specifies which Step(s) to use as the input to this Robot.

Special Step names
A special Step name is ":original", which "uses" the originally uploaded files.

Providing several Steps as input
You can also add arrays here to use several Steps:
use: [ ":original", "encode2", "resizing3" ]

Step bundling
This Robot allows you to bundle several Steps that are to be used as the input. The Robot would normally create one zip file for each Step you pass to it. If you set bundle_steps to true, however, it will create one archive containing all the result files from all Steps you pass to it. To achieve this, provide an object like the one below to the use parameter:
use: { steps: [ ":original", "encode2", "resizing3" ], bundle_steps: true }

Demo
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.

Example use cases

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, and the required the Assembly Instructions to implement them.
You can also try demos of these examples right here, live on our website.

Create a gzipped tar archive containing multiple result files

{
  "steps": {
    "resize": {
      "use": ":original",
      "robot": "/image/resize",
      "width": 100,
      "height": 100
    },
    "archive": {
      "use": {
        "steps": [
          ":original",
          "resize"
        ],
        "bundle_steps": true
      },
      "robot": "/file/compress",
      "result": true,
      "format": "tar",
      "gzip": true
    }
  }
}

Create a Zip file for each uploaded file

{
  "steps": {
    "archive": {
      "use": ":original",
      "robot": "/file/compress",
      "result": true,
      "format": "zip"
    }
  }
}

Create a single Zip file containing all uploaded files

{
  "steps": {
    "archive": {
      "use": {
        "steps": [
          ":original"
        ],
        "bundle_steps": true
      },
      "robot": "/file/compress",
      "result": true,
      "format": "zip"
    }
  }
}

Related blog posts

Over the years we wrote the following posts about Our /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.