List of on-the-fly CDN operations
Uploadcare CDN features on-the-fly image optimization, a large set of image transformations, and non-image file operations, such as getting file information or changing file delivery behavior.
You can find detailed specifications of all CDN operations in the URL API.
Image processing operations
Key types of image operations are:
When applying any image operation, a new file is created (cached on our CDN, and not counted towards your storage limits). If not set, this file is encoded with the default quality and original format. However, you can adjust them to meet your requirements better.
Limitations
Image processing operations have limits that you should consider.
Input image formats
List of supported image formats:
- AVIF
- BMP
- GIF
- HEIC
- JPEG
- PCX
- PNG
- TGA
- TIFF
- WEBP
Some formats have several variations, and we support the most popular ones. Contact sales if you require additional formats or variations.
Without any image processing operation in the URL, CDN instructs
browsers to show images (Content-Disposition: inline
) and download other file
types (Content-Disposition: attachment
). Browsers may not show all image formats,
such as TIFF
and HEIC
formats. If you need to display an image, add any image
processing operation, -/preview/
for instance.
Core operations
When processing images, you must add at least one of the following operations via their respective URL directives:
File size
Image processing operations can be applied to files smaller than 100 MB.
The file size limit can be increased individually. To do this, contact our sales team.
Output image dimensions
The dimensions you specify for the last operation should not exceed 3000x3000
pixels. You can go up to 5000x5000 pixels by explicitly setting
your image format to JPEG, /format/jpeg/
.
You can extend the output max resolution up to 8192x8192, and up to 16384x16384 for JPEGs in trade-off for increased latency. Contact our sales team to learn more about this option.
SVG files
Any image transformation CDN URL is valid with an SVG file. Most operations
don’t affect the response SVG body, while geometric operations (crop
,
preview
, resize
, scale_crop
) change SVG attributes and work as expected.
To apply full range of operations on SVG file, it should be rasterized by
applying /rasterize/
operation. Read more about SVGs.
SVGs uploaded before May 26, 2021 still have is_image: false
and adding
processing operations to them will result in error. Contact support
to batch process previously uploaded files.
Image resolution
We don’t provide on-the-fly image processing for images greater than 75 MP in resolution: those are tagged as non-image files and can only be delivered via CDN as-is. Adding processing operations to non-image files will result in an error.
Simple rotation
When the only image transformation you want is rotating, consider using the
preview
control without any arguments. When
you use any of the transformations, we automatically rotate images according to
their EXIF orientation.
Animated images
Animated images are treated as static by the transformations engine. Learn more about animated images optimization.
Show or download
-/inline/yes/
-/inline/no/
By default, CDN instructs browsers to show images and download other file types.
The inline
control allows you to change this behavior.
Change filename
Your original filenames can be accessed via REST API.
Request to receive a JSON response with file parameters including
original_filename
.
You can set an optional filename that users will see instead of the original name:
:filename
should comply with file name conventions
and it should be a valid part of a URL. For example, filename.ext
.
File information
Get file info as JSON
-/json/
Returns file-related information, such as image dimensions or geotagging data in the JSON format.
In the second option, json
response will contain the original
key with the
info on your original image.
Get file info as application/javascript
-/jsonp/
Same as the example above, but it returns data as the application/javascript
type. The callback name should always be uploadcare_callback
. It should receive
the two following arguments: id
and a response object. For original files,
id
is equivalent to their UUIDs. For processed files, id
is equivalent
to their URLs, excluding the last operation, jsonp
.
In the first case id
will be c5b7dd84-c0e2-48ff-babc-d23939f2c6b4
, in the
second: /c5b7dd84-c0e2-48ff-babc-d23939f2c6b4/-/preview/
.
Perceptual hash
Perceptual hashing is a technique for quickly comparing images and finding duplicates or similar images. Check out more details about perceptual hash.
File groups operations
File groups serve as collections of files that help you organize content within your Uploadcare project. A group itself and files within it MUST belong to the same project.
Most often, file groups are used in the following cases:
- Multipage document conversion
- Creating video thumbnails
- Uploads multiple files simultaneously and then needs to display them together.
Learn more about file groups.