2021-10-01 16:26:12 +06:00
# Getting the image info<i class='badge badge-pro'></i>
2020-03-30 15:45:02 +06:00
2022-02-01 12:43:36 +03:00
imgproxy can fetch and return a source image info without downloading the whole image.
2020-03-30 15:45:02 +06:00
## URL format
To get the image info, use the following URL format:
```
/info/%signature/plain/%source_url
/info/%signature/%encoded_source_url
```
### Signature
2022-02-01 12:43:36 +03:00
A signature protects your URL from being modified by an attacker. It is highly recommended to sign imgproxy URLs in a production environment.
2020-03-30 15:45:02 +06:00
2022-02-01 12:43:36 +03:00
Once you set up your [URL signature ](configuration.md#url-signature ), check out the [Signing the URL ](signing_the_url.md ) guide to learn about how to sign your URLs. Otherwise, since the signature is required, feel free to use any string here.
2020-03-30 15:45:02 +06:00
### 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
```
2022-02-01 12:43:36 +03:00
**📝Note:** If the source URL contains a query string or `@` , you'll need to escape it.
2020-03-30 15:45:02 +06:00
#### Base64 encoded
2022-02-01 12:43:36 +03:00
The source URL can be encoded with URL-safe Base64. The encoded URL can be split with `/` as desired:
2020-03-30 15:45:02 +06:00
```
/aHR0cDovL2V4YW1w/bGUuY29tL2ltYWdl/cy9jdXJpb3NpdHku/anBn
```
## Response format
2022-02-01 12:43:36 +03:00
imgproxy responses with a JSON body and returns the following info:
2020-03-30 15:45:02 +06:00
2022-02-01 12:43:36 +03:00
* `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` : Exif data
* `iptc` : IPTC data
* `video_meta` : metadata from the video
2021-09-28 22:57:46 +06:00
**📝Note:** There are lots of IPTC tags in the spec, but imgproxy supports only a few of them. If you need some tags to be supported, just contact us.
2020-03-30 15:45:02 +06:00
#### Example (JPEG)
```json
{
"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)"
2021-09-28 22:57:46 +06:00
},
"iptc": {
"Name": "Spider-Man",
"Caption": "Spider-Man swings on the web",
"Copyright Notice": "Daily Bugle",
"Keywords": ["spider-man", "menance", "offender"]
2020-03-30 15:45:02 +06:00
}
}
```
2021-03-19 12:23:48 +00:00
#### Example (mp4)
2020-03-30 15:45:02 +06:00
```json
{
"format": "mov,mp4,m4a,3gp,3g2,mj2",
"width": 1178,
"height": 730,
"size": 984963,
2022-01-18 16:16:24 +06:00
"exif": {},
"video_meta": {
"com.android.version": "9",
"compatible_brands": "isommp42",
"creation_time": "2022-01-12T15:04:10.000000Z",
"location": "+46.4845+030.6848/",
"location-eng": "+46.4845+030.6848/",
"major_brand": "mp42",
"minor_version": "0"
}
2020-03-30 15:45:02 +06:00
}
```