URL resource type and link
This is where you need to reference to the base image that you need to transform and service. The source image can be one within the ShardImage system or a remote file on, for example, Google Cloud Storage Object, Amazon S3 Object, HTTP link, etc.
Structure
/{type}/{link}
Types
i
orinternal
: within the system- e.g.:
/i/my-photo.jpg
- e.g.:
r
orremote
: remote content- e.g.:
/r/http:%2f%2fexample.com%2fmyPhoto.jpg%3Fversion%3D2011%7Csummer
- e.g.:
f
orfetch
: any content (the previous ones combined); in this case, the SEO part cannot be used in the URL, but there is no need to escape the link, either- e.g.:
/f/http://example.com/myPhoto.jpg?version=2011|summer
- fetch supports base64 encoded URLs as well
- e.g.:
Remote content and fetch protocols
fb
orfacebook
: Facebook photo- pages photo:
fb://pages/{page ID}
- pages photo:
http
orhttps
: HTTP/HTTPSyoutube
: YouTube video thumbnailyoutube://{video ID}
cloudinary
: Cloudinary imagescloudinary://{cloud id}/{public ID}
commons
: Wikimedia Commons media contentcommons://{path1}/{path12}/{object.extension}
gs
: Google Cloud Storage Objectgs://{bucket}/{path-of-object}
aws
: Amazon S3 Objectaws://{bucket}:{region}/{path-of-object}
Limitations
gs
(Google Cloud Storage) works only in the presence of the files symbolizing permissionsinternal
andgs
types yield the best responses, since these are the services of Google Cloud or they have Google Cloud behind them.- the speed of the service depends on how much the system is in use, meaning that a continuously strained cloud (> 100 request/sec) produces smaller delay times 5-10 minutes later
- in the case of
youtube
, the best quality thumbnails are used - older videos may have thumbnails that are of worse quality - remote contents are not cached, but they’re rather downloaded at each referral - excluding CDN that contains and services the transformed images regardless of the ShardImage system
- facebook currently supports the display of public pages only, but not those of private users