Image Crop API

Convert png, jpg, jpeg, webp, avif, tiff, gif, bmp, svg files to png, jpg, jpeg, webp, avif with a single POST request. Upload a file as multipart/form-data and the API returns a download URL for the converted file.

Input

png, jpg, jpeg, webp, avif, tiff, gif, bmp, svg

Output

png, jpg, jpeg, webp, avif (image/png)

Credit cost

1 per file

Max file size

Per plan (10–500 MB)

Endpoint

POSThttps://api.fileswitch.co/api/v1/converter/image-crop

Authentication is optional for guests and recommended for production. Send either an API key or a JWT access token as a Bearer token. Authenticated requests deduct 1 credit from your balance; failed conversions are refunded. See Authentication for details.

Quick start

The same request in every supported language. Each example uploads a file and prints the downloadUrl from the response.

Example request
curl -X POST https://api.fileswitch.co/api/v1/converter/image-crop \
  -H "Authorization: Bearer fc_YOUR_API_KEY" \
  -F "file=@input.png" \
  -F "x=0" \
  -F "y=0" \
  -F "width=0" \
  -F "height=0" \
  -F "unit=pixels" \
  -F "outputFormat=auto" \
  -F "quality=80" \
  -F "stripMetadata=true"

Parameters

Send file plus any optional options. Every option is optional and falls back to its default when omitted.

FieldTypeDefaultDescription
filebinaryThe file to convert. Accepts .png , .jpg , .jpeg , .webp , .avif , .tiff , .gif , .bmp , .svg
xnumber0

Left offset of the crop box.

Range: 0 .. 20000

ynumber0

Top offset of the crop box.

Range: 0 .. 20000

widthnumber0

Width of the crop box.

Range: 1 .. 20000

heightnumber0

Height of the crop box.

Range: 1 .. 20000

unitstringpixels

Unit used for x/y/width/height.

Values: pixels, percent

outputFormatstringauto

Output format; auto keeps the source format.

Values: auto, png, jpeg, webp, avif

qualitynumber80

Output quality for lossy formats.

Range: 1 .. 100

stripMetadatabooleantrue

Remove EXIF/ICC metadata.

Example request bodyjson
{
  "file": "input.png",
  "x": 0,
  "y": 0,
  "width": 0,
  "height": 0,
  "unit": "pixels",
  "outputFormat": "auto",
  "quality": 80,
  "stripMetadata": true
}

Response

Every conversion endpoint returns the same success / message / data envelope. The data object is a Conversion record with a temporary downloadUrl.

Response bodyjson
{
  "success": true,
  "message": "Conversion completed",
  "data": {
    "id": "b10a5f2e-8c1e-4b3a-9c1d-2e3f4a5b6c7d",
    "inputFormat": "html",
    "outputFormat": "pdf",
    "inputFileName": "document.html",
    "outputFileName": "document.pdf",
    "inputFileSize": 45210,
    "outputFileSize": 88431,
    "status": "completed",
    "error": null,
    "creditCost": 2,
    "downloadUrl": "/api/v1/converter/download/conversions%2Fb10a5f2e-8c1e-4b3a-9c1d-2e3f4a5b6c7d%2Foutput.pdf",
    "createdAt": "2026-07-31T13:00:00.000Z",
    "completedAt": "2026-07-31T13:00:02.000Z"
  }
}

Prepend https://api.fileswitch.co/api/v1 to the downloadUrl and download with the same credentials. Files are retained temporarily and auto-deleted. See the full field reference in Response Schema.

Related conversions

Ready to convert png, jpg, jpeg, webp, avif, tiff, gif, bmp, svgpng, jpg, jpeg, webp, avif? Start free — no credit card required.