Skip to content
Internet Archive IIIF Image 2.0 Server
JavaScript CSS HTML Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A simple Python Flask-based implementation of the IIIF Image API 1.0 standard


  • This started as a toy project to learn the IIIF API, so it is not necessarily ready for production, but may be some day.
  • It was also an opportunity to learn Flask, a micro-framework. I consciously chose to avoid adding too many abstractions, and attempted to stick to procedural code as much as possible.
  • It has a simple on-disk cache scheme, but no cache management.
    • If you want to delete the cache, purge the contents of the cache directory.
    • Cache does not currently check timestamps.
    • Cache can't be disabled yet.
  • It was a lot of fun, and does work, but is missing a lot of optimizations.
  • There are several sample files in the media directory - all but one are courtesy of the Getty's Open Content Program.

Installation & Setup

git clone
pip install .
cd iiify

Navigate to

Test it!

Retrieve large.jpg as 800px wide JPEG

Crop into large.jpg and return 800px wide JPEG

Mirror large.jpg horizontally and return 800px wide JPEG

For more information, read the specification at

You can’t perform that action at this time.