1
0
mirror of https://github.com/imgproxy/imgproxy.git synced 2025-01-08 10:45:04 +02:00
imgproxy/docs/getting_the_image_info.md
2020-03-30 15:45:02 +06:00

1.9 KiB

Getting the image info pro

imgproxy can fetch and return the source image info without downloading the whole image.

URL format

To get the image info, use the following URL format:

/info/%signature/plain/%source_url
/info/%signature/%encoded_source_url

Signature

Signature protects your URL from being modified by an attacker. It is highly recommended to sign imgproxy URLs in a production environment.

Once you set up your URL signature, check out the Signing the URL guide to learn about how to sign your URLs. Otherwise, use any string here.

Source URL

There are two ways to specify source url:

Plain

The source URL can be provided as is, prepended by /plain/ part:

/plain/http://example.com/images/curiosity.jpg

📝Note: If the sorce URL contains query string or @, you need to escape it.

Base64 encoded

The source URL can be encoded with URL-safe Base64. The encoded URL can be split with / for your needs:

/aHR0cDovL2V4YW1w/bGUuY29tL2ltYWdl/cy9jdXJpb3NpdHku/anBn

Response format

imgproxy responses with JSON body and returns the following info:

  • format: source image/video format. In case of video - list of predicted formats divided by comma;
  • width: image/video width;
  • height: image/video height;
  • size: file size. Can be zero if the image source doesn't set Content-Length header properly;
  • exif: JPEG exif data.

Example (JPEG)

{
  "format": "jpeg",
  "width": 7360,
  "height": 4912,
  "size": 28993664,
  "exif": {
    "Aperture": "8.00 EV (f/16.0)",
    "Contrast": "Normal",
    "Date and Time": "2016:09:11 22:15:03",
    "Model": "NIKON D810",
    "Software": "Adobe Photoshop Lightroom 6.1 (Windows)"
  }
}

Exampple (mp4)

{
  "format": "mov,mp4,m4a,3gp,3g2,mj2",
  "width": 1178,
  "height": 730,
  "size": 984963,
  "exif": {}
}