Getting Started

Filestack Architecture

File Upload

File Export (Save To)

Responsive Images

Image Transformations

Document Transformations

Video Transcoding

Audio Transcoding





Filestack Viewer


Supported Cloud Drives

Filestack Recipes

Filestack Integrations

Filestack SDKs

Register for an API key


There are three steps of caching in Filestack. The following are Filestack’s internal cache layers, with the first layer being the browser:

  1. The first layer is the browser cache. Whenever Filestack returns a file, whether it was converted or not, the file is loaded with a cache control response header telling the browser to cache the file.
  2. The second is S3. All previously converted files are loaded from Filestack’s S3 Bucket.
  3. Before a file is converted, it will be stored in Redis.
Javascript Example
var input = document.getElementById("read-input");
var output = document.getElementById("read-result");
if (!input.value) {
    console.log("Choose an image to read below");
} else {, {cache: true},
            output.src = 'data:image/png;base64,'+imgdata;
            console.log("Read successful");
        }, function(fperror) {
            //  console.log(FPError.toString()); - print errors to console
REST Example
>>> curl -I
HTTP/1.1 200 OK
Cache-Control: public, max-age=315360000, no-transform
>>> curl -I
HTTP/1.1 200 OK
Cache-Control: no-cache

Browser Caching In Filestack For Regular Files

The first kind of caching in Filestack is for regular and converted files. This kind of cache is set in a user’s browser, and allows setting a cache control header in their HTTP response. There are currently only two browser cache options. If cache=true, the file will be cached for 10 years. If cache=false, it will not be cached.

Caching for Converted Files

If this were a new conversion, the first request to convert this file with its set of parameters would take a little extra time as this conversion will be performed.

Once a conversion request is completed, the converted file is delivered to Filestack’s S3, and the original file is stored in our Redis server.

Every subsequent request with the same parameters will be cached delivered from S3 to prevent from being converted multiple times.

The original file is stored in Redis for different conversion requests. Then, the file doesn’t have to be sourced from it’s original location, and increases the speed of conversions.

Every conversion result stays in our cache for 30 days. After that time it's removed and process above will apply to any subsequent request with the same conversion parameters.