Files and Images

LAST EDIT Oct 14 2024

This API endpoint allows you to upload files and to process your images (eg. create image thumbnails).

Upload

Copied!

Image and files have separate API endpoints (e.g. images can be resized, whereas files cannot). Once the upload is completed the URL of the file/image is returned and is ready for use.

The returned URL is served via CDN and can be requested by anyone. In order to avoid resource enumeration attacks, a unique signature is added. Manipulating the returned URL will likely result in HTTP errors. Every time that you retrieve the activity/reaction/collection where the file/image was uploaded, the URL will be refreshed.

A single Stream CDN URL expires after 14 days, after which its signature will stop working and the link won't be valid anymore. You can check when a link will expire by comparing the current time with the Unix timestamp in the Expires parameter of the link's query: https://us-east.stream-io-cdn.com/0000/images/foo.png?...&Expires=1602666347&...

Upload size is limited to 100MB, any attempt to upload a larger file will return an HTTP 413 error. If you need to upload larger files then we recommend using your own CDN.

Delete

Copied!

Files and images can be deleted using their URL.

The file/image will still be available on the CDN until their cache is expired.

Image Processing

Copied!

Once an image is uploaded, it is possible to create variants of the same in different sizes. The image to manipulate is selected using its URL. A new URL is then returned by the API.

Parameters

Copied!
nametypedescriptiondefaultoptional
resizestringthe strategy used to adapt the image the new dimensionsclip
cropstringthe cropping modecenter
wnumberthe final width of the processed image-
hnumberthe final height of the processed image. -

Resize

Copied!

The resize parameter determines how the new image dimensions are applied. The default value for this parameter is "clip".

Allowed values:

  • clip fits the image within the width and height boundaries without cropping or changing the aspect ratio.

  • crop applies the new dimensions and keeps the aspect ratio by cropping the parts of the image outside of the new boundaries. You can use the crop parameter to control how the cropping is done.

  • scale applies the new dimensions to the image. This method does not respect the aspect ratio and can create distorted images.

  • fill same as "clip" but the resulting image will have the exact dimensions requested and filled with a solid background color.

Crop

Copied!

When resizing the image with a crop you can specify the cropping direction. By default, images are cropped started from their center. You combine directions in order to pick corners. Eg. "top,left" will use the top left corner as cropping position.

Allowed values:

  • top, bottom, left, right, center