How image hosting works at pico

There are two ways to upload images to pico: through or They both share similar features to each other, they just serve different purposes and have different storage limits.

# Features

  • Images can be web optimized
  • API to modify images on-the-fly (e.g. dimensions, quality, orientation)

# What it is

  • A place to host public images
  • A place to host your blog images
  • We moderate all images

# What it isn't

  • Not a general cloud photo storage solution
  • Not a place to backup or store your photos

# Publish your images with one command

When your image is ready to be published, copy the file to our server with a familiar command:

1rsync *.jpg

We'll either create or update the images for you.

Or if you are using

1rsync *.jpg

# Web optimized

We do our best to web optimize the images being delivered from pico to users. We use imageproxy to serve images from our object store.

By default, images served from are web optimized, meaning we strip exif data, convert images to webp, and reduce the quality.

We do not automatically optimize images from because we try to subscribe to the principle of least surprise.

# What file types are supported?


# Image manipulation

Our services support an API to manipulate images on-the-fly! Listed below are all the supported options:

 1[!profile](/profile.jpg/s:500) # downscale width, preserve aspect ratio
 3[!profile](/profile.jpg/s::500) # downscale height, preserve aspect ratio
 5[!profile](/profile.jpg/s:500:500) # downscale width and height
 7[!profile](/profile.jpg/q:50) # set quality to 50 (scale is 1-100)
 9[!profile](/profile.jpg/rt:90) # rotate image (choices: 90, 180, 270)
11[!profile](/profile.jpg/ext:webp) # convert image to webp
Custom domains
API Tokens