> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://uploadcare.com/docs/llms.txt.

# Migrating Images from Filestack

> Learn how to migrate your images and image transformations to Uploadcare, a smart Filestack alternative

Even though our [Migro](/docs/guides/migro/) utility does a good
job migrating your files from Filestack to Uploadcare, image transformations are
a bit more complicated to transfer.
This article holds a mapping of Filestack image transformation operations to the
Uploadcare ones. We also provide some migration practices and visual examples.
The following list is based on the names of Filestack operations:

* [Resize](#migrate-img-resize)
* [Crop](#migrate-img-crop)
* [Rotate](#migrate-img-rotate)
* [Flip, Flop](#migrate-img-flipflop)
* [Watermark](#migrate-img-watermark)
* [Detect_faces, face detection](#migrate-img-faces)
* [Filters — Blur](#migrate-img-blur)
* [Monochrome, desaturating](#migrate-img-gscale)
* [Sharpen](#migrate-img-sharpen)
* [Enhance](#migrate-img-enhance)
* [Filetype conversion — images, format conversions](#migrate-img-format)
* [Quality, changing image quality](#migrate-img-quality)
* [Zip, handling archives](#migrate-img-archive)

## Resize \[#migrate-img-resize]

Filestack image resizing operation has several input parameters that map to
the three Image Transformations: [`resize`](/docs/transformations/image/resize-crop/#operation-resize),
[`preview`](/docs/transformations/image/resize-crop/#operation-preview), and
[`scale_crop`](/docs/transformations/image/resize-crop/#operation-scale-crop).
Here’s what those three do:

* `resize`: resizes an image to fit into the specified dimensions.
* `preview`: scales an input image to fit into the specified dimensions while
  preserving its original aspect ratio.
* `scale_crop`: scales an image until one of the dimensions gets equal to the
  specified size, the rest of image is cropped.

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

* `width`         -> `width`
* `height`        -> `height`
* `fit` , `align` -> `preview` , `scale_crop`, and `resize`.
  See below for more info.

When migrating images with the `clip` and `max` values for `fit`: use `preview`.
A `crop` value for `fit` can be migrated by using `scale_crop`. When looking to
migrate `scale`, `resize` can be used. The two supported `align` values are:
`center` and no value, which defaults to `left`.

### Examples

Scale image to fit 750 px in width,

<table>
  <tr>
    <td>
      [![Scale Filestack image](https://ucarecdn.com/b8c35701-63f8-4def-a956-132e93e31b35/-/preview/)](https://ucarecdn.com/b8c35701-63f8-4def-a956-132e93e31b35/)
    </td>

    <td>
      [![Scale Uploadcare image](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/resize/750x/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/resize/750x/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/resize=width:750/`
    </td>

    <td>
      Uploadcare\

      `/-/resize/750x/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:750/2h25ZGRHTfmQ2DBEt3yR
https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/resize/750x/
```

Scale image to fit 500x500 px container,

<table>
  <tr>
    <td>
      [![Scale and resize Filestack image](https://ucarecdn.com/ef35042d-039d-4d66-bfbb-4ce39ca880f9/-/preview/)](https://ucarecdn.com/ef35042d-039d-4d66-bfbb-4ce39ca880f9/)
    </td>

    <td>
      [![Scale and resize Uploadcare image](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/resize=width:500,height:500/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/500x500/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:500,height:500/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/
```

Crop image using 500x500 px box, use image center as anchor point,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/)
    </td>

    <td>
      [![Scale and crop Filestack image](https://ucarecdn.com/c2ab76ba-1d3f-40cc-9741-4240e4001d58/-/preview/)](https://ucarecdn.com/c2ab76ba-1d3f-40cc-9741-4240e4001d58/)
    </td>

    <td>
      [![Scale and crop Uploadcare image](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/500x500/center/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/500x500/center/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/resize=width:500,height:500,fit:crop/`
    </td>

    <td>
      Uploadcare\

      `/-/scale_crop/500x500/center/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:500,height:500,fit:crop/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/500x500/center/
```

Migrating `clip` `fit` value, fit image into 500x500 px container,

<table>
  <tr>
    <td>
      [![Fit Filestack image into a container](https://ucarecdn.com/6e0b7ea1-b3c7-48a7-a757-9df7d3dddb95/-/preview/)](https://ucarecdn.com/6e0b7ea1-b3c7-48a7-a757-9df7d3dddb95/)
    </td>

    <td>
      [![Fit Uploadcare image into a container](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/resize=width:500,height:500,fit:clip/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/500x500/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:500,height:500,fit:clip/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/500x500/
```

Migrating `scale` `fit` value, fit image into 1500x300 px container,

<table>
  <tr>
    <td>
      [![Fit Filestack image into a container](https://ucarecdn.com/7b8847c6-4449-4777-b79b-8bea61eab5af/-/preview/)](https://ucarecdn.com/7b8847c6-4449-4777-b79b-8bea61eab5af/)
    </td>

    <td>
      [![Fit Uploadcare image into a container](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/resize/1500x300/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/resize/1500x300/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/resize=width:1500,height:300,fit:scale/`
    </td>

    <td>
      Uploadcare\

      `/-/resize/1500x300/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:1500,height:300,fit:scale/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/resize/1500x300/
```

Migrating `max` `fit` value, resize image to fit maximum allowed dimensions.
Note, Filestack and Uploadcare allow different maximum image dimensions.
For instance, the example below deals with the maximum of 3000x3000 pixels for Uploadcare,
that can be increased to 5000x5000 by using `/format/jpeg/`,
[learn more](/docs/transformations/image/#limits).

<table>
  <tr>
    <td>
      [![Fit maximized Filestack image into a container](https://ucarecdn.com/6bdb3b78-a209-4837-aabd-9e4429074565/-/preview/)](https://ucarecdn.com/6bdb3b78-a209-4837-aabd-9e4429074565/)
    </td>

    <td>
      [![Fit maximized Uploadcare image into a container](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/3000x3000/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/3000x3000/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/resize=width:4000,height:3000,fit:max/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/3000x3000/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:4000,height:3000,fit:max/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/3000x3000/
```

Migrating `align:left` and `crop` `fit` values, crop image using 200x400 px box,
top-left as anchor point,

<table>
  <tr>
    <td>
      [![](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/200x200/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/)
    </td>

    <td>
      [![](https://ucarecdn.com/ff0a9386-6bcd-448e-a58c-c7350cb6fac2/-/preview/)](https://ucarecdn.com/ff0a9386-6bcd-448e-a58c-c7350cb6fac2/)
    </td>

    <td>
      [![](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/200x400/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/200x400/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/resize=width:200,height:400,fit:crop,align:left/`
    </td>

    <td>
      Uploadcare\

      `/-/scale_crop/200x400/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:200,height:400,fit:crop,align:left/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/200x400/
```

Migrating `align:center` and `crop` `fit` values, crop image using 200x400 px
box, center as anchor point,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/preview/200x200/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/)
    </td>

    <td>
      [![Resize and crop Filestack image at center](https://ucarecdn.com/c14ca84f-d0d3-4c53-9311-d7772633a517/-/preview/)](https://ucarecdn.com/c14ca84f-d0d3-4c53-9311-d7772633a517/)
    </td>

    <td>
      [![Resize and crop Uploadcare image at center](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/200x400/center/)](https://ucarecdn.com/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/200x400/center/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/resize=width:200,height:400,fit:crop,align:center/`
    </td>

    <td>
      Uploadcare\

      `/-/scale_crop/200x400/center/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/resize=width:200,height:400,fit:crop,align:center/2h25ZGRHTfmQ2DBEt3yR
https://demo.ucarecd.net/b85bbf3a-393d-4217-b23e-02f0329a017d/-/scale_crop/200x400/center/
```

*Note, the following Filestack `align` values are not supported by `scale_crop`:*

```cdn
https://process.filestackapi.com/resize=width:200,height:400,fit:crop,align:[bottom,right]/2h25ZGRHTfmQ2DBEt3yR
https://process.filestackapi.com/resize=width:100,height:763,fit:crop,align:faces/bF4XG4SCzzTckCY3xtwA
```

## Crop \[#migrate-img-crop]

Filestack image cropping maps to the Uploadcare
[image crop](/docs/transformations/image/resize-crop/#operation-crop) operation. There’s a difference,
though. When setting the crop coordinates that create an area that extends
outside the original image dimensions, Filestack will give you the part of an
input image that fits into the original dimensions. With Uploadcare, you can
choose whichever coordinates, but an area beyond the original image dimensions
will be filled with white.

Here’s the difference,

<table>
  <tr>
    <td>
      [![Filestack crop to coordinates](https://ucarecdn.com/31708726-0887-450f-b5ef-200a1303b271/-/preview/)](https://ucarecdn.com/31708726-0887-450f-b5ef-200a1303b271/)
    </td>

    <td>
      [![Uploadcare crop to coordinates](https://ucarecdn.com/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/crop/3800x1165/1500,2000/)](https://ucarecdn.com/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/crop/3800x1165/1500,2000/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/crop=dim:[1500,2000,3800,1600]/`
    </td>

    <td>
      Uploadcare\

      `/-/crop/3800x1165/1500,2000/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/crop=dim:[1500,2000,3800,1600]/nfMpfd2KT1e7BjGz8LWJ
https://demo.ucarecd.net/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/crop/3800x1165/1500,2000/
```

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

* `x`, `y`          -> `two_coords`
* `width`, `height` -> `two_dimensions`

### Examples

A couple of crop examples,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/e4f4f028-33d6-4b36-85d8-2e5a19d2de74/-/preview/1800x1800/)](https://ucarecdn.com/e4f4f028-33d6-4b36-85d8-2e5a19d2de74/)
    </td>

    <td>
      [![Filestack crop to dimensions](https://ucarecdn.com/22975ce0-9c36-4399-9fa3-36300e6325d3/-/preview/)](https://ucarecdn.com/22975ce0-9c36-4399-9fa3-36300e6325d3/)
    </td>

    <td>
      [![Uploadccare crop to dimensions](https://ucarecdn.com/e4f4f028-33d6-4b36-85d8-2e5a19d2de74/-/crop/1800x1300/2000,900/)](https://ucarecdn.com/e4f4f028-33d6-4b36-85d8-2e5a19d2de74/-/crop/1800x1300/2000,900/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/crop=dim:[2000,900,1800,1300]/`
    </td>

    <td>
      Uploadcare\

      `/-/crop/1800x1300/2000,900/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/crop=dim:[2000,900,1800,1300]/bXa8m7oYQdmyWpmo2I2B
https://demo.ucarecd.net/e4f4f028-33d6-4b36-85d8-2e5a19d2de74/-/crop/1800x1300/2000,900/
```

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/preview/1600x1600/)](https://ucarecdn.com/e5d9d2f3-6d7c-49c1-8774-413eaba35419/)
    </td>

    <td>
      [![Filestack crop to dimensions](https://ucarecdn.com/f1c5a803-b6ff-4904-9935-45812ce968c9/-/preview/)](https://ucarecdn.com/f1c5a803-b6ff-4904-9935-45812ce968c9/)
    </td>

    <td>
      [![Uploadccare crop to dimensions](https://ucarecdn.com/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/crop/3200x1165/1500,2000/)](https://ucarecdn.com/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/crop/3200x1165/1500,2000/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/crop=dim:[1500,2000,3800,1600]/`
    </td>

    <td>
      Uploadcare\

      `/-/crop/3200x1165/1500,2000/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/crop=dim:[1500,2000,3800,1600]/nfMpfd2KT1e7BjGz8LWJ
https://demo.ucarecd.net/e5d9d2f3-6d7c-49c1-8774-413eaba35419/-/crop/3200x1165/1500,2000/
```

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/fa6734b9-8194-4b92-b18c-29c78986cc57/-/preview/1000x1000/)](https://ucarecdn.com/fa6734b9-8194-4b92-b18c-29c78986cc57/)
    </td>

    <td>
      [![Filestack crop to dimensions](https://ucarecdn.com/04614b29-9781-488e-90ec-700c37ff6e43/-/preview/)](https://ucarecdn.com/04614b29-9781-488e-90ec-700c37ff6e43/)
    </td>

    <td>
      [![Uploadccare crop to dimensions](https://ucarecdn.com/fa6734b9-8194-4b92-b18c-29c78986cc57/-/crop/1000x1000/0,0/)](https://ucarecdn.com/fa6734b9-8194-4b92-b18c-29c78986cc57/-/crop/1000x1000/0,0/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/crop=dim:[0,0,1000,1300]/`
    </td>

    <td>
      Uploadcare\

      `/-/crop/1000x1000/0,0/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/crop=dim:[0,0,1000,1300]/pFT3mHzROCSennsG7bmB
https://demo.ucarecd.net/fa6734b9-8194-4b92-b18c-29c78986cc57/-/crop/1000x1000/0,0/
```

## Rotate \[#migrate-img-rotate]

Filestack image rotation well maps to the Uploadcare
[rotate](/docs/transformations/image/resize-crop/#operation-rotate) operation. It’s for right-angle
counterclockwise image rotation. In order to map the `exif` Filestack parameter,
you can use the [autorotate](/docs/transformations/image/resize-crop/#operation-autorotate)
operation that deals with the EXIF `Orientation` tag.
Note, with Uploadcare, when you’re applying any transformations to your images,
they’re automatically aligned according to their EXIF. However, you can choose to
use `/-/autorotate/no/` to change this behavior.

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

`deg` or `exif` -> `angle`

### Examples (Filestack vs Uploadcare)

Rotate image 180 degrees counterclockwise,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/6edd4c93-ddc4-4c2a-8f8d-e1c91dc1449d/-/preview/)](https://ucarecdn.com/6edd4c93-ddc4-4c2a-8f8d-e1c91dc1449d/)
    </td>

    <td>
      [![Filestack image rotate](https://ucarecdn.com/d9339f4b-58c0-4a63-b1cd-d932021c5bbe/-/preview/)](https://ucarecdn.com/d9339f4b-58c0-4a63-b1cd-d932021c5bbe/)
    </td>

    <td>
      [![Uploadcare image rotate](https://ucarecdn.com/b86014ba-342e-49b0-a908-f540a65a8231/-/rotate/180/)](https://ucarecdn.com/b86014ba-342e-49b0-a908-f540a65a8231/-/rotate/180/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/rotate=deg:180/`
    </td>

    <td>
      Filestack\

      `/rotate=deg:exif/rotate=deg:180/`
    </td>

    <td>
      Uploadcare\

      `/-/rotate/180/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/rotate=deg:180/nfXozo2yRbuDU4NNFd0a
https://demo.ucarecd.net/b86014ba-342e-49b0-a908-f540a65a8231/-/rotate/180/
```

Rotate image according to EXIF,

<table>
  <tr>
    <td>
      [![Filestack image EXIF rotate](https://ucarecdn.com/bfb82bbd-6303-4ccb-9c38-7b587d22966d/-/preview/)](https://ucarecdn.com/bfb82bbd-6303-4ccb-9c38-7b587d22966d/)
    </td>

    <td>
      [![Uploadcare image EXIF rotate](https://ucarecdn.com/b86014ba-342e-49b0-a908-f540a65a8231/-/autorotate/yes/)](https://ucarecdn.com/b86014ba-342e-49b0-a908-f540a65a8231/-/autorotate/yes/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/rotate=deg:exif/`
    </td>

    <td>
      Uploadcare\

      `/-/autorotate/yes/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/rotate=deg:exif/nfXozo2yRbuDU4NNFd0a
https://demo.ucarecd.net/b86014ba-342e-49b0-a908-f540a65a8231/-/autorotate/yes/
```

Rotate image, discard EXIF info,

<table>
  <tr>
    <td>
      [![Filestack image rotate, discard EXIF](https://ucarecdn.com/f1002b73-79b9-49da-b6c5-18a8441fbfcd/-/preview/)](https://ucarecdn.com/f1002b73-79b9-49da-b6c5-18a8441fbfcd/)
    </td>

    <td>
      [![Uploadcare image rotate, discard EXIF](https://ucarecdn.com/b86014ba-342e-49b0-a908-f540a65a8231/-/autorotate/no/)](https://ucarecdn.com/b86014ba-342e-49b0-a908-f540a65a8231/-/autorotate/no/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/rotate=exif:false/`
    </td>

    <td>
      Uploadcare\

      `/-/autorotate/no/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/rotate=exif:false/nfXozo2yRbuDU4NNFd0a
https://demo.ucarecd.net/b86014ba-342e-49b0-a908-f540a65a8231/-/autorotate/no/
```

## Flip, Flop \[#migrate-img-flipflop]

The Filestack `Flip` and `Flop` operations map to the
[flip](/docs/transformations/image/resize-crop/#operation-flip) and
[mirror](/docs/transformations/image/resize-crop/#operation-mirror) Image Processing operations respectively.

The operations require no parameters.

### Examples (Filestack vs Uploadcare)

Flipping image,

<table>
  <tr>
    <td>
      [![Original file](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/preview/)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/)
    </td>

    <td>
      [![Filestack image flip](https://ucarecdn.com/14381579-33db-4560-a52d-70bc761b8ee0/-/preview/)](https://ucarecdn.com/14381579-33db-4560-a52d-70bc761b8ee0/)
    </td>

    <td>
      [![Uploadcare image flip](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/flip/)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/flip/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/flip/`
    </td>

    <td>
      Uploadcare\

      `/-/flip/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/flip/0DBXIJvvRtqSzsUtalHY
https://demo.ucarecd.net/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/flip/
```

Mirroring image,

<table>
  <tr>
    <td>
      [![Original file](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/preview/)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/)
    </td>

    <td>
      [![Filestack image mirror (horizontal flip)](https://ucarecdn.com/2011149c-99a5-42af-9c35-d5d149928f9c/-/preview/)](https://ucarecdn.com/2011149c-99a5-42af-9c35-d5d149928f9c/)
    </td>

    <td>
      [![Uploadcare image mirror (horizontal flip)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/mirror/)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/mirror/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/flop/`
    </td>

    <td>
      Uploadcare\

      `/-/mirror/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/flop/0DBXIJvvRtqSzsUtalHY
https://demo.ucarecd.net/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/mirror/
```

Piping the two operations,

<table>
  <tr>
    <td>
      [![Original file](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/preview/)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/)
    </td>

    <td>
      [![Filestack flop](https://ucarecdn.com/9714fe87-d13d-4152-92ae-9bb9bddc7522/-/preview/)](https://ucarecdn.com/9714fe87-d13d-4152-92ae-9bb9bddc7522/)
    </td>

    <td>
      [![Uploadcare flip and mirror](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/flip/-/mirror/)](https://ucarecdn.com/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/flip/-/mirror/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/flip/flop/`
    </td>

    <td>
      Uploadcare\

      `/-/flip/-/mirror/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/flip/flop/0DBXIJvvRtqSzsUtalHY
https://demo.ucarecd.net/761112e8-5786-42a9-8c60-dafa09bfaa3c/-/flip/-/mirror/
```

## Watermark \[#migrate-img-watermark]

Filestack watermarks map to the Image Processing
[overlay](/docs/transformations/image/overlay/) operation. Watermarks, in this
regard, are any images layered over your image content.

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

* `file`     -> `uuid`
* `size`     -> `relative_dimensions`
* `position` -> `relative_coordinates`

### Examples (Filestack vs Uploadcare)

Add overlay, align: center,

<table>
  <tr>
    <td>
      [![Filestack watermark](https://ucarecdn.com/4cec110d-1fe4-493a-99f1-cd9692818af8/-/preview/)](https://ucarecdn.com/4cec110d-1fe4-493a-99f1-cd9692818af8/)
    </td>

    <td>
      [![Uploadcare watermark](https://ucarecdn.com/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/center//)](https://ucarecdn.com/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/center/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/watermark=file:ZoVdwbe6Qcu9uIxIZSuU/h2T4Jl9RBSSXOGtl0gv8`
    </td>

    <td>
      Uploadcare\

      `/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/center/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/watermark=file:ZoVdwbe6Qcu9uIxIZSuU/h2T4Jl9RBSSXOGtl0gv8
https://demo.ucarecd.net/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/center/
```

Add overlay, define dimensions,

<table>
  <tr>
    <td>
      [![Filestack watermark resized](https://ucarecdn.com/d3483ef2-2920-4981-86d9-002a67432fa6/-/preview/)](https://ucarecdn.com/d3483ef2-2920-4981-86d9-002a67432fa6/)
    </td>

    <td>
      [![Uploadcare watermark resized](https://ucarecdn.com/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/90%25x90%25/center/)](https://ucarecdn.com/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/90%25x90%25/center/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/watermark=file:ZoVdwbe6Qcu9uIxIZSuU,size:300/h2T4Jl9RBSSXOGtl0gv8`
    </td>

    <td>
      Uploadcare\

      `/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/90%x90%/center/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/watermark=file:ZoVdwbe6Qcu9uIxIZSuU,size:300/h2T4Jl9RBSSXOGtl0gv8
https://demo.ucarecd.net/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/90%25x90%25/center/
```

Add overlay, define dimensions and position,

<table>
  <tr>
    <td>
      [![Filestack watermark positioned](https://ucarecdn.com/bfd61b6b-171c-4485-b220-4d57355c4279/-/preview/)](https://ucarecdn.com/bfd61b6b-171c-4485-b220-4d57355c4279/)
    </td>

    <td>
      [![Filestack watermark positioned](https://ucarecdn.com/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/60%25x60%25/100p,0p/)](https://ucarecdn.com/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/60%25x60%25/100p,0p/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/watermark=file:ZoVdwbe6Qcu9uIxIZSuU,position:[top,right],size:200/h2T4Jl9RBSSXOGtl0gv8`
    </td>

    <td>
      Uploadcare\

      `/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/60%x60%/100p,0p/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/watermark=file:ZoVdwbe6Qcu9uIxIZSuU,position:[top,right],size:200/h2T4Jl9RBSSXOGtl0gv8
https://demo.ucarecd.net/213351af-c519-4409-8995-e04409fe71b4/-/overlay/923a68d0-8e04-407e-a39c-64b7eaf2c4a6/60%25x60%25/100p,0p/
```

## Face detection \[#migrate-img-faces]

With Uploadcare, the [detect_faces](/docs/face-detection/) operation
is used to get a JSON holding coordinates of faces found in an image. Filestack
face detection well maps to the operation with the `export` parameter set to
`true`.
The Uploadcare version outputs data similar to the
[json](/docs/cdn-operations/#operation-json) operation and requires no input
parameters.

### Examples (Filestack vs Uploadcare)

Detect faces and return their coordinates as JSON,

Acquire JSON from Filestack

```cdn
https://process.filestackapi.com/detect_faces=export:true/GOBMuoEKRS6iW8oNSlcN
```

Acquire JSON from Uploadcare

```cdn
https://demo.ucarecd.net/8df8efa5-7d23-4f2a-8006-d3c1178295ac/detect_faces/
```

## Filters — blur \[#migrate-img-blur]

The `blur` Filestack operation under the `Filters` section maps to the
[blur](/docs/effects-enhancements/#operation-blur) Image Processing operation.

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

`amount` -> `strength`

### Examples

Some blur,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/)
    </td>

    <td>
      [![Filestack blur](https://ucarecdn.com/3836fa8e-9b69-4e16-8dfa-5f10cd48af29/-/preview/)](https://ucarecdn.com/3836fa8e-9b69-4e16-8dfa-5f10cd48af29/)
    </td>

    <td>
      [![Uploadcare blur](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/blur/20/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/blur/20/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/blur/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/-/blur/20/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/blur/7m1aL2WEQg2Dkh1Cxgpi
https://demo.ucarecd.net/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/blur/20/
```

More blur,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/)
    </td>

    <td>
      [![Filestack blur](https://ucarecdn.com/5154500b-9da4-49b3-8a30-870df816934d/-/preview/)](https://ucarecdn.com/5154500b-9da4-49b3-8a30-870df816934d/)
    </td>

    <td>
      [![Uploadcare blur](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/blur/70/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/blur/70/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/blur=amount:7/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/-/blur/70/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/blur=amount:7/7m1aL2WEQg2Dkh1Cxgpi
https://demo.ucarecd.net/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/blur/70/
```

## Monochrome \[#migrate-img-gscale]

Desaturating images with Uploadcare is done via the
[grayscale](/docs/effects-enhancements/#operation-grayscale) operation. The Filestack
analog is called `monochrome`. Both operations require no input parameters.

### Examples

Getting grayscale image,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/)
    </td>

    <td>
      [![Filestack monochrome](https://ucarecdn.com/70cfd79c-344b-4a4a-9600-39dbde5b635c/-/preview/)](https://ucarecdn.com/70cfd79c-344b-4a4a-9600-39dbde5b635c/)
    </td>

    <td>
      [![Uploadcare grayscale](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/grayscale/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/grayscale/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/monochrome/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/-/grayscale/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/monochrome/7m1aL2WEQg2Dkh1Cxgpi
https://demo.ucarecd.net/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/grayscale/
```

## Sharpen \[#migrate-img-sharpen]

The Filestack image sharpening well maps to the
[sharp](/docs/effects-enhancements/#image-photo-filters) Image Processing operation.

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

`amount` -> `strength`

### Examples

Sharpen image,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/)
    </td>

    <td>
      [![Filestack sharpen](https://ucarecdn.com/1a3cc4cd-3e7e-4b07-a1cf-3410e0c56125/-/preview/)](https://ucarecdn.com/1a3cc4cd-3e7e-4b07-a1cf-3410e0c56125/)
    </td>

    <td>
      [![Uploadcare sharpen](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/sharp/15/)](https://ucarecdn.com/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/sharp/15/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/sharpen/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/-/sharp/15/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/sharpen/7m1aL2WEQg2Dkh1Cxgpi
https://demo.ucarecd.net/3109c49f-9c56-4210-a229-a325aae9e2b5/-/preview/-/sharp/15/
```

## Enhance \[#migrate-img-enhance]

While the Filestack and Uploadcare image enhancement operations share the same
title: [Enhance](/docs/effects-enhancements/#operation-enhance), the latter also
takes the `strength` parameters allowing you to adjust the degree of applied
enhancements.

### Examples

Enhance image,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/1cc80272-3adb-4266-9043-57fb6ee4a826/-/preview/)](https://ucarecdn.com/1cc80272-3adb-4266-9043-57fb6ee4a826/)
    </td>

    <td>
      [![Filestack enhance](https://ucarecdn.com/224ace9b-b259-43d6-8671-1cd78edddf9f/-/preview/)](https://ucarecdn.com/224ace9b-b259-43d6-8671-1cd78edddf9f/)
    </td>

    <td>
      [![Uploadcare enhance](https://ucarecdn.com/1cc80272-3adb-4266-9043-57fb6ee4a826/-/preview/-/enhance/100/)](https://ucarecdn.com/1cc80272-3adb-4266-9043-57fb6ee4a826/-/preview/-/enhance/100/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/enhance/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/-/enhance/100/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/enhance/GuRNrlnARMyyDahg141e
https://demo.ucarecd.net/1cc80272-3adb-4266-9043-57fb6ee4a826/-/preview/-/enhance/100/
```

## Format conversions \[#migrate-img-format]

Image conversions under the Filestack `Filetype conversion` section map to the
[format](/docs/compression/#operation-format) Image Processing operation.
In addition, the Uploadcare version supports the `auto` setting that adjusts the
output image format according to the client preferences.

### Examples

Set output format to PNG,

<table>
  <tr>
    <td>
      [![Filestack output format conversion to PNG](https://ucarecdn.com/a4a4fc03-3488-4126-8730-3e740ae9c113/-/preview/)](https://ucarecdn.com/a4a4fc03-3488-4126-8730-3e740ae9c113/)
    </td>

    <td>
      [![Uploadcare output format conversion to PNG](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/png/)](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/png/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/output=format:png/`
    </td>

    <td>
      Uploadcare\

      `/-/format/png/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/output=format:png/oaOFJufxQWmyEZTVbciV
https://demo.ucarecd.net/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/png/
```

Set output format to JPG,

<table>
  <tr>
    <td>
      [![Filestack output format conversion to JPEG](https://ucarecdn.com/2f2ea33c-0f62-4942-be9b-1b70349e5e9e/-/preview/)](https://ucarecdn.com/2f2ea33c-0f62-4942-be9b-1b70349e5e9e/)
    </td>

    <td>
      [![Uploadcare output format conversion to JPEG](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/jpg/)](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/jpg/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/output=format:jpg/`
    </td>

    <td>
      Uploadcare\

      `/-/format/jpg/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/output=format:jpg/oaOFJufxQWmyEZTVbciV
https://demo.ucarecd.net/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/jpeg/
```

Set output format to WebP,

<table>
  <tr>
    <td>
      [![Filestack output format conversion to WEBP](https://ucarecdn.com/cee9a5ff-08b7-470a-9cb1-d587fc0ca036/-/preview/)](https://ucarecdn.com/cee9a5ff-08b7-470a-9cb1-d587fc0ca036/)
    </td>

    <td>
      [![Uploadcare output format conversion to WEBP](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/webp/)](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/webp/)
    </td>
  </tr>

  <tr>
    <td>
      Filestack\

      `/output=format:webp/`
    </td>

    <td>
      Uploadcare\

      `/-/format/webp/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/output=format:webp/oaOFJufxQWmyEZTVbciV
https://demo.ucarecd.net/4240c773-3cd2-4952-b379-70e5a72bed3a/-/format/webp/
```

## Image quality \[#migrate-img-quality]

Both Filestack and Uploadcare allow you to change image quality. Filestack
allows to change the parameter value explicitly, while Uploadcare has a set of
five quality presets. See [quality](/docs/compression/#operation-quality) for
details.

### Migrating operation parameters

```
<filestack-parameter-name> -> <uploadcare-parameter-name>
```

`value` -> `quality`

### Examples

Reducing image size via quality,

<table>
  <tr>
    <td>
      [![Original image](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/preview/)](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/)
    </td>

    <td>
      [![Filestack image compression by quality reduction](https://ucarecdn.com/36d9f29d-cbce-4d87-b7ce-c8a7e1fd2a3d/-/preview/)](https://ucarecdn.com/36d9f29d-cbce-4d87-b7ce-c8a7e1fd2a3d/)
    </td>

    <td>
      [![Uploadcare image compression by quality reduction](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/preview/-/quality/lighter/)](https://ucarecdn.com/4240c773-3cd2-4952-b379-70e5a72bed3a/-/preview/-/quality/lighter/)
    </td>
  </tr>

  <tr>
    <td>
      Original image\

    </td>

    <td>
      Filestack\

      `/quality=value:50/`
    </td>

    <td>
      Uploadcare\

      `/-/preview/-/quality/lighter/`
    </td>
  </tr>
</table>

```cdn
https://process.filestackapi.com/quality=value:50/oaOFJufxQWmyEZTVbciV
https://demo.ucarecd.net/4240c773-3cd2-4952-b379-70e5a72bed3a/-/preview/-/quality/lighter/
```

## Archives \[#migrate-img-archive]

The Filestack `Zip` operation maps to the [archive](/docs/file-groups/#get-as-archive)
processing operation. However, the latter only works with Group API.