RESTful Image API Specification
This is a work in progress and it has a long ways to go. Please fork and contribute!
Click a filename above, then hit "Edit". When you're done, send a pull request. In the commit, please state that you are releasing your contributions into the public domain.
Home page: http://riapi.org/ Mailing list: https://groups.google.com/d/forum/riapi
On-demand, server-side, image scaling and modification, controlled via the query string.
It was invented in the 1990s, but was mostly exclusive to large corporations until 2003-2007, when affordable (but often slower) implementations started appearing, and even the cheapest hosting plans became capable of performing the task.
2011 saw explosive, exponential growth in the space, and the number of incompatible implementations has been doubling every 6 months. With the proliferation of mobile devices and high-dpi displays, it is becoming impractical to manually export all the required image variants.
A standardized URL syntax will:
It's not a spec yet, it's still being drafted. In fact, it's not even a draft yet. I'm probably still typing as you read this...
This document serves as the basis for Level 1 and Level 2, and covers the following topics.
Level 1 defines basic resizing commands for images:
Level 2 expands the command set to provide more control
Some image servers accept lists of commands and apply them in order. This places the mathematical burden on client, and often requires the client to have data it does not possess, like the original size of the image. We do not take this approach, although compliant implementations are permitted to accept command lists as well.
RIAPI attempts to be descriptive, informing the server of the desired result without prescribing the steps. This frees the server to compose operations for optimal performance. The order of commands in the querystring has no bearing on the order of operations.
Specification version identifiers have not yet been assigned, but if you want to link to a specific version of any file, you can click the
Historybutton while visiting the file, and click
Browse Sourceafterwards to get a permalink to that version. We take a 'release early, fix early' approach here, so spelling errors are not uncommon.