IIIF Cookbook

The IIIF Presentation API specifies a standardized way to describe complex digital objects. The resource types and properties of the specification are the building blocks of interoperable representations, for rendering by viewers and other software clients. This cookbook gathers together many examples of these representations (usually IIIF Manifests), in order to:

  • provide many more examples than the specification alone can do, for reference and learning;
  • encourage publishers to adopt common patterns in modeling classes of complex objects;
  • enable client software developers to support these patterns, for consistency of user experience (when desirable);
  • demonstrate the applicability of IIIF to a broad range of use cases.

The issues of the Cookbook Recipes repository are used to identify and discuss cookbook recipes, prior to their inclusion in the final cookbook site.


Anyone is welcome to submit a recipe idea or work on implementing a recipe. Advice and support can be received from the IIIF Cookbook channel on the IIIF Slack. For detailed information on how to contribute please see the Cookbook process.

The Recipes

Building a manifest in stages, adding more complexity at each stage

The corresponding 2.1 test fixture(s) is given like this, where appropriate: ..(3,5)

Textual and other supplementary content

Other kinds of annotations

(leading on to segmentation examples later)

Internal structure

Higher-level structure

Segmentation and complex resources

  • Choice (simplest) (28)
  • Choice - multispectral flavored example, with image services (29)
  • foldouts, etc (Choice or non-paged interlude (flaps vs maps))?
  • [Multiple images (master/detail)][detail-image] (30,31)
  • Multiple images and multiple choices (32,33,34)
  • [Annotating part of an image to a Canvas][recipe-segment-image-part] (e.g., crop out scanner) (35,36,37,38)
  • Image with CSS Rotation (39)
  • Reusing an image service (ImageApiSelector) (41)
  • non-rectangular segmentation
  • temporal segmentation
  • Audio only from video (and other xxxContentSelector scenarios)
  • canvas on canvas (#1191)
  • CSS styling


  • alternative representations (rendering (?))
  • Homepage
  • Linking from Image API to Presentation API (via partOf as per #600, #1507)
  • Linking from Image API to external metadata
  • Linking from external metadata to Image API
  • Linking from external metadata to Presentation API
  • Linking between Presentation API representations
  • Linking to Structured Metadata (8)


  • extensions (18)
  • services (9,10)
  • Mixed version scenarios (Prezi 3+Image 2)
  • Publishing v2 and v3 versions

Real-world complex objects (ideally taken from actual collections)

  • An Image gallery
  • museum object (fwd ref to renderings)
  • A complex printed work with foldouts and choice
  • A music album’s audio resources
  • …and its image resoures
  • …combined to demonstrate together
  • Table of Contents for Multiple A/V files on a Single Canvas (64)
  • Table of Contents for Multiple A/V files on Multiple Canvases (65)
  • Adaptive bit rate AV examples
  • A field recording
  • A newspaper
  • Example with extensions and services
  • A manuscript with multiple orderings
  • a Sammelband
  • Archival collection (hierarchy, paging)
  • Thumbnail range for video navigation
  • Video with captions in multiple languages
  • Mixed Image Service references (a mashup, with img2 and img3 services)
  • Glenn Gould - score and performance scenarios (transcribing)
  • A Map

Access Control

this might be in a separate auth cookbook