Uploads

Authorization

Imagizer Cloud

You must first request an Auth token from https://cloud.imagizer.com/tokens. Then you may add the token to the Authorization header on the upload request.

Authorization: Bearer {auth_token}

Stand-alone Imagizer

Stand-alone Imagizer does not currently provide an authorization method. Uploads are disabled by default and when enabled can be limited to port 17007.

WARNING

Take care to only open the port on your firewall to trusted IP Addresses.

Upload to a S3 Backend

Upload support allows for image files to be written through Imagizer into an S3 bucket. Imagizer can optionally preprocess images before storing them on S3. Images are accessible for use immediately after uploading.

Configuration

Imagizer Cloud

See the Imagizer Cloud Basic Configuration section for information on enabling uploads.

Stand-alone Imagizer

See the Uploads configuration section for information on enabling uploads.

Upload

Upon upload, images are written into Imagizer's local cache, preventing Imagizer from fetching origin images later and speeding up any subsequent requests. The image will then be uploaded into the configured S3 bucket.

Perform a multipart/form-data file upload to the intended URL of the image. The image path will be used as the S3 object key.

Example: Upload an image through Imagizer and into an S3 backend.

POST /image_path.jpg HTTP/1.1
Content-Type: multipart/form-data;

file=@in-image.jpg
curl -F file=@in-image.jpg "http://{host}/image_path.jpg"

Delete

Imagizer does not currently support deleting images. You must delete files directly from your S3 Bucket.

Preprocessing

Using the cache_processed parameter will inform imagizer to preprocess the image before caching and uploading, allowing the cached origin image to be modified. All subsequent requests will use the preprocessed image.

Example: POST an image file, scale the image to 400px width, and then cache the processed image.
The preprocessed image will be cached at /image.jpg.

POST /image.jpg HTTP/1.1
Content-Type: multipart/form-data;

file=@in-image.jpg
cache_processed=true
width=400
curl -F file=@in-image.jpg "http://{host}/image.jpg"

Upload to Imagizer Storage

Imagizer offers built-in image storage free of charge. Imagizer storage is backed by Amazon S3 which guarantees high reliability and protects against data loss. You may upload images directly to Imagizer. Images are accessible for use immediately after uploading.

TIP

Available only on Imagizer Cloud.

Configuration

See the Imagizer Cloud Basic Configuration section for information on enabling Imagizer Storage.

Upload

Example: upload an image to Imagizer Storage

POST /api/v1/images HTTP/1.1
Authorization: Bearer {auth_token}
Content-Type: multipart/form-data;

file=@in-image.jpg
curl -X POST \
    -H "Authorization: Bearer {auth_token}" \
    -F file=@in-image.jpg \
    https://{source}.cloud.imagizer.com/api/v1/images"

Example: response

{
   "url":"http:\/\/{source}.cloud.imagizer.com\/{filename}",
   "width":{width},
   "height":{height}
}

Delete

Example: delete an image from Imagizer Storage

DELETE {image_url} HTTP/1.1
Authorization: Bearer {auth_token}
curl -X DELETE \
    -H "Authorization: Bearer {auth_token}" \
    {image_url}