Image API Compliance, Version 2.0.0

Status of this Document

This version: 2.0.0

Latest stable version: 3.0.0

Introduction

This document is a companion to the IIIF Image API Specification. It defines the set of supported parameters that correspond to different levels of compliance to the API.

Compliance

Three levels of compliance are defined. Level 0 is defined as the minimum set of supported parameters and features that must be implemented to qualify the service as compliant to the IIIF standard. Level 1 is defined as the recommended set of parameters and features to be implemented.

In the tables below “required” indicates that support is required, and “optional” indicates that support is optional.

Image Parameters

Region

Syntax Feature Name Level 0 Level 1 Level 2
full   required required required
x,y,w,h regionByPx optional required required
pct:x,y,w,h regionByPct optional optional required

Size

Syntax Feature Name Level 0 Level 1 Level 2
full   required required required
w,h sizeByWhListed required required required
w, sizeByW optional required required
,h sizeByH optional required required
pct:x sizeByPct optional required required
w,h sizeByForcedWh optional optional required
!w,h sizeByWh optional optional required
  sizeAboveFull optional optional optional

Rotation

Syntax Feature Name Level 0 Level 1 Level 2
0   required required required
90,180,270 rotationBy90s optional optional required
arbitrary rotationArbitrary optional optional optional
!n mirroring optional optional optional

Quality

Syntax Level 0 Level 1 Level 2
default required required required
color optional optional required (if applicable)
gray optional optional required (if applicable)
bitonal optional optional required

Format

Syntax Level 0 Level 1 Level 2
jpg required required required
png optional optional required
tif optional optional optional
gif optional optional optional
pdf optional optional optional
jp2 optional optional optional
webp optional optional optional

HTTP Features

HTTP Feature Feature Name Level 0 Level 1 Level 2
base URI redirects baseUriRedirect optional required required
CORS cors optional required required
json-ld media type jsonldMediaType optional required required
profile link header profileLinkHeader optional optional optional
canonical link header canonicalLinkHeader optional optional optional

Indicating Compliance

Servers may indicate compliance with by including a header in IIIF responses for images:

Link: <http://iiif.io/api/image/2/level1.json>;rel="profile"

The URIs for the the compliance levels are as follows:

Level URI
0 http://iiif.io/api/image/2/level0.json
1 http://iiif.io/api/image/2/level1.json
2 http://iiif.io/api/image/2/level2.json

A level 0 compliant image server may specify scaleFactors and/or width and height values for tiles in the Image Information response. At Level 0 compliance, a service is only required to deliver images of sizes computed using the scaling factors declared in the Image Information response. If specified they should be interpreted with the following special meanings:

  • scaleFactors - only the specified scaling factors are supported
  • width, height within tiles - clients should request only regions that correspond to output tiles of the specified dimensions

If a client requests a size or region outside these parameters then the image server may reject the request with an error.